| 
									
										
										
										
											2021-11-25 14:17:02 -09:00
										 |  |  | <template> | 
					
						
							|  |  |  |   <div v-if="preferences"> | 
					
						
							| 
									
										
										
										
											2023-01-29 02:39:51 +01:00
										 |  |  |     <BaseCardSectionTitle :title="$tc('group.general-preferences')"></BaseCardSectionTitle> | 
					
						
							|  |  |  |     <v-checkbox v-model="preferences.privateGroup" class="mt-n4" :label="$t('group.private-group')"></v-checkbox> | 
					
						
							| 
									
										
										
										
											2021-11-25 14:17:02 -09:00
										 |  |  |     <v-select | 
					
						
							|  |  |  |       v-model="preferences.firstDayOfWeek" | 
					
						
							|  |  |  |       :prepend-icon="$globals.icons.calendarWeekBegin" | 
					
						
							|  |  |  |       :items="allDays" | 
					
						
							|  |  |  |       item-text="name" | 
					
						
							|  |  |  |       item-value="value" | 
					
						
							|  |  |  |       :label="$t('settings.first-day-of-week')" | 
					
						
							|  |  |  |     /> | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-01-29 02:39:51 +01:00
										 |  |  |     <BaseCardSectionTitle class="mt-5" :title="$tc('group.group-recipe-preferences')"></BaseCardSectionTitle> | 
					
						
							| 
									
										
										
										
											2021-11-25 14:17:02 -09:00
										 |  |  |     <template v-for="(_, key) in preferences"> | 
					
						
							|  |  |  |       <v-checkbox | 
					
						
							|  |  |  |         v-if="labels[key]" | 
					
						
							|  |  |  |         :key="key" | 
					
						
							|  |  |  |         v-model="preferences[key]" | 
					
						
							|  |  |  |         class="mt-n4" | 
					
						
							|  |  |  |         :label="labels[key]" | 
					
						
							|  |  |  |       ></v-checkbox> | 
					
						
							|  |  |  |     </template> | 
					
						
							|  |  |  |   </div> | 
					
						
							|  |  |  | </template> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <script lang="ts"> | 
					
						
							|  |  |  | import { defineComponent, computed, useContext } from "@nuxtjs/composition-api"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export default defineComponent({ | 
					
						
							|  |  |  |   props: { | 
					
						
							|  |  |  |     value: { | 
					
						
							|  |  |  |       type: Object, | 
					
						
							|  |  |  |       required: true, | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |   }, | 
					
						
							|  |  |  |   setup(props, context) { | 
					
						
							|  |  |  |     const { i18n } = useContext(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     const labels = { | 
					
						
							| 
									
										
										
										
											2023-01-29 02:39:51 +01:00
										 |  |  |       recipePublic: i18n.tc("group.allow-users-outside-of-your-group-to-see-your-recipes"), | 
					
						
							|  |  |  |       recipeShowNutrition: i18n.tc("group.show-nutrition-information"), | 
					
						
							|  |  |  |       recipeShowAssets: i18n.tc("group.show-recipe-assets"), | 
					
						
							|  |  |  |       recipeLandscapeView: i18n.tc("group.default-to-landscape-view"), | 
					
						
							|  |  |  |       recipeDisableComments: i18n.tc("group.disable-users-from-commenting-on-recipes"), | 
					
						
							|  |  |  |       recipeDisableAmount: i18n.tc("group.disable-organizing-recipe-ingredients-by-units-and-food"), | 
					
						
							| 
									
										
										
										
											2021-11-25 14:17:02 -09:00
										 |  |  |     }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     const allDays = [ | 
					
						
							|  |  |  |       { | 
					
						
							|  |  |  |         name: i18n.t("general.sunday"), | 
					
						
							|  |  |  |         value: 0, | 
					
						
							|  |  |  |       }, | 
					
						
							|  |  |  |       { | 
					
						
							|  |  |  |         name: i18n.t("general.monday"), | 
					
						
							|  |  |  |         value: 1, | 
					
						
							|  |  |  |       }, | 
					
						
							|  |  |  |       { | 
					
						
							|  |  |  |         name: i18n.t("general.tuesday"), | 
					
						
							|  |  |  |         value: 2, | 
					
						
							|  |  |  |       }, | 
					
						
							|  |  |  |       { | 
					
						
							|  |  |  |         name: i18n.t("general.wednesday"), | 
					
						
							|  |  |  |         value: 3, | 
					
						
							|  |  |  |       }, | 
					
						
							|  |  |  |       { | 
					
						
							|  |  |  |         name: i18n.t("general.thursday"), | 
					
						
							|  |  |  |         value: 4, | 
					
						
							|  |  |  |       }, | 
					
						
							|  |  |  |       { | 
					
						
							|  |  |  |         name: i18n.t("general.friday"), | 
					
						
							|  |  |  |         value: 5, | 
					
						
							|  |  |  |       }, | 
					
						
							|  |  |  |       { | 
					
						
							|  |  |  |         name: i18n.t("general.saturday"), | 
					
						
							|  |  |  |         value: 6, | 
					
						
							|  |  |  |       }, | 
					
						
							|  |  |  |     ]; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     const preferences = computed({ | 
					
						
							|  |  |  |       get() { | 
					
						
							|  |  |  |         return props.value; | 
					
						
							|  |  |  |       }, | 
					
						
							|  |  |  |       set(val) { | 
					
						
							|  |  |  |         context.emit("input", val); | 
					
						
							|  |  |  |       }, | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     return { | 
					
						
							|  |  |  |       allDays, | 
					
						
							|  |  |  |       labels, | 
					
						
							|  |  |  |       preferences, | 
					
						
							|  |  |  |     }; | 
					
						
							|  |  |  |   }, | 
					
						
							|  |  |  | }); | 
					
						
							|  |  |  | </script> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <style lang="scss" scoped> | 
					
						
							| 
									
										
										
										
											2023-01-29 02:39:51 +01:00
										 |  |  | </style> |