{"version":3,"file":"openingHours-CVvdiN7l.js","sources":["../../src/models/AppLocation.ts","../../src/components/modals/EatDialog.vue","../../src/layout/partials/FullPageDialog.vue","../../src/components/AllergenChip.vue","../../src/store/openingHours.ts"],"sourcesContent":["export interface OpeningHours {\n slots: Array<{\n from: string;\n to: string;\n }>;\n weekday: number;\n}\nexport interface ClosingDay {\n date: string;\n note?: string;\n}\nexport interface AppLocation {\n businessName: string;\n logoUrl?: string;\n address: string;\n city: string;\n province: string;\n zipCode: string;\n geo?: { lat: number; lon: number };\n email?: string;\n phone?: string;\n facebook?: string;\n instagram?: string;\n whatsapp?: string;\n description?: string;\n banner?: {\n image: string;\n link: string;\n };\n openingHours: Array;\n closingDays: Array;\n}\n\nexport function fullAddress(l: AppLocation) {\n return `${l.address}, ${l.zipCode}, ${l.city} (${l.province})`;\n}\n\nexport function shortAddress(l: AppLocation) {\n return `${l.address}, ${l.city}`;\n}\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n","import type { OpeningHours } from \"@/models/AppLocation\";\nimport { onMounted, ref } from \"vue\";\nimport { DateTime } from \"luxon\";\n\nexport default function useOpeningHours(rawOpeningHours: OpeningHours[] = []) {\n const openingHours = ref([]);\n const todaysOpeningHours = ref(\"\");\n const isLocationOpenToday = ref(false);\n\n const formatOpeningHours = (rawOpeningHours: OpeningHours) => {\n let formattedOpeningHours = \"\";\n if (rawOpeningHours && rawOpeningHours.slots && rawOpeningHours.slots.length) {\n rawOpeningHours.slots.forEach((slot, i) => {\n formattedOpeningHours += `${slot.from} - ${slot.to} ${\n rawOpeningHours.slots.length > 1 && i !== rawOpeningHours.slots.length - 1 ? \" | \" : \"\"\n }`;\n });\n }\n return formattedOpeningHours;\n };\n\n onMounted(() => {\n const todaysWeekDay = DateTime.now().weekday % 7;\n const rawTodaysOpeningHours = rawOpeningHours.find(day => day.weekday === todaysWeekDay);\n\n if (!rawOpeningHours?.length) isLocationOpenToday.value = false;\n else {\n if (rawTodaysOpeningHours?.slots?.length) {\n isLocationOpenToday.value = true;\n todaysOpeningHours.value = formatOpeningHours(rawTodaysOpeningHours);\n }\n openingHours.value = rawOpeningHours.map((day, i) => formatOpeningHours(day));\n //Sposto la domenica dal primo posto nell'array all'ultimo per allinearsi alle label che vanno da lunedì a domenica\n openingHours.value[openingHours.value.length] = openingHours.value[0];\n openingHours.value.splice(0, 1);\n }\n });\n\n return {\n openingHours,\n todaysOpeningHours,\n isLocationOpenToday\n };\n}\n"],"names":["rawOpeningHours"],"mappings":"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"}