{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/menu/assets/images/product-types/entrees.png","webpack:///./src/menu/assets/images/collections/origins/ab.svg","webpack:///./src/menu/assets/images/collections/origins/vbf.png","webpack:///./src/menu/assets/images/collections/origins/fraiche_et_francaise.png","webpack:///./src/menu/assets/images/product-types/desserts.png","webpack:///./src/articles/assets/images/bg/actu_defaut.jpg","webpack:///./src/core/assets/images/emojis/3.svg","webpack:///./src/menu/assets/images/product-types/boissons.png","webpack:///./src/menu/components/ProductCard.vue?5b83","webpack:///./src/menu/components/FilterDay.vue?c6c0","webpack:///./src/core/assets/images/logos/logo-dupont.svg","webpack:///./src/core/assets/images/bg/ok-form.svg","webpack:///./src/menu/assets/images/collections/allergenes/celeri.svg","webpack:///./src/menu/assets/images/collections/allergenes/poisson.svg","webpack:///./src/menu/assets/images/collections/origins/menu_plaisir.png","webpack:///./src/menu/assets/images/collections/allergenes sync ^\\.\\/.*$","webpack:///./src/articles/components/Posts.vue?be45","webpack:///./src/menu/assets/images/collections/allergenes/moutarde.svg","webpack:///./src/menu/assets/images/collections/nutriscore/v_4.svg","webpack:///./src/menu/assets/images/collections/nutriscore/v_5.svg","webpack:///./src/core/assets/images/bg/error-form.svg","webpack:///./src/articles/components/ModalPostDetail.vue?752e","webpack:///./src/core/assets/images/emojis/4.svg","webpack:///./src/menu/assets/images/collections/allergenes/arachides.svg","webpack:///./src/menu/assets/images/collections/origins/produit_labellise.svg","webpack:///./src/menu/assets/images/product-types sync ^\\.\\/.*$","webpack:///./src/menu/assets/images/collections/allergenes/soja.svg","webpack:///./src/menu/assets/images/product-types/laitages.png","webpack:///./src/menu/assets/images/product-types/cafeteria.png","webpack:///./src/core/components/AffluenceModal.vue?2838","webpack:///./src/menu/assets/images/collections/nutriscore sync ^\\.\\/.*$","webpack:///./src/menu/assets/images/collections/nutriscore/2.svg","webpack:///./src/core/assets/images/emojis/5.svg","webpack:///./src/feedback/assets/images/bg/comment.svg","webpack:///./src/menu/assets/images/product-types/fromages.png","webpack:///./src/menu/assets/images/collections/origins/recette_du_chef.png","webpack:///./src/core/assets/images/emojis/0.svg","webpack:///./src/core/assets/images/logos/logo-cuisine.svg","webpack:///./src/articles/components/News.vue?f5e9","webpack:///./src/menu/assets/images/collections/nutriscore/v_3.svg","webpack:///./src/menu/components/ModalProduct.vue?62a1","webpack:///./src/core/assets/images/emojis/6.svg","webpack:///./src/menu/assets/images/collections/allergenes/gluten.svg","webpack:///./src/core/assets/images/emojis/2.svg","webpack:///./src/menu/assets/images/product-types/formule.png","webpack:///./src/core/views/Cgu.vue?2983","webpack:///./src/menu/components/Menu.vue?20dd","webpack:///./src/menu/assets/images/collections/origins/veu.svg","webpack:///./src/menu/assets/images/collections/nutriscore/v_2.svg","webpack:///./src/menu/assets/images/collections/origins/cuisine_vapeur.png","webpack:///./src/menu/assets/images/collections/allergenes/lait.svg","webpack:///./src/menu/assets/images/collections/allergenes/sesame.svg","webpack:///./src/core/assets/images/emojis/1.svg","webpack:///./src/core/assets/images/emojis/9.svg","webpack:///./src/bookings/components/BookingForm.vue?f905","webpack:///./src/bookings/components/CancelBooking.vue?ddac","webpack:///./src/App.vue?a465","webpack:///./src/core/components/AppBar.vue?dca2","webpack:///./src/core/components/NoData.vue?b351","webpack:///./src/menu/assets/images/collections/nutriscore/5.svg","webpack:///./src/menu/assets/images/collections/allergenes/crustaces.svg","webpack:///./src/menu/assets/images/collections/origins/sans_gluten.png","webpack:///./src/menu/assets/images/collections/allergenes/fruits-a-coque.svg","webpack:///./src/core/assets/images/emojis/7.svg","webpack:///./src/menu/assets/images/collections/origins/menu_label.png","webpack:///./src/menu/assets/images/collections/origins/legumes_du_chef.png","webpack:///./src/menu/assets/images/collections/origins/show_cooking.png","webpack:///./src/menu/assets/images/product-types/casiers.png","webpack:///./src/menu/assets/images/collections/origins/egalim.svg","webpack:///./src/menu/assets/images/collections/origins/peche.png","webpack:///./src/menu/assets/images/collections/origins/vf.svg","webpack:///./src/menu/assets/images/collections/allergenes/lupin.svg","webpack:///./src/core/assets/images/emojis/8.svg","webpack:///./src/core/assets/images/bg/bg_home.jpg","webpack:///./src/menu/assets/images/collections/origins/vege.png","webpack:///./src/menu/assets/images/collections/allergenes/mollusques.svg","webpack:///./src/menu/assets/images/collections/origins/frais.png","webpack:///./src/menu/assets/images/collections/origins/sauce_du_chef.png","webpack:///./src/menu/assets/images/collections/allergenes/sulfite.svg","webpack:///./src/menu/assets/images/collections/origins sync ^\\.\\/.*$","webpack:///./src/feedback/views/Contact.vue?58b4","webpack:///./src/menu/assets/images/product-types/plats.png","webpack:///./src/menu/assets/images/collections/allergenes/oeuf.svg","webpack:///./src/core/assets/images/emojis sync ^\\.\\/.*$","webpack:///./src/menu/components/ListCards.vue?437c","webpack:///./src/menu/assets/images/collections/origins/saison.png","webpack:///./src/core/views/MentionsLegales.vue?0286","webpack:///./src/menu/assets/images/collections/origins/menu_malin.png","webpack:///./src/App.vue?2000","webpack:///./src/core/components/AppBar.vue?c4ce","webpack:///./src/core/components/AffluenceModal.vue?bd24","webpack:///./src/core/tools/date.tools.ts","webpack:///./src/core/tools/affluence.tools.ts","webpack:///./src/core/tools/phone.tools.ts","webpack:///./src/core/tools/index.ts","webpack:///./src/core/components/AffluenceModal.vue","webpack:///./src/core/components/AffluenceModal.vue?cb13","webpack:///./src/core/components/AffluenceModal.vue?b0bb","webpack:///./src/core/components/AppBar.vue","webpack:///./src/core/components/AppBar.vue?6fa6","webpack:///./src/core/components/AppBar.vue?c141","webpack:///./src/core/components/Footer.vue?4741","webpack:///./src/core/components/Footer.vue","webpack:///./src/core/components/Footer.vue?0b16","webpack:///./src/core/components/Footer.vue?062e","webpack:///./src/App.vue","webpack:///./src/App.vue?198c","webpack:///./src/App.vue?bb6c","webpack:///./src/site/constants/theme.ts","webpack:///./src/core/plugins/vuetify.ts","webpack:///./src/articles/components/News.vue?63d7","webpack:///./src/core/components/NoData.vue?5df9","webpack:///./src/core/components/NoData.vue","webpack:///./src/core/components/NoData.vue?48c3","webpack:///./src/core/components/NoData.vue?1b3d","webpack:///./src/articles/components/Posts.vue?9b03","webpack:///./src/articles/components/ModalPostDetail.vue?2da1","webpack:///./src/articles/components/ModalPostDetail.vue","webpack:///./src/articles/components/ModalPostDetail.vue?9db4","webpack:///./src/articles/components/ModalPostDetail.vue?3168","webpack:///./src/articles/components/Posts.vue","webpack:///./src/articles/components/Posts.vue?1710","webpack:///./src/articles/components/Posts.vue?751f","webpack:///./src/articles/components/News.vue","webpack:///./src/articles/components/News.vue?37ee","webpack:///./src/articles/components/News.vue?912a","webpack:///./src/articles/router.ts","webpack:///./src/menu/constants/enums.ts","webpack:///./src/core/tools/axios.ts","webpack:///./src/articles/services/ArticleService.ts","webpack:///./src/articles/store/actions.ts","webpack:///./src/articles/store/getters.ts","webpack:///./src/articles/store/mutations.ts","webpack:///./src/articles/store/state.ts","webpack:///./src/articles/store/index.ts","webpack:///./src/bookings/services/BookingService.ts","webpack:///./src/bookings/store/actions.ts","webpack:///./src/bookings/store/getters.ts","webpack:///./src/bookings/store/mutations.ts","webpack:///./src/bookings/store/state.ts","webpack:///./src/bookings/store/index.ts","webpack:///./src/feedback/services/FeedbackService.ts","webpack:///./src/feedback/store/actions.ts","webpack:///./src/feedback/store/getters.ts","webpack:///./src/feedback/store/mutations.ts","webpack:///./src/feedback/store/state.ts","webpack:///./src/feedback/store/index.ts","webpack:///./src/menu/services/MenuService.ts","webpack:///./src/menu/store/actions.ts","webpack:///./src/menu/constants/collections.ts","webpack:///./src/menu/tools/date.tools.ts","webpack:///./src/menu/tools/price.tools.ts","webpack:///./src/menu/tools/product.tools.ts","webpack:///./src/menu/tools/service.tools.ts","webpack:///./src/menu/store/getters.ts","webpack:///./src/menu/store/mutations.ts","webpack:///./src/menu/store/state.ts","webpack:///./src/menu/store/index.ts","webpack:///./src/site/services/SiteService.ts","webpack:///./src/site/store/actions.ts","webpack:///./src/site/store/getters.ts","webpack:///./src/site/store/mutations.ts","webpack:///./src/site/store/state.ts","webpack:///./src/site/store/index.ts","webpack:///./src/core/store.ts","webpack:///./src/bookings/components/BookingForm.vue?65eb","webpack:///./src/bookings/tools/booking.tools.ts","webpack:///./src/bookings/components/BookingForm.vue","webpack:///./src/bookings/components/BookingForm.vue?70ba","webpack:///./src/bookings/components/BookingForm.vue?96a2","webpack:///./src/bookings/components/CancelBooking.vue?7f21","webpack:///./src/bookings/components/CancelBooking.vue","webpack:///./src/bookings/components/CancelBooking.vue?7703","webpack:///./src/bookings/components/CancelBooking.vue?3763","webpack:///./src/bookings/router.ts","webpack:///./src/feedback/views/Contact.vue?6d20","webpack:///./src/feedback/constants/collections.ts","webpack:///./src/feedback/views/Contact.vue","webpack:///./src/feedback/views/Contact.vue?2c49","webpack:///./src/feedback/views/Contact.vue?9a04","webpack:///./src/feedback/router.ts","webpack:///./src/menu/components/Menu.vue?7397","webpack:///./src/menu/components/FilterDay.vue?9386","webpack:///./src/menu/components/FilterDay.vue","webpack:///./src/menu/components/FilterDay.vue?8eac","webpack:///./src/menu/components/FilterDay.vue?ab23","webpack:///./src/menu/components/ListCards.vue?ba31","webpack:///./src/menu/components/ModalFormule.vue?4194","webpack:///./src/menu/components/ModalFormule.vue","webpack:///./src/menu/components/ModalFormule.vue?c74b","webpack:///./src/menu/components/ModalFormule.vue?d529","webpack:///./src/menu/components/ModalProduct.vue?feb2","webpack:///./src/menu/components/BaseProduct.vue","webpack:///./src/menu/components/BaseProduct.vue?152e","webpack:///./src/menu/components/BaseProduct.vue?ef29","webpack:///./src/menu/components/ModalProduct.vue","webpack:///./src/menu/components/ModalProduct.vue?cb8f","webpack:///./src/menu/components/ModalProduct.vue?2731","webpack:///./src/menu/components/ProductCard.vue?71e2","webpack:///./src/feedback/components/ModalComment.vue?cc7d","webpack:///./src/feedback/components/ModalComment.vue","webpack:///./src/feedback/components/ModalComment.vue?b7bd","webpack:///./src/feedback/components/ModalComment.vue?d8fe","webpack:///./src/menu/components/ProductCard.vue","webpack:///./src/menu/components/ProductCard.vue?ee46","webpack:///./src/menu/components/ProductCard.vue?4151","webpack:///./src/menu/components/ListCards.vue","webpack:///./src/menu/components/ListCards.vue?2dfc","webpack:///./src/menu/components/ListCards.vue?a35e","webpack:///./src/menu/components/Menu.vue","webpack:///./src/menu/components/Menu.vue?c60e","webpack:///./src/menu/components/Menu.vue?2559","webpack:///./src/menu/router.ts","webpack:///./src/core/views/Cgu.vue?cbd7","webpack:///./src/core/views/Cgu.vue","webpack:///./src/core/views/Cgu.vue?e0a9","webpack:///./src/core/views/Cgu.vue?5b81","webpack:///./src/core/views/Home.vue?2cb4","webpack:///./src/core/views/Home.vue","webpack:///./src/core/views/Home.vue?7e31","webpack:///./src/core/views/Home.vue?8b7f","webpack:///./src/core/views/MentionsLegales.vue?5197","webpack:///./src/core/views/MentionsLegales.vue","webpack:///./src/core/views/MentionsLegales.vue?fff8","webpack:///./src/core/views/MentionsLegales.vue?5480","webpack:///./src/core/views/PageNotFound.vue?181c","webpack:///./src/core/views/PageNotFound.vue","webpack:///./src/core/views/PageNotFound.vue?7bfb","webpack:///./src/core/views/PageNotFound.vue?e1eb","webpack:///./src/core/router.ts","webpack:///./src/main.ts","webpack:///./src/feedback/components/ModalComment.vue?988c","webpack:///./src/menu/assets/images/collections/origins/plat_du_jour.png","webpack:///./src/menu/assets/images/collections/nutriscore/3.svg","webpack:///./src/menu/assets/images/collections/nutriscore/4.svg","webpack:///./src/menu/assets/images/collections/origins/patisserie_du_chef.png","webpack:///./src/menu/assets/images/collections/origins/local.png","webpack:///./src/core/assets/images/emojis/10.svg","webpack:///./src/menu/assets/images/collections/nutriscore/v_1.svg","webpack:///./src/menu/assets/images/collections/nutriscore/1.svg","webpack:///./src/menu/assets/images/collections/origins/equilibre.png","webpack:///./src/core/assets/images/404.svg","webpack:///./src/core/views/Home.vue?bb56","webpack:///./src/menu/assets/images/collections/origins/anti_gaspi.svg","webpack:///./src/menu/components/ModalFormule.vue?88a6"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","map","webpackContext","req","id","webpackContextResolve","e","Error","code","keys","resolve","_vm","this","_h","$createElement","_c","_self","$route","staticClass","_e","loading","attrs","$vuetify","breakpoint","staticRenderFns","class","home","logo2","isDemo","logo","directives","rawName","expression","params","slug","_v","_l","services","concat","onlineServices","service","link","on","$event","selectService","_s","title","enableAffluence","customerId","scopedSlots","_u","fn","ref","_g","_b","model","callback","$$v","affluenceDialog","$emit","affluenceZones","affluenceResponse","day","weekDay","selectedDay","selectedZone","isDirect","currentStep","formatLabel","label","staticStyle","options","chartData","today","getDay","currentDay","DAYS","spacetimeFr","days","long","short","months","tzParis","formatShortDate","date","dateSpace","i18n","format","toString","formatDate","formatTime","goto","isEqualDate","isSame","isToday","now","isBeforeDate","isBefore","setHoursAndMinutes","hour","tz","isDST","timezone","current","subHour","dateSp","parseInt","split","minute","second","millisecond","setLabel","setLabels","response","index","start","isCurrentStep","end","sStart","sEnd","isAfter","setPeople","Date","people","Math","round","avg","setPeopleIn","peopleIn","avgIn","phoneNumber","countryCode","pn","isPossible","isValid","isMobile","type","getNumber","number","trim","replace","SITEKEY","responsive","maintainAspectRatio","labels","undefined","datasets","isRefreshed","currentZone","setInterval","getMinutes","getAffluenceResponse","barChartRef","setChartData","chartInstance","update","getAffluence","zone","restaurant","affluenceTZ","setOptions","setMessage","filter","setTimeout","setDate","getDate","plugins","legend","display","position","scales","x","grid","drawOnChartArea","offset","tickLength","ticks","padding","y","min","max","drawTicks","drawBorder","onClick","_","elements","dataset","findIndex","backgroundColor","__","theme","themes","light","affluenceDirect","affluenceAvg","barThickness","filterSteps","namespace","components","BarChart","component","VBtn","VCard","VContainer","VExpandTransition","VIcon","VSelect","VSheet","links","badgeUrl","show","roomServiceUrl","clickAndCollectUrl","setServices","setLinks","hasArticles","isBookingActivated","enableContact","$router","AffluenceModal","VAppBar","VDialog","VImg","VList","VListItem","VListItemGroup","VListItemTitle","VMenu","VSpacer","VFooter","VRow","siteName","document","forEach","error","AppBar","Footer","VApp","VMain","VOverlay","VProgressCircular","THEME","primary","secondary","accent","info","success","warning","anchor","use","customProperties","typeData","Boolean","String","article","xsOnly","back","stopPropagation","updateRoute","image","youtubeUrl","getThumbnail","strippedHtml","isClosed","getYouTubeId","enablejsapi","onPlayerReady","domProps","body","dialog","ytbRegex","newHash","oldHash","closeModal","open","arr","event","playerInstance","target","stopVideo","VueTube","VCardSubtitle","VCardTitle","ModalPostDetail","VCol","Posts","NoData","PRODUCT_TYPE","SERVICE_TYPE","articleRoutes","path","meta","baseURL","getTime","actions","getArticles","commit","then","root","getters","articles","state","mutations","SET_ARTICLES","namespaced","booking","post","delete","sendBooking","createBooking","message","catch","finally","countBookings","getBooking","cancelBooking","status","statusText","reset","bookingConfig","errorMessage","currentBooking","SET_CURRENT_BOOKING","SET_CONFIG","SET_COUNT_BOOKINGS","SET_ERROR","SET_ERROR_MESSAGE","SET_LOADING","SET_RESPONSE","formContact","feedbackProduct","sendFeedback","feedbackContact","sendFeedbackProduct","setFeedBackProduct","feedBackProduct","setFeedBackProductsCompleted","feedBackProductCompleted","feedBackProductsCompleted","SET_FEEDBACK_PRODUCT","SET_FEEDBACK_PRODUCTS_COMPLETED","feedback","getListMenus","setUTCHours","menus","a","getCurrentMenu","sort","b","_id","getMenu","updateDay","updateService","resetError","ALLERGENES","fileName","ORIGINES","PRODUCT_TYPES","ENT","PLA","DES","FRO","LAI","BOI","SNA","FOR","LOC","NUTRISCORE","fileNameVertical","reduceDays","reduce","menu","find","toLocalDate","toISOString","formattedShortDate","endAt","endHour","setHours","formatPrice","parseFloat","Number","isNaN","string","toFixed","parts","int","decimals","productsByTypeProduct","products","typeProduct","product","filterAllergenes","allergenes","localAllergene","some","allergene","filterOrigines","origines","localOrigine","origine","filterType","productType","filterTypesProduct","hasMenus","menuFiltred","serviceCode","getMenuId","foundMenu","filterNutriscore","nustriscoreProduct","isVertical","nutriscore","isBeforeService","startAt","nextStartAt","isNextDayService","isNextServiceAvailable","isActivatedComment","currentMenu","selectedService","formulaZones","zones","formula","formulaPrice","zoneCode","price","formulaProducts","hasProducts","loadingMenu","SET_CURRENT_MENU","foundService","SET_SERVICE","SET_DAY","SET_DAYS","SET_LOADING_MENU","SET_MENUS","SET_SERVICES","SET_ZONES","affluenceParams","getSite","favicon","motd","enableFeedback","getSiteByCustomerId","console","resetAffluence","ui","SET_AFFLUENCE_RESPONSE","SET_AFFLUENCE_TZ","SET_AFFLUENCE_ZONES","SET_CUSTOMER_ID","SET_ENABLE_AFFLUENCE","SET_ENABLE_CONTACT","SET_ENABLE_FEEDBACK","SET_IS_BOOKING_ACTIVATED","SET_IS_DEMO","SET_LINKS","SET_MOTD","SET_NAME","SET_SLUG","SET_UI","site","store","Store","stepReservation","stepPanel","form","getFormatDate","allowedDates","selectedDate","slot","active","startTime","onAvailableSlot","onSelectSlot","endTime","seats","$v","$touch","$set","_n","isIncrementActive","increment","isDecrementActive","decrement","$dirty","selectedSlot","seatsThreshold","updateStep","preventDefault","submitForm","valid","nameErrors","lastName","firstName","emailErrors","email","mobileErrors","mobile","v","smAndDown","resetForm","isClosedDay","workingDays","workingDay","wd","enable","isClosedDate","closedDates","isBetween","from","to","add","onBookableDays","bookableDays","since","diff","isAvailableSlot","isAvailableSeats","slotSeats","foundDate","countBooking","countSeats","formatBookingDate","comment","getCountBookings","prop","errors","required","$model","$reset","mixins","validations","mobileNumber","minValue","VBtnToggle","VDatePicker","VDivider","VExpansionPanel","VExpansionPanelContent","VExpansionPanelHeader","VExpansionPanels","VForm","VTextField","VTextarea","VWindow","VWindowItem","getFormatTime","onCancelBooking","goBooking","bookingRoutes","beforeEnter","next","dispatch","company","badgeIdErrors","badgeId","getEmoji","note","color","updateNote","siteKey","verifyReCaptcha","reCaptchaToken","goHome","NOTES","selectedNote","$store","route","sides","alphaNum","token","VueRecaptcha","VSlider","feedbackRoutes","storedDay","style","width","storedService","FiveService","_m","hasProductsTypes","hasProductsFormulas","productTypes","selectedProductType","scrollToProductType","productsTypes","handleScroll","refInFor","openActivatedComment","hover","getPrice","toLowerCase","getAllergenes","getOrigines","allergens","origins","initFormula","VHover","getType","getNutriscore","hash","VChip","isCompletedFeedback","rating","redirectToForm","initFeedBackProduct","dbSourceId","VCheckbox","VRating","ModalComment","ModalProduct","selectedProductTypeName","updateProductTypes","addEventListener","removeEventListener","element","$refs","scrollTo","left","top","offsetTop","behavior","scrollY","ModalProductDetail","ProductCard","ModalFormule","VChipGroup","VSkeletonLoader","FilterDay","ListCards","menuRoutes","click","icon","titleEn","Menu","VCardText","routes","redirect","router","base","beforeEach","app","register","config","productionTip","vuetify","render","h","$mount"],"mappings":"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","file":"js/app.73e63137.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","module.exports = __webpack_public_path__ + \"img/entrees.82b6932d.png\";","module.exports = __webpack_public_path__ + \"img/ab.4e7d2fc3.svg\";","module.exports = __webpack_public_path__ + \"img/vbf.a75ea1b2.png\";","module.exports = __webpack_public_path__ + \"img/fraiche_et_francaise.ec47e99b.png\";","module.exports = __webpack_public_path__ + \"img/desserts.2cdbe07b.png\";","module.exports = __webpack_public_path__ + \"img/actu_defaut.cf51baec.jpg\";","module.exports = __webpack_public_path__ + \"img/3.38af2f3a.svg\";","module.exports = __webpack_public_path__ + \"img/boissons.3850abc5.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductCard.vue?vue&type=style&index=0&id=43dcb68c&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilterDay.vue?vue&type=style&index=0&id=88fafa26&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/logo-dupont.da5a5cc3.svg\";","module.exports = __webpack_public_path__ + \"img/ok-form.7b31ccc8.svg\";","module.exports = __webpack_public_path__ + \"img/celeri.8cceb91a.svg\";","module.exports = __webpack_public_path__ + \"img/poisson.ca241884.svg\";","module.exports = __webpack_public_path__ + \"img/menu_plaisir.b14f266e.png\";","var map = {\n\t\"./arachides.svg\": \"33ae\",\n\t\"./celeri.svg\": \"1d2a\",\n\t\"./crustaces.svg\": \"85fa\",\n\t\"./fruits-a-coque.svg\": \"8859\",\n\t\"./gluten.svg\": \"61ad\",\n\t\"./lait.svg\": \"73fe\",\n\t\"./lupin.svg\": \"a2a7\",\n\t\"./mollusques.svg\": \"af39\",\n\t\"./moutarde.svg\": \"2514\",\n\t\"./oeuf.svg\": \"b866\",\n\t\"./poisson.svg\": \"1d65\",\n\t\"./sesame.svg\": \"746c\",\n\t\"./soja.svg\": \"39ef\",\n\t\"./sulfite.svg\": \"b173\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"2412\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Posts.vue?vue&type=style&index=0&id=183c94bb&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/moutarde.febf4880.svg\";","module.exports = __webpack_public_path__ + \"img/v_4.1da6e957.svg\";","module.exports = __webpack_public_path__ + \"img/v_5.e1cc8346.svg\";","module.exports = __webpack_public_path__ + \"img/error-form.1a2c604b.svg\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalPostDetail.vue?vue&type=style&index=0&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/4.ef151c93.svg\";","module.exports = __webpack_public_path__ + \"img/arachides.63a3f66a.svg\";","module.exports = __webpack_public_path__ + \"img/produit_labellise.cab53702.svg\";","var map = {\n\t\"./boissons.png\": \"1511\",\n\t\"./cafeteria.png\": \"40c6\",\n\t\"./casiers.png\": \"8c3d\",\n\t\"./desserts.png\": \"111d\",\n\t\"./entrees.png\": \"01ad\",\n\t\"./formule.png\": \"651e\",\n\t\"./fromages.png\": \"4a9b\",\n\t\"./laitages.png\": \"3d4a\",\n\t\"./plats.png\": \"b466\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"384d\";","module.exports = __webpack_public_path__ + \"img/soja.db3cf274.svg\";","module.exports = __webpack_public_path__ + \"img/laitages.5faaad99.png\";","module.exports = __webpack_public_path__ + \"img/cafeteria.88da873b.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AffluenceModal.vue?vue&type=style&index=0&id=6b09de86&scoped=true&lang=scss&\"","var map = {\n\t\"./1.svg\": \"ecd6\",\n\t\"./2.svg\": \"46b0\",\n\t\"./3.svg\": \"d702\",\n\t\"./4.svg\": \"de5f\",\n\t\"./5.svg\": \"84e8\",\n\t\"./v_1.svg\": \"eba4\",\n\t\"./v_2.svg\": \"705b\",\n\t\"./v_3.svg\": \"57cf\",\n\t\"./v_4.svg\": \"251d\",\n\t\"./v_5.svg\": \"265a\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"44fd\";","module.exports = __webpack_public_path__ + \"img/2.e7c66fe0.svg\";","module.exports = __webpack_public_path__ + \"img/5.33ebade3.svg\";","module.exports = __webpack_public_path__ + \"img/comment.d4d9c799.svg\";","module.exports = __webpack_public_path__ + \"img/fromages.ac12b446.png\";","module.exports = __webpack_public_path__ + \"img/recette_du_chef.2d6df344.png\";","module.exports = __webpack_public_path__ + \"img/0.6457aabb.svg\";","module.exports = __webpack_public_path__ + \"img/logo-cuisine.40965490.svg\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./News.vue?vue&type=style&index=0&id=a5003c68&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/v_3.90541dd9.svg\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalProduct.vue?vue&type=style&index=0&id=022fa3d5&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/6.1d028856.svg\";","module.exports = __webpack_public_path__ + \"img/gluten.e8577858.svg\";","module.exports = __webpack_public_path__ + \"img/2.74fe1fe9.svg\";","module.exports = __webpack_public_path__ + \"img/formule.07aa0c47.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Cgu.vue?vue&type=style&index=0&id=1f040711&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Menu.vue?vue&type=style&index=0&id=6542739e&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/veu.28b06593.svg\";","module.exports = __webpack_public_path__ + \"img/v_2.648829e5.svg\";","module.exports = __webpack_public_path__ + \"img/cuisine_vapeur.6cd57811.png\";","module.exports = __webpack_public_path__ + \"img/lait.3d5b755e.svg\";","module.exports = __webpack_public_path__ + \"img/sesame.918f5dcb.svg\";","module.exports = __webpack_public_path__ + \"img/1.46313b2b.svg\";","module.exports = __webpack_public_path__ + \"img/9.7c52a05b.svg\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BookingForm.vue?vue&type=style&index=0&id=554b119c&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CancelBooking.vue?vue&type=style&index=0&id=67e55d6c&scoped=true&lang=scss&\"","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=0b4f4ed9&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppBar.vue?vue&type=style&index=0&id=09a89029&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NoData.vue?vue&type=style&index=0&id=a6054d00&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/5.4f3a2f3e.svg\";","module.exports = __webpack_public_path__ + \"img/crustaces.baf61deb.svg\";","module.exports = __webpack_public_path__ + \"img/sans_gluten.f32719b9.png\";","module.exports = __webpack_public_path__ + \"img/fruits-a-coque.6c9e45b9.svg\";","module.exports = __webpack_public_path__ + \"img/7.1838a1be.svg\";","module.exports = __webpack_public_path__ + \"img/menu_label.68a51f8b.png\";","module.exports = __webpack_public_path__ + \"img/legumes_du_chef.560b29df.png\";","module.exports = __webpack_public_path__ + \"img/show_cooking.ec72034d.png\";","module.exports = __webpack_public_path__ + \"img/casiers.b25cdd71.png\";","module.exports = __webpack_public_path__ + \"img/egalim.fc7d11be.svg\";","module.exports = __webpack_public_path__ + \"img/peche.eb5c320f.png\";","module.exports = __webpack_public_path__ + \"img/vf.9c686e1a.svg\";","module.exports = __webpack_public_path__ + \"img/lupin.bfb5f7d5.svg\";","module.exports = __webpack_public_path__ + \"img/8.88e72b76.svg\";","module.exports = __webpack_public_path__ + \"img/bg_home.b950ae44.jpg\";","module.exports = __webpack_public_path__ + \"img/vege.8de700be.png\";","module.exports = __webpack_public_path__ + \"img/mollusques.50f7df8e.svg\";","module.exports = __webpack_public_path__ + \"img/frais.7ae0abe0.png\";","module.exports = __webpack_public_path__ + \"img/sauce_du_chef.0d9793e3.png\";","module.exports = __webpack_public_path__ + \"img/sulfite.aa784f7e.svg\";","var map = {\n\t\"./ab.svg\": \"0951\",\n\t\"./anti_gaspi.svg\": \"fda2\",\n\t\"./cuisine_vapeur.png\": \"714c\",\n\t\"./egalim.svg\": \"8db7\",\n\t\"./equilibre.png\": \"f100\",\n\t\"./fraiche_et_francaise.png\": \"10cb\",\n\t\"./frais.png\": \"b0d2\",\n\t\"./legumes_du_chef.png\": \"8abb\",\n\t\"./local.png\": \"e303\",\n\t\"./menu_label.png\": \"8a3d\",\n\t\"./menu_malin.png\": \"c5b5\",\n\t\"./menu_plaisir.png\": \"234a\",\n\t\"./patisserie_du_chef.png\": \"df47\",\n\t\"./peche.png\": \"972b\",\n\t\"./plat_du_jour.png\": \"d469\",\n\t\"./produit_labellise.svg\": \"37a9\",\n\t\"./recette_du_chef.png\": \"4d8e\",\n\t\"./saison.png\": \"bde6\",\n\t\"./sans_gluten.png\": \"867c\",\n\t\"./sauce_du_chef.png\": \"b15f\",\n\t\"./show_cooking.png\": \"8b29\",\n\t\"./vbf.png\": \"0d35\",\n\t\"./vege.png\": \"a58a\",\n\t\"./veu.svg\": \"6e79\",\n\t\"./vf.svg\": \"9bbb\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"b3db\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Contact.vue?vue&type=style&index=0&id=276833fc&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/plats.a68a87e3.png\";","module.exports = __webpack_public_path__ + \"img/oeuf.09cc4d72.svg\";","var map = {\n\t\"./0.svg\": \"50e0\",\n\t\"./1.svg\": \"74f8\",\n\t\"./10.svg\": \"e8fa\",\n\t\"./2.svg\": \"6451\",\n\t\"./3.svg\": \"1229\",\n\t\"./4.svg\": \"3121\",\n\t\"./5.svg\": \"46c5\",\n\t\"./6.svg\": \"5df8\",\n\t\"./7.svg\": \"8904\",\n\t\"./8.svg\": \"a300\",\n\t\"./9.svg\": \"79ce\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"b8f5\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListCards.vue?vue&type=style&index=0&id=49b13ec0&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/saison.2208da56.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MentionsLegales.vue?vue&type=style&index=0&id=593e4d3b&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/menu_malin.a153fc47.png\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app',[(_vm.$route.name !== 'notFound')?_c('AppBar',{staticClass:\"AppBar\"}):_vm._e(),(!_vm.loading)?_c('v-main',{staticClass:\"pr-lg-0\"},[_c('v-container',{staticClass:\"mb-5\",attrs:{\"fluid\":\"\"}},[(_vm.$vuetify.breakpoint.smAndDown)?_c('transition',{attrs:{\"name\":\"app\",\"mode\":\"out-in\"}},[_c('router-view')],1):_c('router-view')],1)],1):_c('div',[_c('v-overlay',[_c('v-progress-circular',{attrs:{\"color\":\"primary\",\"indeterminate\":\"\",\"size\":\"64\",\"width\":\"5\"}})],1)],1),(_vm.$route.name !== 'notFound')?_c('Footer'):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.$vuetify.breakpoint.smAndDown)?_c('v-app-bar',{attrs:{\"color\":\"white\",\"height\":\"70\"}},[_c('v-container',{staticClass:\"pa-0 fill-height\",class:{home: _vm.$route.name === 'home'}},[(_vm.$route.name === 'home')?_c('v-spacer'):_vm._e(),_c('transition',{attrs:{\"name\":\"app-bar\",\"appear\":\"\"}},[_c('div',{staticClass:\"d-flex align-center\"},[(!_vm.logo2 && !_vm.isDemo)?_c('v-img',{staticClass:\"Header__logo shrink mr-2\",attrs:{\"contain\":\"\",\"src\":require('../assets/images/logos/logo-cuisine.svg'),\"transition\":\"scale-transition\",\"width\":\"75\",\"height\":\"65\"}}):_vm._e(),_c('v-img',{staticClass:\"Header__logo shrink mr-2\",attrs:{\"contain\":\"\",\"src\":_vm.logo || require('../assets/images/logos/logo-dupont.svg'),\"transition\":\"scale-transition\",\"width\":\"75\",\"height\":\"65\"}}),(_vm.logo2)?_c('v-img',{staticClass:\"Header__logo shrink mr-2\",attrs:{\"contain\":\"\",\"src\":_vm.logo2,\"transition\":\"scale-transition\",\"width\":\"75\",\"height\":\"65\"}}):_vm._e()],1)]),_c('v-spacer'),_c('transition',{attrs:{\"name\":\"app-bar\"}},[_c('v-btn',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.$route.name !== 'home'),expression:\"$route.name !== 'home'\"}],staticClass:\"text-none caption\",attrs:{\"elevation\":\"0\",\"rounded\":\"\",\"color\":\"secondary\",\"to\":{name: 'home', params: {slug: _vm.$route.params.slug}},\"exact\":\"\"}},[_vm._v(\" Accueil\")])],1)],1)],1):_c('v-app-bar',{attrs:{\"color\":\"white\",\"height\":\"70\",\"app\":\"\"}},[_c('v-container',{staticClass:\"pa-0 fill-height\"},[_c('div',{staticClass:\"d-flex align-center\"},[(!_vm.logo2 && !_vm.isDemo)?_c('v-img',{staticClass:\"Header__logo shrink mr-2\",attrs:{\"contain\":\"\",\"src\":require('../assets/images/logos/logo-cuisine.svg'),\"transition\":\"scale-transition\",\"width\":\"75\",\"height\":\"65\"}}):_vm._e(),_c('v-img',{staticClass:\"Header__logo shrink mr-2\",attrs:{\"contain\":\"\",\"src\":_vm.logo || require('../assets/images/logos/logo-dupont.svg'),\"transition\":\"scale-transition\",\"width\":\"75\",\"height\":\"65\"}}),(_vm.logo2)?_c('v-img',{staticClass:\"Header__logo shrink mr-2\",attrs:{\"contain\":\"\",\"src\":_vm.logo2,\"transition\":\"scale-transition\",\"width\":\"75\",\"height\":\"65\"}}):_vm._e()],1),_c('v-spacer'),_vm._l((_vm.services.concat(_vm.onlineServices).slice(0, 4)),function(service){return _c('div',{key:service.name,staticClass:\"d-flex align-center pl-2\"},[_c('v-btn',{staticClass:\"mr-2\",attrs:{\"href\":service.link || '',\"target\":\"_blank\",\"exact\":\"\",\"text\":\"\",\"rounded\":\"\",\"active-class\":\"primary\",\"ripple\":false,\"input-value\":_vm.$route.name === service.name || (service.name === 'menu' && _vm.$route.name === 'home')},on:{\"click\":function($event){service.name\n ? _vm.selectService({name: service.name, params: {id: _vm.$route.params.slug}})\n : ''}}},[_c('span',[_vm._v(_vm._s(service.title || service.name))])])],1)}),_c('div',{staticClass:\"d-flex align-center\"},[(_vm.enableAffluence && _vm.customerId)?_c('v-dialog',{attrs:{\"max-width\":\"700px\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\n var attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({attrs:{\"text\":\"\",\"rounded\":\"\",\"active-class\":\"primary\",\"ripple\":false}},'v-btn',attrs,false),on),[_vm._v(\" Affluence \")])]}}],null,false,362325064),model:{value:(_vm.affluenceDialog),callback:function ($$v) {_vm.affluenceDialog=$$v},expression:\"affluenceDialog\"}},[_c('AffluenceModal',{on:{\"closeModal\":function($event){_vm.affluenceDialog = false}}})],1):_vm._e()],1),(_vm.services.concat(_vm.onlineServices).length > 4)?_c('v-menu',{attrs:{\"bottom\":\"\",\"left\":\"\",\"color\":\"white\",\"close-on-content-click\":false,\"transition\":\"scale-transition\",\"offset-y\":\"\",\"z-index\":100},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\n var attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({attrs:{\"icon\":\"\"}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-dots-grid\")])],1)]}}],null,false,2200760892)},[_c('v-list',{attrs:{\"color\":\"white\"}},[_c('v-list-item-group',{attrs:{\"color\":\"primary\"}},_vm._l((_vm.services.concat(_vm.onlineServices).slice(4)),function(service,i){return _c('v-list-item',{key:i,attrs:{\"href\":service.link,\"target\":\"_blank\"}},[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(service.title)+\" \")])],1)}),1)],1)],1):_vm._e()],2)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-sheet',{staticClass:\"affluence__card\",attrs:{\"color\":\"background\"}},[_c('v-container',{staticClass:\"pa-0 relative affluence d-flex flex-column primary\"},[_c('div',{staticClass:\"affluence__hero--background flex-grow-0\"}),_c('div',{staticClass:\"affluence__hero white--text primary flex-grow-0\"},[_c('div',{staticClass:\"d-flex justify-end my-8 mr-1 pr-4\"},[_c('v-btn',{attrs:{\"color\":\"white\",\"small\":\"\",\"height\":\"36\",\"width\":\"36\",\"min-width\":\"36\",\"right\":\"\",\"depressed\":\"\"},on:{\"click\":function($event){return _vm.$emit('closeModal')}}},[_c('v-icon',{attrs:{\"medium\":\"\"}},[_vm._v(\" mdi-close \")])],1)],1)]),_c('div',{staticClass:\"primary flex-grow-0\"},[_c('h5',{staticClass:\"text-h5 white--text pa-4 relative\"},[_vm._v(\"Affluence\")]),_c('div',{staticClass:\"caption white--text pa-3 pt-0 relative\"},[_c('p',[_vm._v(\" Consultez l’affluence de votre restaurant pour trouver le meilleur horaire pour venir manger. \")])])]),_c('v-sheet',{staticClass:\"relative flex-grow-1 d-flex flex-column\",attrs:{\"color\":\"background\"}},[(_vm.affluenceZones.length && _vm.affluenceResponse.length)?_c('v-card',{staticClass:\"pa-0 white d-flex flex-grow-1\",attrs:{\"color\":\"white\",\"flat\":\"\"}},[_c('v-sheet',{staticClass:\"pa-4 d-flex flex-column flex-grow-1 fill-width\",attrs:{\"color\":\"white\"}},[_c('div',{staticClass:\"d-flex background pa-2 fill-width\"},_vm._l((_vm.days),function(day){return _c('v-btn',{key:day.weekDay,staticClass:\"text-capitalize pa-0 py-5 flex-grow-1\",class:day.weekDay === _vm.selectedDay ? 'primary white--text font-weight-bold' : 'white',attrs:{\"value\":day.weekDay,\"ripple\":false,\"elevation\":\"0\",\"small\":\"\"},on:{\"click\":function($event){_vm.selectedDay = day.weekDay}}},[_vm._v(\" \"+_vm._s(day.name)+\" \")])}),1),(_vm.affluenceZones.length > 1)?_c('div',{staticClass:\"d-flex background pa-2 fill-width\"},[_c('v-select',{attrs:{\"items\":_vm.affluenceZones,\"item-text\":\"name\",\"return-object\":\"\",\"label\":\"Zone\"},model:{value:(_vm.selectedZone),callback:function ($$v) {_vm.selectedZone=$$v},expression:\"selectedZone\"}})],1):_vm._e(),_c('div',{staticClass:\"d-flex flex-column flex-grow-1\"},[(_vm.currentStep)?_c('div',{staticClass:\"d-flex align-center justify-center flex-grow-0\"},[_c('div',{staticClass:\"d-flex justify-center mx-3\"},[_c('div',{staticClass:\"background d-flex justify-center align-center rounded-lg pa-4 my-3\"},[(_vm.isDirect)?_c('div',{staticClass:\"circle pulse circle__direct\"}):_vm._e(),_c('div',{staticClass:\"d-flex\"},[_c('span',{staticClass:\"font-weight-medium px-2\",class:_vm.isDirect ? 'affluenceDirect--text pl-4' : 'affluenceAvg--text'},[_vm._v(_vm._s(_vm.isDirect ? 'En direct' : _vm.currentStep ? _vm.formatLabel() : ''))]),(_vm.currentStep)?_c('span',[_vm._v(\" \"+_vm._s(_vm.currentStep.label))]):_vm._e()])])])]):_c('div',{staticClass:\"d-flex align-center justify-center flex-grow-0\"},[_c('div',{staticClass:\"d-flex justify-center mx-3\"},[_c('div',{staticClass:\"background d-flex justify-center align-center rounded-lg pa-4 my-3\"},[_c('v-icon',{attrs:{\"medium\":\"\"}},[_vm._v(\" mdi-help-circle-outline \")]),_c('span',{staticClass:\"pl-2\"},[_vm._v(\" Cliquez sur les données d'affluence pour avoir plus d’infos\")])],1)])]),_c('BarChart',{ref:\"barChartRef\",staticClass:\"flex-grow-1\",staticStyle:{\"height\":\"10rem\"},attrs:{\"options\":_vm.options,\"chart-data\":_vm.chartData}}),_c('v-expand-transition',[(_vm.today.getDay() !== _vm.currentDay)?_c('div',{staticClass:\"d-flex fill-width my-4\"},[_c('v-btn',{staticClass:\"text-capitalize flex-grow-1 primary d-flex justify-space-between py-5\",attrs:{\"ripple\":false,\"elevation\":\"0\"},on:{\"click\":function($event){_vm.selectedDay = _vm.today.getDay()}}},[_c('span',[_vm._v(\"Consulter l’affluence en direct\")]),_c('v-icon',{attrs:{\"medium\":\"\"}},[_vm._v(\" mdi-chevron-right \")])],1)],1):_vm._e()])],1)])],1):_c('v-card',{staticClass:\"pa-0 mb-4 white d-flex flex-grow-1 justify-center align-center\",attrs:{\"color\":\"white\",\"flat\":\"\"}},[_c('span',{staticClass:\"font-italic\"},[_vm._v(\"Chargement...\")])])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import spacetime from 'spacetime';\n\nexport const DAYS = [\n {weekDay: 1, name: 'lun.'},\n {weekDay: 2, name: 'mar.'},\n {weekDay: 3, name: 'mer.'},\n {weekDay: 4, name: 'jeu.'},\n {weekDay: 5, name: 'ven.'},\n // {weekDay: 6, name: 'samedi'},\n // {weekDay: 0, name: 'dimanche'},\n];\nexport const spacetimeFr = {\n days: {\n long: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'],\n short: ['dim', 'lun', 'mar', 'mer', 'jeu', 'ven', 'sam'],\n },\n months: {\n long: [\n 'janvier',\n 'février',\n 'mars',\n 'avril',\n 'mai',\n 'juin',\n 'juillet',\n 'août',\n 'septembre',\n 'octobre',\n 'novembre',\n 'décembre',\n ],\n short: [\n 'jan',\n 'fév',\n 'mars',\n 'avril',\n 'mai',\n 'juin',\n 'juil',\n 'août',\n 'sept',\n 'oct',\n 'nov',\n 'déc',\n ],\n },\n};\nexport const tzParis = 'Europe/Paris';\n\nexport function formatShortDate(date: string): string[] {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const dateSpace: any = spacetime(date, tzParis);\n dateSpace.i18n(spacetimeFr);\n return [dateSpace.format('{date-pad}').toString(), dateSpace.format('{day-short}').toString()];\n}\nexport function formatDate(date: string): string {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const dateSpace: any = spacetime(date, tzParis);\n dateSpace.i18n(spacetimeFr);\n return dateSpace.format('{day} {date} {month-short}').toString();\n}\nexport function formatTime(date: string): string {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const dateSpace: any = spacetime(date, tzParis).goto(tzParis);\n dateSpace.i18n(spacetimeFr);\n return dateSpace.format('{hour-24-pad}:{minute-pad}').toString();\n}\nexport function isEqualDate(d: string, n: string): boolean {\n return spacetime(d, tzParis).isSame(spacetime(n, tzParis), 'date');\n}\nexport function isToday(n: string): boolean {\n return spacetime.now(tzParis).isSame(spacetime(n, tzParis), 'date');\n}\nexport function isBeforeDate(m: string | number, n: string | number): boolean {\n return spacetime(m, tzParis).isBefore(spacetime(n, tzParis));\n}\n\nexport function setHoursAndMinutes(hour: string, date: Date, tz: number): string {\n const {isDST} = spacetime().timezone().current;\n const subHour = tz || (isDST ? 0 : 1);\n const dateSp = spacetime(date)\n .goto(tz ? 'UTC' : tzParis)\n .hour(parseInt(hour.split(':')[0], 10) - subHour)\n .minute(parseInt(hour.split(':')[1], 10))\n .second(0)\n .millisecond(0);\n return `${dateSp.format('iso-utc')}`;\n}\n","import spacetime from 'spacetime';\n\nimport {AffluenceResponse} from '@/site/interfaces';\n\nimport {tzParis} from './date.tools';\n\nexport function setLabel(m: string, tz: number): string {\n let date = spacetime(m).goto(tz ? 'UTC' : tzParis);\n if (tz) {\n date = date.hour(date.hour() + tz);\n } else {\n const {isDST} = spacetime().timezone().current;\n date = date.hour(date.hour() + (isDST ? 0 : 1));\n }\n return `${date.format('{hour-24-pad}')}:${date.format('{minute-pad}')}`;\n}\n\nexport function setLabels(affluenceResponse: AffluenceResponse[], tz: number): string[] {\n return affluenceResponse.map((response, index) =>\n !(index % 2) ? setLabel(response.start, tz) : ''\n );\n}\n\nexport function isCurrentStep(start: Date, end: Date, tz: number): boolean {\n const {isDST} = spacetime().timezone().current;\n let sStart = spacetime(start).goto(tz ? 'UTC' : tzParis);\n let sEnd = spacetime(end).goto(tz ? 'UTC' : tzParis);\n let now = spacetime.now().goto(tz ? 'UTC' : tzParis);\n if (tz) {\n sStart = sStart.hour(sStart.hour() + tz);\n sEnd = sEnd.hour(sEnd.hour() + tz);\n now = now.hour(now.hour() + tz);\n } else {\n sStart = sStart.hour(sStart.hour() + (isDST ? 0 : 1));\n sEnd = sEnd.hour(sEnd.hour() + (isDST ? 0 : 1));\n now = now.hour(now.hour() + (isDST ? 0 : 1));\n }\n return now.isAfter(sStart) && now.isBefore(sEnd);\n}\n\nexport function setPeople(affluenceResponse: AffluenceResponse[], tz: number): (number | null)[] {\n return affluenceResponse.map((response) =>\n isCurrentStep(new Date(response.start), new Date(response.end), tz) && response.people\n ? Math.round(response.people) || null\n : Math.round(response.avg) || null\n );\n}\n\nexport function setPeopleIn(affluenceResponse: AffluenceResponse[], tz: number): (number | null)[] {\n return affluenceResponse.map((response) =>\n isCurrentStep(new Date(response.start), new Date(response.end), tz) && response.peopleIn\n ? Math.round(response.peopleIn) || null\n : Math.round(response.avgIn) || null\n );\n}\n","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable no-use-before-define */\n/* eslint-disable class-methods-use-this */\nimport PhoneNumber, * as AwesomePhoneNumber from 'awesome-phonenumber';\n\ntype PhoneNumberFormat = 'e164' | 'international' | 'national' | 'rfc3966' | 'significant';\n\n// @see https://github.com/grantila/awesome-phonenumber\n// Demo: https://rawgit.com/googlei18n/libphonenumber/master/javascript/i18n/phonenumbers/demo-compiled.html\nexport class PhoneTools {\n private readonly pn: AwesomePhoneNumber.default;\n\n constructor(phoneNumber: string, countryCode = 'FR') {\n this.pn = new PhoneNumber(phoneNumber, countryCode);\n return this;\n }\n\n get phoneNumber(): PhoneNumber {\n return this.pn;\n }\n\n get AwesomePhoneNumber() {\n return AwesomePhoneNumber.default;\n }\n\n static get AwesomePhoneNumber() {\n return AwesomePhoneNumber.default;\n }\n\n /**\n * Replace \"00\" by \"+\"\" (Ex.: 0033... to +33...)\n */\n static cleanInternationalNumber(number?: string): string | undefined {\n return number?.trim().replace(/^00/, '+');\n }\n\n isValid(): boolean {\n return this.pn.isPossible() && this.pn.isValid();\n }\n\n isMobile(): boolean {\n return this.pn.isMobile();\n }\n\n /**\n *\n * @param type PhoneNumberFormat\n * (\"e164\" | \"international\" | \"national\" | \"rfc3966\" | \"significant\")\n * @returns a formated phone number\n */\n getNumber(type?: PhoneNumberFormat): string {\n return this.pn.getNumber(type);\n }\n}\n","export * from './affluence.tools';\nexport * from './date.tools';\nexport * from './phone.tools';\n\nexport const SITEKEY = process.env.VUE_APP_SITE_KEY;\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {ChartData, ChartOptions} from 'chart.js';\nimport {BarChart, ExtractComponentData} from 'vue-chart-3';\nimport {Component, Ref, Vue, Watch} from 'vue-property-decorator';\nimport {Action, Getter} from 'vuex-class';\n\nimport {AffluenceParams, AffluenceResponse, AffluenceZone} from '@/site/interfaces';\n\nimport {setHoursAndMinutes} from '..';\nimport {DAYS, isCurrentStep, setLabel, setLabels, setPeople, setPeopleIn} from '../tools';\n\n@Component({\n components: {BarChart},\n})\nexport default class AffluenceModal extends Vue {\n @Action('getAffluence', {namespace: 'site'}) getAffluence!: (params: AffluenceParams) => void;\n\n @Getter('affluenceZones', {namespace: 'site'}) affluenceZones!: AffluenceZone[];\n\n @Getter('affluenceTZ', {namespace: 'site'}) affluenceTZ!: number;\n\n @Getter('affluenceResponse', {namespace: 'site'}) affluenceResponse!: AffluenceResponse[];\n\n @Getter('customerId', {namespace: 'site'}) customerId!: string;\n\n @Ref() barChartRef!: ExtractComponentData;\n\n days = DAYS;\n\n today = new Date();\n\n currentDay = this.today.getDay();\n\n isDirect = false;\n\n options: ChartOptions<'bar'> = {responsive: true, maintainAspectRatio: false};\n\n chartData: ChartData = {\n labels: undefined,\n datasets: [],\n };\n\n isRefreshed = false;\n\n currentStep: AffluenceResponse | null = null;\n\n currentZone: AffluenceZone | null = null;\n\n mounted(): void {\n setInterval(() => {\n if (\n !((new Date().getMinutes() - 1) % 30) &&\n this.today.getDay() === this.currentDay &&\n !this.isRefreshed\n ) {\n this.getAffluenceResponse();\n if (this.barChartRef) {\n this.setChartData();\n // eslint-disable-next-line no-unused-expressions\n this.barChartRef.chartInstance?.update();\n }\n }\n }, 60000);\n setInterval(() => {\n this.today = new Date();\n }, 1000);\n\n if (\n this.affluenceZones.length &&\n this.affluenceZones[0].id &&\n !this.affluenceResponse.length\n ) {\n this.currentZone = this.affluenceZones[0];\n this.getAffluence({\n customerId: this.customerId,\n zone: this.currentZone.id,\n restaurant: this.currentZone.restaurant,\n start: setHoursAndMinutes(this.currentZone.start, this.today, this.affluenceTZ),\n end: setHoursAndMinutes(this.currentZone.end, this.today, this.affluenceTZ),\n ...(this.currentZone.type && {type: this.currentZone.type}),\n });\n }\n if (this.affluenceResponse && this.affluenceResponse.length) {\n this.setOptions();\n this.setChartData();\n this.setMessage();\n }\n }\n\n set selectedDay(day: number) {\n this.currentDay = day;\n this.getAffluenceResponse();\n }\n\n get selectedDay(): number {\n return DAYS.filter((day) => day.weekDay === this.currentDay)[0].weekDay;\n }\n\n set selectedZone(zone: AffluenceZone | null) {\n this.currentZone = zone;\n this.getAffluenceResponse();\n }\n\n get selectedZone(): AffluenceZone | null {\n return this.currentZone;\n }\n\n @Watch('$store.state.site.affluenceResponse')\n private updateGraph() {\n setTimeout(() => {\n this.isRefreshed = false;\n }, 120000);\n this.currentStep = null;\n if (this.affluenceResponse && this.affluenceResponse.length) {\n this.setOptions();\n this.setChartData();\n this.setMessage();\n }\n }\n\n getAffluenceResponse(): void {\n if (this.currentZone) {\n const selectedDay = new Date();\n if (selectedDay.getDay() !== this.currentDay) {\n selectedDay.setDate(\n selectedDay.getDate() - ((selectedDay.getDay() - this.currentDay) % 7)\n );\n }\n this.getAffluence({\n customerId: this.customerId,\n zone: this.currentZone.id,\n restaurant: this.currentZone.restaurant,\n start: setHoursAndMinutes(this.currentZone.start, selectedDay, this.affluenceTZ),\n end: setHoursAndMinutes(this.currentZone.end, selectedDay, this.affluenceTZ),\n ...(this.currentZone.type && {type: this.currentZone.type}),\n });\n this.isRefreshed = true;\n }\n }\n\n setOptions(): void {\n this.options = {\n responsive: true,\n maintainAspectRatio: false,\n plugins: {\n legend: {display: false, position: 'bottom'},\n },\n scales: {\n x: {\n grid: {\n display: true,\n drawOnChartArea: false,\n offset: false,\n tickLength: 10,\n },\n ticks: {\n display: true,\n padding: 10,\n },\n },\n y: {\n min: 0,\n max: this.affluenceResponse[0].max ? this.affluenceResponse[0].max + 5 : 100,\n grid: {\n display: false,\n drawTicks: false,\n drawBorder: false,\n },\n ticks: {\n display: false,\n },\n },\n },\n onClick: (_, elements) => {\n if (elements.length && !!elements[0]) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const dataset = this.barChartRef.chartInstance?.data.datasets[0] as any;\n if (dataset) {\n const currentStep = this.affluenceResponse.findIndex((response) =>\n isCurrentStep(new Date(response.start), new Date(response.end), this.affluenceTZ)\n );\n dataset.backgroundColor = dataset.backgroundColor.map((__: never, index: number) => {\n if (index === elements[0].index)\n return index === currentStep\n ? this.$vuetify.theme.themes.light.affluenceDirect?.toString()\n : this.$vuetify.theme.themes.light.affluenceAvg?.toString();\n return index === currentStep ? '#FADADA' : '#EDEDF3';\n });\n if (this.barChartRef)\n // eslint-disable-next-line no-unused-expressions\n this.barChartRef.chartInstance?.update();\n this.setMessage(elements[0].index);\n }\n }\n },\n };\n }\n\n setChartData(): void {\n this.chartData = {\n labels: setLabels(this.affluenceResponse, this.affluenceTZ),\n datasets: [\n {\n label: 'Moyenne',\n data:\n this.currentZone?.type && this.currentZone.type === 'in'\n ? setPeopleIn(this.affluenceResponse, this.affluenceTZ)\n : setPeople(this.affluenceResponse, this.affluenceTZ),\n backgroundColor: this.affluenceResponse.map((response) =>\n isCurrentStep(new Date(response.start), new Date(response.end), this.affluenceTZ)\n ? this.$vuetify.theme.themes.light.affluenceDirect?.toString() || '#f8f8f8'\n : this.$vuetify.theme.themes.light.affluenceAvg?.toString() || '#00127B'\n ),\n barThickness: 25,\n },\n ],\n };\n if (this.barChartRef)\n // eslint-disable-next-line no-unused-expressions\n this.barChartRef.chartInstance?.update();\n }\n\n setMessage(index?: number): void {\n if (index || index === 0) {\n this.currentStep = this.affluenceResponse[index];\n this.isDirect =\n this.currentDay === this.today.getDay() &&\n isCurrentStep(\n new Date(this.currentStep.start),\n new Date(this.currentStep.end),\n this.affluenceTZ\n );\n } else {\n const filterSteps = this.affluenceResponse.filter((response) =>\n isCurrentStep(new Date(response.start), new Date(response.end), this.affluenceTZ)\n );\n if (filterSteps.length === 1) {\n this.currentStep = filterSteps[0];\n this.isDirect =\n this.currentDay === this.today.getDay() &&\n isCurrentStep(\n new Date(this.currentStep.start),\n new Date(this.currentStep.end),\n this.affluenceTZ\n );\n }\n }\n }\n\n formatLabel(): string {\n if (this.currentStep) return setLabel(this.currentStep.start, this.affluenceTZ);\n return 'Aucun palier sélectionné';\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AffluenceModal.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AffluenceModal.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AffluenceModal.vue?vue&type=template&id=6b09de86&scoped=true&\"\nimport script from \"./AffluenceModal.vue?vue&type=script&lang=ts&\"\nexport * from \"./AffluenceModal.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AffluenceModal.vue?vue&type=style&index=0&id=6b09de86&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6b09de86\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VExpandTransition } from 'vuetify/lib/components/transitions';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\ninstallComponents(component, {VBtn,VCard,VContainer,VExpandTransition,VIcon,VSelect,VSheet})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {Component, Vue, Watch} from 'vue-property-decorator';\nimport {Getter} from 'vuex-class';\n\nimport {Links} from '@/site/interfaces';\n\nimport AffluenceModal from './AffluenceModal.vue';\n\n@Component({\n components: {AffluenceModal},\n})\nexport default class AppBar extends Vue {\n @Getter('isDemo', {namespace: 'site'}) isDemo!: boolean;\n\n @Getter('logo', {namespace: 'site'}) logo!: string;\n\n @Getter('logo2', {namespace: 'site'}) logo2!: string | null;\n\n @Getter('links', {namespace: 'site'}) links!: Links;\n\n @Getter('hasArticles', {namespace: 'article'}) hasArticles!: boolean;\n\n @Getter('isBookingActivated', {namespace: 'site'}) isBookingActivated!: boolean;\n\n @Getter('enableContact', {namespace: 'site'}) enableContact!: boolean;\n\n @Getter('customerId', {namespace: 'site'}) customerId!: string;\n\n @Getter('enableAffluence', {namespace: 'site'}) enableAffluence!: boolean;\n\n affluenceDialog = false;\n\n services: {\n title: string;\n link?: string | null;\n name?: string;\n show: boolean;\n }[] = [];\n\n onlineServices: {\n title: string;\n link?: string | null;\n name?: string;\n show: boolean;\n }[] = [];\n\n @Watch('$store.state.site.links')\n setLinks(): void {\n if (this.links) {\n this.onlineServices = [\n {\n title: 'Compte',\n link: this.links.badgeUrl || null,\n show: !!this.links.badgeUrl,\n },\n {\n title: 'Room Service',\n link: this.links.roomServiceUrl || null,\n show: !!this.links.roomServiceUrl,\n },\n {\n title: 'À emporter',\n link: this.links.clickAndCollectUrl || null,\n show: !!this.links.clickAndCollectUrl,\n },\n ].filter((service) => service.show);\n }\n }\n\n @Watch('$store.state.article.articles')\n showLocalService(): void {\n this.setServices();\n }\n\n mounted(): void {\n this.setServices();\n this.setLinks();\n }\n\n setServices(): void {\n if (this.hasArticles) {\n this.services = [\n {\n title: 'Menus',\n name: 'menu',\n show: true,\n },\n {\n title: 'Actualités',\n name: 'articles',\n show: this.hasArticles,\n },\n {\n title: 'Réservation',\n name: 'booking',\n show: this.isBookingActivated,\n },\n {\n title: 'Contact',\n name: 'contact',\n show: this.enableContact,\n },\n ].filter((service) => service.show);\n } else {\n this.services = [\n {\n title: 'Menus',\n name: 'menu',\n show: true,\n },\n {\n title: 'Réservation',\n name: 'booking',\n show: this.isBookingActivated,\n },\n {\n title: 'Contact',\n name: 'contact',\n show: this.enableContact,\n },\n ].filter((service) => service.show);\n }\n }\n\n selectService(service: {name: string; params: {id: string}}): void {\n this.$router.push(service);\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppBar.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppBar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AppBar.vue?vue&type=template&id=09a89029&scoped=true&\"\nimport script from \"./AppBar.vue?vue&type=script&lang=ts&\"\nexport * from \"./AppBar.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AppBar.vue?vue&type=style&index=0&id=09a89029&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"09a89029\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAppBar } from 'vuetify/lib/components/VAppBar';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemGroup } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAppBar,VBtn,VContainer,VDialog,VIcon,VImg,VList,VListItem,VListItemGroup,VListItemTitle,VMenu,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-footer',{attrs:{\"color\":\"secondary lighten-1\",\"padless\":\"\"}},[_c('v-row',{attrs:{\"justify\":\"center\",\"align\":\"center\",\"no-gutters\":\"\"}},[_c('v-btn',{staticClass:\"my-2\",attrs:{\"x-small\":\"\",\"color\":\"white\",\"text\":\"\",\"to\":{name: 'legalNotice', params: {slug: _vm.$route.params.slug}}}},[_vm._v(\" Mentions légales \")]),_c('span',{staticClass:\"caption white--text\"},[_vm._v(\"-\")]),_c('v-btn',{staticClass:\"my-2\",attrs:{\"x-small\":\"\",\"color\":\"white\",\"text\":\"\",\"to\":{name: 'termsOfService', params: {slug: _vm.$route.params.slug}}}},[_vm._v(\" CGU \")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {Component, Vue} from 'vue-property-decorator';\n\n@Component\nexport default class Footer extends Vue {}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Footer.vue?vue&type=template&id=18c6427c&\"\nimport script from \"./Footer.vue?vue&type=script&lang=ts&\"\nexport * from \"./Footer.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VFooter } from 'vuetify/lib/components/VFooter';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VFooter,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {Component, Vue, Watch} from 'vue-property-decorator';\nimport {Getter} from 'vuex-class';\n\nimport AppBar from '@/core/components/AppBar.vue';\nimport Footer from '@/core/components/Footer.vue';\nimport {Theme} from '@/site/interfaces';\n\n@Component({\n components: {\n AppBar,\n Footer,\n },\n})\nexport default class App extends Vue {\n @Getter('loading', {namespace: 'site'}) loading!: boolean;\n\n @Getter('error', {namespace: 'site'}) error!: boolean;\n\n @Getter('theme', {namespace: 'site'}) theme!: Theme;\n\n @Getter('favicon', {namespace: 'site'}) favicon!: string;\n\n @Getter('name', {namespace: 'site'}) siteName!: string;\n\n @Watch('$store.state.site.name')\n private updateTitle() {\n if (this.siteName) {\n document.title = this.siteName;\n }\n }\n\n @Watch('$store.state.site.ui')\n private updateUi() {\n if (this.theme) {\n Object.keys(this.theme).forEach((i) => {\n this.$vuetify.theme.themes.light[i] = this.theme[i];\n });\n }\n // if (this.favicon) {\n // const link = document.querySelector(\"link[rel~='icon']\");\n // if (link) link.setAttribute('href', this.favicon);\n // }\n }\n\n @Watch('$store.state.site.error')\n private onError() {\n if (this.error && this.$route.name !== 'notFound') {\n document.title = 'Page introuvable';\n this.$router.replace('/non-trouve');\n }\n }\n}\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--15-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--15-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--15-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--15-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=0b4f4ed9&scoped=true&\"\nimport script from \"./App.vue?vue&type=script&lang=ts&\"\nexport * from \"./App.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=0b4f4ed9&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0b4f4ed9\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VApp } from 'vuetify/lib/components/VApp';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VMain } from 'vuetify/lib/components/VMain';\nimport { VOverlay } from 'vuetify/lib/components/VOverlay';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\ninstallComponents(component, {VApp,VContainer,VMain,VOverlay,VProgressCircular})\n","import {Theme} from '../interfaces';\n\nexport const THEME: Theme = {\n primary: '#9a1429',\n secondary: '#333333',\n accent: '#82B1FF',\n error: '#FF5252',\n info: '#2196F3',\n success: '#4CAF50',\n warning: '#FFC107',\n anchor: '#9a1429',\n affluenceDirect: '#E74545',\n affluenceAvg: '#669DF6',\n};\n","import Vue from 'vue';\nimport Vuetify from 'vuetify/lib/framework';\n\nimport {THEME} from '@/site/constants';\n\nVue.use(Vuetify);\n\nexport default new Vuetify({\n theme: {\n themes: {light: THEME},\n options: {\n customProperties: true,\n },\n },\n});\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.hasArticles)?_c('v-container',{staticClass:\"pa-0\"},[_c('Posts')],1):_c('NoData',{attrs:{\"hasItems\":false,\"isNotFoundPage\":false,\"typeData\":'article'}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"d-flex flex-column justify-center align-center pa-12 pt-16\"},[_c('v-img',{attrs:{\"lazy-src\":require(\"../assets/images/404.svg\"),\"src\":require('../assets/images/404.svg'),\"contain\":\"\",\"max-height\":\"300\"}}),(_vm.isNotFoundPage)?_c('h2',{staticClass:\"pt-10 text-center\"},[_vm._v(\" La page que vous recherchez semble introuvable. \")]):_c('div',{staticClass:\"d-flex flex-column pt-10 text-center\"},[_c('h2',[_vm._v(\" \"+_vm._s(_vm.typeData === 'menu' ? 'Bientôt disponible !' : \"Les actualités sont en cours d'écriture...\")+\" \")]),(_vm.typeData === 'menu')?_c('span',{staticClass:\"pt-8\"},[_vm._v(\" Il n'y a pas encore de menu disponible pour ce site. Réessayez plus tard.\")]):_vm._e()]),(_vm.hasItems)?_c('div',{staticClass:\"d-flex justify-center FloatingButton pt-8\"},[_c('v-btn',{staticClass:\"FloatingButton__btn text-none mb-2 white--text font-weight-light\",attrs:{\"elevation\":\"0\",\"large\":\"\",\"rounded\":\"\",\"color\":\"primary\",\"type\":\"submit\",\"to\":{name: 'articles'}}},[_vm._v(\" Les actualités\")])],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {Component, Prop, Vue} from 'vue-property-decorator';\n\n@Component\nexport default class NoData extends Vue {\n @Prop(Boolean) isNotFoundPage!: boolean;\n\n @Prop(Boolean) hasItems!: boolean;\n\n @Prop(String) typeData!: string;\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NoData.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NoData.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NoData.vue?vue&type=template&id=a6054d00&scoped=true&\"\nimport script from \"./NoData.vue?vue&type=script&lang=ts&\"\nexport * from \"./NoData.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./NoData.vue?vue&type=style&index=0&id=a6054d00&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a6054d00\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VImg } from 'vuetify/lib/components/VImg';\ninstallComponents(component, {VBtn,VImg})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"Posts mt-8 mb-lg-8\"},[_c('v-row',{staticClass:\"px-3\"},_vm._l((_vm.articles),function(article,index){return _c('v-col',{key:index,staticClass:\"pa-0\",attrs:{\"cols\":\"12\",\"md\":\"6\",\"lg\":\"4\",\"xl\":\"3\"}},[_c('ModalPostDetail',{attrs:{\"article\":article}})],1)}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"fullscreen\":_vm.$vuetify.breakpoint.xsOnly,\"width\":\"600px\"},on:{\"click:outside\":function($event){return _vm.$router.back()}},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-card',_vm._g({staticClass:\"Card d-flex justify-space-between justify-md-space-around align-center mb-4 mr-md-4\",attrs:{\"align\":\"left\",\"rounded\":\"\",\"height\":\"96\",\"elevation\":\"0\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.updateRoute(true)}}},on),[_c('v-img',{staticClass:\"Card__image my-1 ml-3 my-lg-0\",attrs:{\"src\":_vm.article.image || _vm.article.youtubeUrl\n ? _vm.article.image || _vm.getThumbnail()\n : require('../assets/images/bg/actu_defaut.jpg'),\"max-width\":\"72\",\"width\":\"72\",\"height\":\"72\",\"cover\":\"\",\"aspect-ratio\":\"1\"}}),_c('div',{staticClass:\"d-flex flex-column justify-center Card__content\"},[_c('v-card-title',{staticClass:\"pt-0 pl-3\"},[_c('span',{staticClass:\"text-body-2 font-weight-medium\"},[_vm._v(_vm._s(_vm.article.title))])]),_c('v-card-subtitle',{staticClass:\"caption pl-3\"},[_vm._v(\" \"+_vm._s(_vm.strippedHtml())+\" \")])],1),_c('v-btn',{staticClass:\"text-none mr-4\",attrs:{\"elevation\":\"0\",\"rounded\":\"\",\"fab\":\"\",\"x-small\":\"\",\"color\":\"primary\"}},[_c('v-icon',{attrs:{\"medium\":\"\"}},[_vm._v(\" mdi-chevron-right \")])],1)],1)]}}]),model:{value:(_vm.isClosed),callback:function ($$v) {_vm.isClosed=$$v},expression:\"isClosed\"}},[_c('v-card',{staticClass:\"Card__background\",attrs:{\"tile\":\"\"}},[_c('v-container',[_c('div',{staticClass:\"d-flex justify-end\"},[_c('v-btn',{staticClass:\"mt-6 mb-10\",attrs:{\"color\":\"secondary\",\"small\":\"\",\"height\":\"36\",\"width\":\"36\",\"min-width\":\"36\",\"elevation\":\"0\"},on:{\"click\":function($event){return _vm.updateRoute(false)}}},[_c('v-icon',{attrs:{\"medium\":\"\"}},[_vm._v(\" mdi-close \")])],1)],1),_c('v-card-title',{staticClass:\"pa-0 mb-5\"},[_c('h3',{staticClass:\"primary--text text-h6 font-weight-bold\"},[_vm._v(_vm._s(_vm.article.title))])]),(_vm.article.image)?_c('v-img',{staticClass:\"Card__image-size\",attrs:{\"src\":_vm.article.image || _vm.getThumbnail(),\"width\":\"100%\",\"height\":\"200\",\"aspect-ratio\":\"1.777\",\"contain\":\"\"}}):(_vm.article.youtubeUrl)?_c('vue-tube',{attrs:{\"videoId\":_vm.getYouTubeId(),\"isPlaylist\":false,\"aspectRatio\":1.7777777777777777,\"enableCookies\":false,\"playerVars\":{enablejsapi: 1},\"disableWarming\":true,\"disableWebp\":false,\"imageLoading\":\"lazy\",\"resolution\":\"sddefault\",\"buttonLabel\":\"Lancer la vidéo\",\"iframeTitle\":_vm.article.title,\"iframeAllow\":\"accelerometer;autoplay;encrypted-media;gyroscope;picture-in-picture\"},on:{\"player:ready\":_vm.onPlayerReady}}):_c('v-img',{staticClass:\"Card__image-size\",attrs:{\"src\":require('../assets/images/bg/actu_defaut.jpg'),\"width\":\"100%\",\"height\":\"200\",\"aspect-ratio\":\"1.777\"}}),_c('v-sheet',{staticClass:\"pt-8 pb-4\"},[_c('div',{staticClass:\"Posts__body\",domProps:{\"innerHTML\":_vm._s(_vm.article.body)}})])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* eslint-disable max-len */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {Component, Prop, Vue, Watch} from 'vue-property-decorator';\nimport {VueTube} from 'vuetube';\n\nimport {Article} from '../interfaces';\n\n@Component({components: {VueTube}})\nexport default class ModalPostDetail extends Vue {\n @Prop() readonly article!: Article;\n\n @Watch('$route.hash')\n updateDialog(newHash: string, oldHash: string): void {\n if (newHash === `#${this.article.title}`) {\n this.dialog = true;\n } else if (oldHash === `#${this.article.title}`) {\n this.dialog = false;\n }\n }\n\n dialog = false;\n\n ytbRegex = /(vi\\/|v%3D|v=|\\/v\\/|youtu\\.be\\/|\\/embed\\/)/;\n\n playerInstance: any;\n\n set isClosed(value: boolean) {\n if (!value) {\n this.closeModal();\n }\n this.dialog = value;\n }\n\n get isClosed(): boolean {\n return this.dialog;\n }\n\n updateRoute(open: boolean): void {\n if (open) {\n this.$router.push(`#${this.article.title}`);\n } else {\n this.$router.back();\n }\n }\n\n getYouTubeId(): string {\n if (this.article.youtubeUrl) {\n const arr = this.article.youtubeUrl.split(this.ytbRegex);\n return undefined !== arr[2] ? arr[2].split(/[^\\w-]/i)[0] : arr[0];\n }\n return '';\n }\n\n getThumbnail(): string {\n return `https://img.youtube.com/vi/${this.getYouTubeId()}/sddefault.jpg`;\n }\n\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n onPlayerReady(event: any): void {\n this.playerInstance = event.target;\n }\n\n closeModal(): void {\n if (this.playerInstance) {\n this.playerInstance.stopVideo();\n }\n }\n\n strippedHtml(): string {\n return this.article.body.replace(/<[^>]+>/g, '');\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalPostDetail.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalPostDetail.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ModalPostDetail.vue?vue&type=template&id=02c35033&\"\nimport script from \"./ModalPostDetail.vue?vue&type=script&lang=ts&\"\nexport * from \"./ModalPostDetail.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ModalPostDetail.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardSubtitle } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\ninstallComponents(component, {VBtn,VCard,VCardSubtitle,VCardTitle,VContainer,VDialog,VIcon,VImg,VSheet})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {Component, Vue} from 'vue-property-decorator';\nimport {Getter} from 'vuex-class';\n\nimport {Article} from '../interfaces';\nimport ModalPostDetail from './ModalPostDetail.vue';\n\n@Component({components: {ModalPostDetail}})\nexport default class Posts extends Vue {\n @Getter('articles', {namespace: 'article'}) articles!: Article[];\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Posts.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Posts.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Posts.vue?vue&type=template&id=183c94bb&scoped=true&\"\nimport script from \"./Posts.vue?vue&type=script&lang=ts&\"\nexport * from \"./Posts.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Posts.vue?vue&type=style&index=0&id=183c94bb&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"183c94bb\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","\n\n\n\n\n\n\n\nimport {Component, Vue} from 'vue-property-decorator';\nimport {Getter} from 'vuex-class';\n\nimport NoData from '@/core/components/NoData.vue';\n\nimport Posts from './Posts.vue';\n\n@Component({\n components: {\n Posts,\n NoData,\n },\n})\nexport default class News extends Vue {\n @Getter('hasArticles', {namespace: 'article'}) hasArticles!: boolean;\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./News.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./News.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./News.vue?vue&type=template&id=a5003c68&scoped=true&\"\nimport script from \"./News.vue?vue&type=script&lang=ts&\"\nexport * from \"./News.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./News.vue?vue&type=style&index=0&id=a5003c68&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a5003c68\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VContainer})\n","import {RouteConfig} from 'vue-router';\n\nimport News from './components/News.vue';\n\nexport const articleRoutes: Array = [\n {\n path: '/:slug/articles',\n name: 'articles',\n component: News,\n meta: {title: 'Articles'},\n },\n];\n","export enum PRODUCT_TYPE {\n ENT = 'ENT',\n PLA = 'PLA',\n DES = 'DES',\n BOI = 'BOI',\n FOR = 'FOR',\n LAI = 'LAI',\n FRO = 'FRO',\n SNA = 'SNA',\n LOC = 'LOC',\n}\n\nexport enum SERVICE_TYPE {\n PD = 'PD',\n CO = 'CO',\n DJ = 'DJ',\n GO = 'GO',\n SO = 'SO',\n}\n","import Axios from 'axios';\n\nexport default Axios.create({\n baseURL: process.env.VUE_APP_API_URL,\n params: {\n t: new Date().getTime(),\n },\n});\n","import {AxiosResponse} from 'axios';\n\nimport axios from '@/core/tools/axios';\n\nexport default class ArticleService {\n static getArticles(id: string): Promise {\n return axios.get(`/articles/${id}`);\n }\n}\n","/* eslint-disable @typescript-eslint/ban-types */\nimport ArticleService from '../services/ArticleService';\n\nexport const actions = {\n getArticles: async ({commit}: {commit: Function}, id: string): Promise => {\n ArticleService.getArticles(id).then((response) => {\n commit('article/SET_ARTICLES', response.data, {root: true});\n });\n },\n};\n","import {Article, ArticleState} from '../interfaces';\n\nexport const getters = {\n articles: (state: ArticleState): Article[] => state.articles,\n hasArticles: (state: ArticleState): boolean => state.articles.length > 0,\n};\n","import {Article, ArticleState} from '../interfaces';\n\nexport const mutations = {\n SET_ARTICLES(state: ArticleState, articles: Article[]): void {\n state.articles = articles;\n },\n};\n","import {ArticleState} from '../interfaces';\n\nexport const state: ArticleState = {\n articles: [],\n};\n","import {actions} from './actions';\nimport {getters} from './getters';\nimport {mutations} from './mutations';\nimport {state} from './state';\n\n// Export article store\nexport const article = {\n namespaced: true,\n state,\n mutations,\n getters,\n actions,\n};\n","import {AxiosResponse} from 'axios';\n\nimport axios from '@/core/tools/axios';\n\nimport {Booking} from '../interfaces';\n\nexport default class BookingService {\n static createBooking(booking: Booking): Promise {\n return axios.post('/booking/', booking);\n }\n\n static cancelBooking(id: string): Promise {\n return axios.delete(`/booking/${id}`);\n }\n\n static getBooking(id: string): Promise {\n return axios.get(`/booking/${id}`);\n }\n\n static countBookings(customerId: string, date: string): Promise {\n return axios.get(`/booking/count/${customerId}/${date}/`);\n }\n}\n","/* eslint-disable @typescript-eslint/ban-types */\nimport {Booking} from '../interfaces';\nimport BookingService from '../services/BookingService';\n\nexport const actions = {\n sendBooking: async ({commit}: {commit: Function}, booking: Booking): Promise => {\n commit('SET_ERROR', false);\n commit('SET_LOADING', false);\n BookingService.createBooking(booking)\n .then((response) => {\n if (response.data.code === 201) commit('SET_RESPONSE', true);\n else {\n commit('SET_ERROR', true);\n commit('SET_ERROR_MESSAGE', response.data.message);\n }\n })\n .catch(() => {\n commit('SET_ERROR', true);\n })\n .finally(() => commit('SET_LOADING', false));\n },\n countBookings: async (\n {commit}: {commit: Function},\n params: {customerId: string; date: string}\n ): Promise => {\n commit('SET_LOADING', false);\n BookingService.countBookings(params.customerId, params.date)\n .then((response) => {\n commit('SET_COUNT_BOOKINGS', response.data);\n })\n .catch(() => {\n commit('SET_ERROR', true);\n })\n .finally(() => commit('SET_LOADING', false));\n },\n getBooking: async ({commit}: {commit: Function}, id: string): Promise => {\n commit('SET_ERROR', false);\n commit('SET_LOADING', false);\n BookingService.getBooking(id)\n .then((response) => {\n commit('SET_CURRENT_BOOKING', response.data);\n })\n .catch(() => {\n commit('SET_ERROR', true);\n })\n .finally(() => commit('SET_LOADING', false));\n },\n cancelBooking: async ({commit}: {commit: Function}, id: string): Promise => {\n commit('SET_ERROR', false);\n commit('SET_LOADING', false);\n BookingService.cancelBooking(id)\n .then((response) => {\n if (response.status === 200) commit('SET_RESPONSE', true);\n else {\n commit('SET_ERROR', true);\n commit('SET_ERROR_MESSAGE', response.statusText);\n }\n })\n .catch(() => {\n commit('SET_ERROR', true);\n })\n .finally(() => commit('SET_LOADING', false));\n },\n reset: ({commit}: {commit: Function}): void => {\n commit('SET_ERROR', false);\n commit('SET_RESPONSE', false);\n commit('SET_LOADING', false);\n commit('SET_ERROR_MESSAGE', '');\n commit('SET_CURRENT_BOOKING', null);\n },\n};\n","import {Booking, BookingConfiguration, BookingState, CountBooking} from '../interfaces';\n\nexport const getters = {\n bookingConfig: (state: BookingState): BookingConfiguration | null => state.bookingConfig,\n error: (state: BookingState): boolean => state.error,\n loading: (state: BookingState): boolean => state.loading,\n response: (state: BookingState): boolean => state.response,\n errorMessage: (state: BookingState): string => state.errorMessage,\n countBookings: (state: BookingState): CountBooking[] => state.countBookings,\n currentBooking: (state: BookingState): Booking | null => state.currentBooking,\n};\n","import {Booking, BookingConfiguration, BookingState, CountBooking} from '../interfaces';\n\nexport const mutations = {\n SET_CURRENT_BOOKING(state: BookingState, booking: Booking): void {\n state.currentBooking = booking;\n },\n SET_CONFIG(state: BookingState, bookingConfig: BookingConfiguration): void {\n state.bookingConfig = bookingConfig;\n },\n SET_COUNT_BOOKINGS(state: BookingState, countBookings: CountBooking[]): void {\n state.countBookings = countBookings;\n },\n SET_ERROR(state: BookingState, error: boolean): void {\n state.error = error;\n },\n SET_ERROR_MESSAGE(state: BookingState, errorMessage: string): void {\n state.errorMessage = errorMessage;\n },\n SET_LOADING(state: BookingState, loading: boolean): void {\n state.loading = loading;\n },\n SET_RESPONSE(state: BookingState, response: boolean): void {\n state.response = response;\n },\n};\n","import {BookingState} from '../interfaces';\n\nexport const state: BookingState = {\n error: false,\n loading: false,\n bookingConfig: null,\n response: false,\n errorMessage: '',\n countBookings: [],\n currentBooking: null,\n};\n","import {actions} from './actions';\nimport {getters} from './getters';\nimport {mutations} from './mutations';\nimport {state} from './state';\n\n// Export reservation store\nexport const booking = {\n namespaced: true,\n state,\n mutations,\n getters,\n actions,\n};\n","import {AxiosResponse} from 'axios';\n\nimport axios from '@/core/tools/axios';\n\nimport {FeedbackContact, FeedBackProduct} from '../interfaces';\n\nexport default class FeedbackService {\n static sendFeedback(formContact: FeedbackContact): Promise {\n return axios.post('/feedback/', formContact);\n }\n\n static sendFeedbackProduct(feedbackProduct: FeedBackProduct): Promise {\n return axios.post('/feedback/product', feedbackProduct);\n }\n}\n","/* eslint-disable @typescript-eslint/ban-types */\nimport {FeedbackContact, FeedBackProduct, FeedBackProductCompleted} from '../interfaces';\nimport FeedbackService from '../services/FeedbackService';\n\nexport const actions = {\n sendFeedback: async (\n {commit}: {commit: Function},\n feedbackContact: FeedbackContact\n ): Promise => {\n commit('SET_ERROR', false);\n commit('SET_LOADING', false);\n FeedbackService.sendFeedback(feedbackContact)\n .then((response) => {\n if (response.data.code === 200) commit('SET_RESPONSE', true);\n else {\n commit('SET_ERROR', true);\n commit('SET_ERROR_MESSAGE', response.data.message);\n }\n })\n .catch(() => {\n commit('SET_ERROR', true);\n })\n .finally(() => commit('SET_LOADING', false));\n },\n sendFeedbackProduct: async (\n {commit}: {commit: Function},\n feedbackProduct: FeedBackProduct\n ): Promise => {\n commit('SET_ERROR', false);\n commit('SET_LOADING', false);\n FeedbackService.sendFeedbackProduct(feedbackProduct)\n .then((response) => {\n if (response.data.code === 201) commit('SET_RESPONSE', true);\n else {\n commit('SET_ERROR', true);\n commit('SET_ERROR_MESSAGE', response.data.message);\n }\n })\n .catch(() => {\n commit('SET_ERROR', true);\n })\n .finally(() => commit('SET_LOADING', false));\n },\n setFeedBackProduct: (\n {commit}: {commit: Function},\n feedBackProduct: FeedBackProduct | null\n ): void => {\n commit('SET_FEEDBACK_PRODUCT', feedBackProduct);\n },\n setFeedBackProductsCompleted: (\n {commit}: {commit: Function},\n feedBackProductCompleted: FeedBackProductCompleted\n ): void => {\n commit('SET_FEEDBACK_PRODUCTS_COMPLETED', feedBackProductCompleted);\n },\n reset: ({commit}: {commit: Function}): void => {\n commit('SET_ERROR', false);\n commit('SET_RESPONSE', false);\n commit('SET_LOADING', false);\n commit('SET_ERROR_MESSAGE', '');\n },\n};\n","import {FeedBackProduct, FeedBackProductCompleted, FeedbackState} from '../interfaces';\n\nexport const getters = {\n error: (state: FeedbackState): boolean => state.error,\n loading: (state: FeedbackState): boolean => state.loading,\n response: (state: FeedbackState): boolean => state.response,\n errorMessage: (state: FeedbackState): string => state.errorMessage,\n feedBackProduct: (state: FeedbackState): FeedBackProduct | null => state.feedBackProduct,\n feedBackProductsCompleted: (state: FeedbackState): FeedBackProductCompleted[] =>\n state.feedBackProductsCompleted,\n};\n","import {FeedBackProduct, FeedBackProductCompleted, FeedbackState} from '../interfaces';\n\nexport const mutations = {\n SET_ERROR(state: FeedbackState, error: boolean): void {\n state.error = error;\n },\n SET_ERROR_MESSAGE(state: FeedbackState, errorMessage: string): void {\n state.errorMessage = errorMessage;\n },\n SET_LOADING(state: FeedbackState, loading: boolean): void {\n state.loading = loading;\n },\n SET_RESPONSE(state: FeedbackState, response: boolean): void {\n state.response = response;\n },\n SET_FEEDBACK_PRODUCT(state: FeedbackState, feedBackProduct: FeedBackProduct | null): void {\n state.feedBackProduct = feedBackProduct;\n },\n SET_FEEDBACK_PRODUCTS_COMPLETED(\n state: FeedbackState,\n feedBackProductCompleted: FeedBackProductCompleted\n ): void {\n state.feedBackProductsCompleted.push(feedBackProductCompleted);\n },\n};\n","import {FeedbackState} from '../interfaces';\n\nexport const state: FeedbackState = {\n error: false,\n loading: false,\n response: false,\n errorMessage: '',\n feedBackProduct: null,\n feedBackProductsCompleted: [],\n};\n","import {actions} from './actions';\nimport {getters} from './getters';\nimport {mutations} from './mutations';\nimport {state} from './state';\n\n// Export reservation store\nexport const feedback = {\n namespaced: true,\n state,\n mutations,\n getters,\n actions,\n};\n","import {AxiosResponse} from 'axios';\n\nimport axios from '@/core/tools/axios';\n\nexport default class MenuService {\n static getListMenus(id: string): Promise {\n return axios.get(`/menus/site/${id}`);\n }\n\n static getMenu(id: string): Promise {\n return axios.get(`/menus/${id}`);\n }\n}\n","/* eslint-disable @typescript-eslint/ban-types */\nimport {isBeforeDate} from '@/core';\n\nimport {Day, Menu, Service} from '../interfaces';\nimport MenuService from '../services/MenuService';\n\nexport const actions = {\n getListMenus: async ({commit}: {commit: Function}, id: string): Promise => {\n const today = new Date();\n today.setUTCHours(0, 0, 0, 0);\n MenuService.getListMenus(id)\n .then((response) => {\n const menus = response.data.filter(\n (a: Menu) => new Date(a.date).getTime() >= today.getTime()\n );\n commit('menu/SET_MENUS', menus, {root: true});\n commit('menu/SET_DAYS', null, {root: true});\n commit('menu/SET_DAY', null, {root: true});\n if (response.data.length > 0) {\n actions.getCurrentMenu(\n {commit},\n menus.sort((a: Menu, b: Menu) => (isBeforeDate(a.date, b.date) ? -1 : 1))[0]._id\n );\n }\n })\n .catch(() => {\n commit('menu/SET_ERROR', true, {root: true});\n });\n },\n getCurrentMenu: async ({commit}: {commit: Function}, id: string): Promise => {\n commit('menu/SET_LOADING_MENU', true, {root: true});\n MenuService.getMenu(id)\n .then((response) => {\n commit('menu/SET_CURRENT_MENU', response.data, {root: true});\n })\n .catch(() => {\n commit('menu/SET_ERROR', true, {root: true});\n })\n .finally(() => commit('menu/SET_LOADING_MENU', false, {root: true}));\n },\n updateDay: ({commit}: {commit: Function}, day: Day): void => {\n commit('SET_DAY', day);\n },\n updateService: ({commit}: {commit: Function}, service: Service): void => {\n commit('SET_SERVICE', service);\n },\n resetError: ({commit}: {commit: Function}): void => {\n commit('SET_ERROR', false);\n },\n};\n","import {Nutriscore, Picto} from '../interfaces';\nimport {PRODUCT_TYPE} from './enums';\n\nexport const ALLERGENES: Picto[] = [\n {\n name: 'Arachides',\n id: 'ARA',\n fileName: 'arachides.svg',\n },\n {\n name: 'Celeri',\n id: 'CEL',\n fileName: 'celeri.svg',\n },\n {\n name: 'Crustacés',\n id: 'CRU',\n fileName: 'crustaces.svg',\n },\n {\n name: 'Fruits à coque',\n id: 'FCQ',\n fileName: 'fruits-a-coque.svg',\n },\n {\n name: 'Gluten',\n id: 'GLU',\n fileName: 'gluten.svg',\n },\n {\n name: 'Lait',\n id: 'LAI',\n fileName: 'lait.svg',\n },\n {\n name: 'Lupin',\n id: 'LUP',\n fileName: 'lupin.svg',\n },\n {\n name: 'Mollusques',\n id: 'MOL',\n fileName: 'mollusques.svg',\n },\n {\n name: 'Moutarde',\n id: 'MOU',\n fileName: 'moutarde.svg',\n },\n {\n name: 'Oeuf',\n id: 'OEU',\n fileName: 'oeuf.svg',\n },\n {\n name: 'Poisson',\n id: 'POI',\n fileName: 'poisson.svg',\n },\n {\n name: 'Sésame',\n id: 'SES',\n fileName: 'sesame.svg',\n },\n {\n name: 'Soja',\n id: 'SOJ',\n fileName: 'soja.svg',\n },\n {\n name: 'Sulfite',\n id: 'SUL',\n fileName: 'sulfite.svg',\n },\n];\n\nexport const ORIGINES: Picto[] = [\n {\n name: 'Agriculture biologique',\n id: 'BIO',\n fileName: 'ab.svg',\n },\n {\n name: 'Cuisine Vapeur',\n id: 'CUIVAP',\n fileName: 'cuisine_vapeur.png',\n },\n {\n name: 'Recette équilibrée',\n id: 'RECEQU',\n fileName: 'equilibre.png',\n },\n {\n name: 'Viande fraîche et française',\n id: 'VIFRFR',\n fileName: 'fraiche_et_francaise.png',\n },\n {\n name: 'Produit frais',\n id: 'PROFRA',\n fileName: 'frais.png',\n },\n {\n name: 'Légumes cuisinés par le chef',\n id: 'LECUCH',\n fileName: 'legumes_du_chef.png',\n },\n {\n name: 'Produit Local',\n id: 'PROLOC',\n fileName: 'local.png',\n },\n {\n name: 'Menu Label',\n id: 'MENLAB',\n fileName: 'menu_label.png',\n },\n {\n name: 'Menu Plaisir',\n id: 'MENPLA',\n fileName: 'menu_plaisir.png',\n },\n {\n name: 'Menu Malin',\n id: 'MENMAL',\n fileName: 'menu_malin.png',\n },\n {\n name: 'Pâtisserie réalisée par le chef',\n id: 'PATCHE',\n fileName: 'patisserie_du_chef.png',\n },\n {\n name: 'Plat du jour',\n id: 'PLAJOU',\n fileName: 'plat_du_jour.png',\n },\n {\n name: 'Pêche du jour',\n id: 'PECJOU',\n fileName: 'peche.png',\n },\n {\n name: 'Recette réalisée par le chef',\n id: 'RECCHE',\n fileName: 'recette_du_chef.png',\n },\n {\n name: 'Produit de saison',\n id: 'PROSAI',\n fileName: 'saison.png',\n },\n {\n name: 'Sans Gluten',\n id: 'SANGLU',\n fileName: 'sans_gluten.png',\n },\n {\n name: 'Sauce cuisinée par le chef',\n id: 'SAUCHE',\n fileName: 'sauce_du_chef.png',\n },\n {\n name: 'Cuisine spectacle (show cooking)',\n id: 'CUISPE',\n fileName: 'show_cooking.png',\n },\n {\n name: 'Recette végétarienne',\n id: 'RECVEG',\n fileName: 'vege.png',\n },\n {\n name: 'Viande bovine française',\n id: 'VIBOFR',\n fileName: 'vbf.png',\n },\n {\n name: 'Egalim',\n id: 'EGALIM',\n fileName: 'egalim.svg',\n },\n {\n name: 'Produit labellisé',\n id: 'PROLAB',\n fileName: 'produit_labellise.svg',\n },\n {\n name: 'Anti-gaspi',\n id: 'ANTGAS',\n fileName: 'anti_gaspi.svg',\n },\n {\n name: 'Viande EU',\n id: 'VIAEU',\n fileName: 'veu.svg',\n },\n {\n name: 'Viande française',\n id: 'VIAFRA',\n fileName: 'vf.svg',\n },\n];\n\nexport const PRODUCT_TYPES: Picto[] = [\n {\n name: 'Entrée',\n id: PRODUCT_TYPE.ENT,\n fileName: 'entrees.png',\n },\n {\n name: 'Plat',\n id: PRODUCT_TYPE.PLA,\n fileName: 'plats.png',\n },\n {\n name: 'Dessert',\n id: PRODUCT_TYPE.DES,\n fileName: 'desserts.png',\n },\n {\n name: 'Fromage',\n id: PRODUCT_TYPE.FRO,\n fileName: 'fromages.png',\n },\n {\n name: 'Laitage',\n id: PRODUCT_TYPE.LAI,\n fileName: 'laitages.png',\n },\n {\n name: 'Boisson',\n id: PRODUCT_TYPE.BOI,\n fileName: 'boissons.png',\n },\n {\n name: 'Snacking',\n id: PRODUCT_TYPE.SNA,\n fileName: 'cafeteria.png',\n },\n {\n name: 'Formule',\n id: PRODUCT_TYPE.FOR,\n fileName: 'formule.png',\n },\n {\n name: 'Casiers connecté',\n id: PRODUCT_TYPE.LOC,\n fileName: 'casiers.png',\n },\n];\n\nexport const NUTRISCORE: Nutriscore[] = [\n {\n id: 1,\n fileName: '1.svg',\n fileNameVertical: 'v_1.svg',\n },\n {\n id: 2,\n fileName: '2.svg',\n fileNameVertical: 'v_2.svg',\n },\n {\n id: 3,\n fileName: '3.svg',\n fileNameVertical: 'v_3.svg',\n },\n {\n id: 4,\n fileName: '4.svg',\n fileNameVertical: 'v_4.svg',\n },\n {\n id: 5,\n fileName: '5.svg',\n fileNameVertical: 'v_5.svg',\n },\n];\n","import spacetime from 'spacetime';\n\nimport {formatShortDate, isBeforeDate, isEqualDate, isToday, tzParis} from '@/core/tools';\n\nimport {Day, Menu, Service} from '../interfaces';\n\nexport function reduceDays(menus: Menu[]): Day[] {\n return menus\n .reduce((days, menu) => {\n if (\n !days.find((day) => isEqualDate(menu.date, day.date)) &&\n (isBeforeDate(spacetime.now(tzParis).toLocalDate().toISOString(), menu.date) ||\n isToday(menu.date))\n ) {\n days.push({date: menu.date, formattedShortDate: formatShortDate(menu.date)});\n }\n return days;\n }, [])\n .sort((a, b) => (isBeforeDate(a.date, b.date) ? -1 : 1))\n .slice(0, 5);\n}\n\nexport function getNextDay(menus: Menu[]): Day {\n return reduceDays(menus).reduce(\n (currentDay, nextDay) =>\n isBeforeDate(currentDay.date, nextDay.date) && !isToday(currentDay.date)\n ? currentDay\n : nextDay,\n {\n date: new Date().toISOString(),\n formattedShortDate: formatShortDate(new Date().toISOString()),\n }\n );\n}\n\nexport function isActivatedComment(menu: Menu | null, service: Service | null): boolean {\n if (menu && service) {\n if (isToday(menu.date)) {\n const endAt = new Date();\n const endHour = parseInt(service.endAt.split(':')[0], 10) - 1;\n endAt.setHours(\n endHour === -1 ? 23 : endHour,\n parseInt(service.endAt.split(':')[1], 10),\n 0,\n 0\n );\n return isBeforeDate(endAt.toISOString(), new Date().toISOString());\n }\n }\n return false;\n}\n","export function formatPrice(value: string): string {\n if (value) {\n if (value === '-1') {\n return 'Error';\n }\n const number = parseFloat(value.replace(',', '.'));\n if (Number.isNaN(number)) {\n return value;\n }\n const string = number.toFixed(2);\n const parts = string.split('.');\n if (parts.length === 2) {\n const int = parts[0];\n const decimals = parts[1];\n const mode = `${int},${decimals}€`;\n return mode;\n }\n }\n return value;\n}\n","import {ALLERGENES, NUTRISCORE, ORIGINES, PRODUCT_TYPES} from '../constants/collections';\nimport {PRODUCT_TYPE} from '../constants/enums';\nimport {Day, Menu, Picto, Product, Service} from '../interfaces';\n\nexport function productsByTypeProduct(\n products: Product[],\n typeProduct: PRODUCT_TYPE | string\n): Product[] {\n return products.filter((product) => product.type === typeProduct);\n}\n\nexport function filterAllergenes(allergenes: string[]): Picto[] {\n return ALLERGENES.filter((localAllergene) =>\n allergenes.some((allergene: string) => allergene === localAllergene.id)\n );\n}\nexport function filterOrigines(origines: string[]): Picto[] {\n return ORIGINES.filter((localOrigine) =>\n origines.some((origine: string) => origine === localOrigine.id)\n );\n}\n\nexport function filterType(product: Product): string {\n return PRODUCT_TYPES.filter((productType) => productType.id === product.type)[0].name || '';\n}\n\nexport function filterTypesProduct(products: Product[]): Picto[] {\n return PRODUCT_TYPES.filter((type) => products.some((product) => product.type === type.id));\n}\n\nexport function hasMenus(menus: Menu[], day: Day | null, service: Service): boolean {\n return menus.some(\n (menuFiltred) =>\n day && menuFiltred.date === day.date && menuFiltred.serviceCode === service.code\n );\n}\n\nexport function getMenuId(menus: Menu[], day: Day, service: Service): string {\n const foundMenu = menus.find(\n (menuFiltred) => menuFiltred.date === day.date && menuFiltred.serviceCode === service.code\n );\n return foundMenu\n ? foundMenu._id\n : menus.filter((menuFiltred) => menuFiltred.date === day.date)[0]._id;\n}\n\nexport function filterNutriscore(nustriscoreProduct: number, isVertical: boolean): string {\n return isVertical\n ? NUTRISCORE.filter((nutriscore) => nutriscore.id === nustriscoreProduct)[0].fileNameVertical ||\n ''\n : NUTRISCORE.filter((nutriscore) => nutriscore.id === nustriscoreProduct)[0].fileName || '';\n}\n","import spacetime from 'spacetime';\n\nimport {isBeforeDate, tzParis} from '@/core/tools';\n\nimport {Day, Menu, Service} from '../interfaces';\nimport {hasMenus} from './product.tools';\n\nexport function isBeforeService(m: string, n: string, x?: string): boolean {\n const startAt = new Date().setHours(parseInt(m.split(':')[0], 10), parseInt(m.split(':')[1], 10));\n const endAt = new Date().setHours(parseInt(n.split(':')[0], 10), parseInt(n.split(':')[1], 10));\n if (x) {\n const nextStartAt = new Date().setHours(\n parseInt(x.split(':')[0], 10),\n parseInt(x.split(':')[1], 10)\n );\n\n return (\n (spacetime.now(tzParis).isBefore(spacetime(startAt, tzParis)) ||\n spacetime.now(tzParis).isBefore(spacetime(endAt, tzParis))) &&\n spacetime(startAt, tzParis).isBefore(spacetime(nextStartAt, tzParis))\n );\n }\n return (\n spacetime.now(tzParis).isBefore(spacetime(startAt, tzParis)) ||\n spacetime.now(tzParis).isBefore(spacetime(endAt, tzParis))\n );\n}\n\nexport function isNextDayService(m: string, x: string): boolean {\n const startAt = new Date().setHours(parseInt(m.split(':')[0], 10), parseInt(m.split(':')[1], 10));\n const nextStartAt = new Date().setHours(\n parseInt(x.split(':')[0], 10),\n parseInt(x.split(':')[1], 10)\n );\n return isBeforeDate(startAt, nextStartAt);\n}\n\nexport function isNextServiceAvailable(services: Service[], menus: Menu[], day: Day): boolean {\n return services.some(\n (service) => isBeforeService(service.startAt, service.endAt) && hasMenus(menus, day, service)\n );\n}\n","import {PRODUCT_TYPE} from '../constants';\nimport {Day, Menu, MenuState, Product, Service, Zone} from '../interfaces';\nimport {hasMenus, isActivatedComment} from '../tools';\n\nexport const getters = {\n isActivatedComment: (state: MenuState): boolean =>\n isActivatedComment(state.currentMenu, state.selectedService),\n currentMenu: (state: MenuState): Menu | null => state.currentMenu,\n day: (state: MenuState): Day | null => state.selectedDay,\n days: (state: MenuState): Day[] => state.days,\n error: (state: MenuState): boolean => state.error,\n formulaZones: (state: MenuState): Zone[] => state.zones.filter((zone) => zone.formula),\n formulaPrice:\n (state: MenuState) =>\n (code: string): number | null =>\n getters\n .currentMenu(state)\n ?.products?.filter(\n (product) => product.type === PRODUCT_TYPE.FOR && product.zoneCode === code\n )[0].price || null,\n formulaProducts:\n (state: MenuState) =>\n (code: string): Product[] =>\n getters\n .currentMenu(state)\n ?.products?.filter(\n (product) => product.type !== PRODUCT_TYPE.FOR && product.zoneCode === code\n ) || [],\n hasProducts:\n (state: MenuState) =>\n (service: Service): boolean =>\n hasMenus(state.menus, state.selectedDay, service),\n loadingMenu: (state: MenuState): boolean => state.loading,\n menus: (state: MenuState): Menu[] => state.menus,\n products: (state: MenuState): Product[] =>\n getters\n .currentMenu(state)\n ?.products?.filter(\n (product) =>\n product.type !== PRODUCT_TYPE.FOR &&\n !getters.formulaZones(state).some((zone) => zone.code === product.zoneCode)\n )\n .sort((a, b) => (a.zoneCode < b.zoneCode ? -1 : 1)) || [],\n service: (state: MenuState): Service | null => state.selectedService,\n services: (state: MenuState): Service[] =>\n state.services\n .filter((service) => getters.hasProducts(state)(service))\n .sort((a, b) => (a.startAt < b.startAt ? -1 : 1)),\n zone:\n (state: MenuState) =>\n (code: string): Zone | null =>\n state.zones.find((zone) => zone.code === code) || null,\n zones: (state: MenuState): Zone[] => state.zones,\n};\n","import {formatShortDate, isToday} from '@/core';\n\nimport {Day, Menu, MenuState, Service, Zone} from '../interfaces';\nimport {\n hasMenus,\n isBeforeService,\n isNextDayService,\n isNextServiceAvailable,\n reduceDays,\n} from '../tools';\n\nexport const mutations = {\n SET_CURRENT_MENU(state: MenuState, menu: Menu): void {\n state.currentMenu = menu;\n if (menu.serviceCode !== state.selectedService?.code) {\n const foundService = state.services.find((service) => service.code === menu.serviceCode);\n mutations.SET_SERVICE(state, foundService);\n }\n },\n SET_DAY(state: MenuState, selectedDay?: Day): void {\n if (selectedDay) {\n state.selectedDay = selectedDay;\n } else {\n const days = reduceDays(state.menus);\n if (days.length) {\n state.selectedDay = {\n date: days[0].date,\n formattedShortDate: formatShortDate(days[0].date),\n };\n }\n }\n if (state.selectedDay) mutations.SET_SERVICE(state);\n },\n SET_DAYS(state: MenuState): void {\n state.days = reduceDays(state.menus);\n },\n SET_ERROR(state: MenuState, error: boolean): void {\n state.error = error;\n },\n SET_LOADING_MENU(state: MenuState, loading: boolean): void {\n state.loading = loading;\n },\n SET_MENUS(state: MenuState, menus: Menu[]): void {\n state.menus = menus;\n },\n SET_SERVICE(state: MenuState, selectedService?: Service): void {\n if (selectedService) {\n state.selectedService = selectedService;\n } else if (\n state.selectedDay &&\n isToday(state.selectedDay.date) &&\n isNextServiceAvailable(state.services, state.menus, state.selectedDay)\n ) {\n // selectionne le service(avec des produits) le plus proche de la journée\n const service = state.services.reduce((a, b) =>\n isBeforeService(a.startAt, a.endAt, b.startAt) &&\n hasMenus(state.menus, state.selectedDay, a)\n ? a\n : b\n );\n state.selectedService = service;\n } else if (\n !state.selectedService ||\n (state.selectedDay &&\n state.selectedService &&\n !hasMenus(state.menus, state.selectedDay, state.selectedService))\n ) {\n const service = state.services.reduce((a, b) =>\n isNextDayService(a.startAt, b.startAt) && hasMenus(state.menus, state.selectedDay, a)\n ? a\n : b\n );\n state.selectedService = service;\n }\n },\n SET_SERVICES(state: MenuState, services: Service[]): void {\n state.services = services;\n },\n SET_ZONES(state: MenuState, zones: Zone[]): void {\n state.zones = zones;\n },\n};\n","import {MenuState} from '../interfaces';\n\nexport const state: MenuState = {\n days: [],\n currentMenu: null,\n loading: false,\n menus: [],\n selectedDay: null,\n selectedService: null,\n services: [],\n zones: [],\n error: false,\n};\n","import {actions} from './actions';\nimport {getters} from './getters';\nimport {mutations} from './mutations';\nimport {state} from './state';\n\n// Export menu store\nexport const menu = {\n namespaced: true,\n state,\n mutations,\n actions,\n getters,\n};\n","import {AxiosResponse} from 'axios';\n\nimport axios from '@/core/tools/axios';\n\nimport {AffluenceParams} from '../interfaces';\n\nexport default class SiteService {\n static getSite(slug: string): Promise {\n return axios.get(`/sites/by-slug/${slug}`);\n }\n\n static getSiteByCustomerId(customerId: string): Promise {\n return axios.get(`/sites/${customerId}`);\n }\n\n static getAffluence(affluenceParams: AffluenceParams): Promise {\n return axios.get(`/affluence`, {\n params: {...affluenceParams},\n });\n }\n}\n","/* eslint-disable @typescript-eslint/ban-types */\nimport {actions as articleActions} from '../../articles/store/actions';\nimport {actions as menuActions} from '../../menu/store/actions';\nimport {AffluenceParams, Theme} from '../interfaces';\nimport SiteService from '../services/SiteService';\n\nexport const actions = {\n getSite: async ({commit}: {commit: Function}, slug: string): Promise => {\n commit('site/SET_LOADING', true, {root: true});\n await SiteService.getSite(slug)\n .then((response) => {\n const {data} = response;\n const theme: Theme = {\n primary: data.primary,\n secondary: data.secondary,\n accent: data.accent,\n error: data.error,\n info: data.info,\n success: data.success,\n warning: data.warning,\n anchor: data.anchor,\n };\n commit(\n 'site/SET_UI',\n {logo: data.logo, logo2: data.logo2 || null, favicon: data.favicon, theme},\n {root: true}\n );\n commit('site/SET_CUSTOMER_ID', data.customerId, {root: true});\n commit('site/SET_SLUG', data.slug, {root: true});\n commit('site/SET_IS_DEMO', data.slug === 'site-demo', {root: true});\n commit('site/SET_NAME', data.name, {root: true});\n commit('site/SET_MOTD', data.motd || null, {root: true});\n commit(\n 'site/SET_LINKS',\n {\n badgeUrl: data.badgeUrl,\n clickAndCollectUrl: data.clickAndCollectUrl,\n roomServiceUrl: data.roomServiceUrl,\n },\n {root: true}\n );\n commit('site/SET_IS_BOOKING_ACTIVATED', !!data.bookingConfig, {\n root: true,\n });\n commit('site/SET_ENABLE_CONTACT', data.enableContact || false, {\n root: true,\n });\n commit('site/SET_ENABLE_FEEDBACK', data.enableFeedback || false, {\n root: true,\n });\n commit('site/SET_ENABLE_AFFLUENCE', data.enableAffluence || false, {\n root: true,\n });\n commit('site/SET_AFFLUENCE_ZONES', data.affluenceZones || [], {\n root: true,\n });\n commit('site/SET_AFFLUENCE_TZ', data.affluenceTZ || 0, {\n root: true,\n });\n commit('booking/SET_CONFIG', data.bookingConfig || null, {root: true});\n commit('menu/SET_SERVICES', data.services, {root: true});\n commit('menu/SET_ZONES', data.zones, {root: true});\n menuActions\n .getListMenus({commit}, data.customerId)\n .then(() => articleActions.getArticles({commit}, data.customerId));\n })\n .catch(() => {\n commit('site/SET_ERROR', true, {root: true});\n })\n .finally(() => commit('site/SET_LOADING', false, {root: true}));\n },\n getSiteByCustomerId: async (\n {commit}: {commit: Function},\n customerId: string\n ): Promise => {\n commit('site/SET_LOADING', true, {root: true});\n let slug = '';\n await SiteService.getSiteByCustomerId(customerId)\n .then((response) => {\n slug = response.data.slug;\n actions.getSite({commit}, slug);\n })\n .catch(() => {\n commit('site/SET_ERROR', true, {root: true});\n })\n .finally(() => commit('site/SET_LOADING', false, {root: true}));\n return slug;\n },\n getAffluence: async (\n {commit}: {commit: Function},\n affluenceParams: AffluenceParams\n ): Promise => {\n await SiteService.getAffluence(affluenceParams)\n .then((response) => {\n commit('site/SET_AFFLUENCE_RESPONSE', response.data || [], {root: true});\n })\n .catch((e) => {\n console.error(e);\n })\n .finally(() => commit('site/SET_LOADING', false, {root: true}));\n },\n resetAffluence: async ({commit}: {commit: Function}): Promise => {\n commit('site/SET_AFFLUENCE_RESPONSE', [], {root: true});\n },\n};\n","import {AffluenceResponse, AffluenceZone, Links, SiteState, Theme} from '../interfaces';\n\nexport const getters = {\n affluenceResponse: (state: SiteState): AffluenceResponse[] => state.affluenceResponse,\n affluenceTZ: (state: SiteState): number => state.affluenceTZ,\n affluenceZones: (state: SiteState): AffluenceZone[] => state.affluenceZones,\n customerId: (state: SiteState): string => state.customerId,\n error: (state: SiteState): boolean => state.error,\n enableAffluence: (state: SiteState): boolean => state.enableAffluence,\n enableContact: (state: SiteState): boolean => state.enableContact,\n enableFeedback: (state: SiteState): boolean => state.enableFeedback,\n favicon: (state: SiteState): string => state.ui.favicon,\n isBookingActivated: (state: SiteState): boolean => state.isBookingActivated,\n isDemo: (state: SiteState): boolean => state.isDemo,\n links: (state: SiteState): Links | null => state.links,\n loading: (state: SiteState): boolean => state.loading,\n logo: (state: SiteState): string => state.ui.logo,\n logo2: (state: SiteState): string | null => state.ui.logo2,\n motd: (state: SiteState): string | null => state.motd,\n name: (state: SiteState): string => state.name,\n slug: (state: SiteState): string => state.slug,\n theme: (state: SiteState): Theme => state.ui.theme,\n};\n","import {AffluenceResponse, AffluenceZone, Links, SiteState, Ui} from '../interfaces';\n\nexport const mutations = {\n SET_AFFLUENCE_RESPONSE(state: SiteState, affluenceResponse: AffluenceResponse[]): void {\n state.affluenceResponse = affluenceResponse;\n },\n SET_AFFLUENCE_TZ(state: SiteState, affluenceTZ: number): void {\n state.affluenceTZ = affluenceTZ;\n },\n SET_AFFLUENCE_ZONES(state: SiteState, affluenceZones: AffluenceZone[]): void {\n state.affluenceZones = affluenceZones;\n },\n SET_CUSTOMER_ID(state: SiteState, customerId: string): void {\n state.customerId = customerId;\n },\n SET_ENABLE_AFFLUENCE(state: SiteState, enableAffluence: boolean): void {\n state.enableAffluence = enableAffluence;\n },\n SET_ENABLE_CONTACT(state: SiteState, enableContact: boolean): void {\n state.enableContact = enableContact;\n },\n SET_ENABLE_FEEDBACK(state: SiteState, enableFeedback: boolean): void {\n state.enableFeedback = enableFeedback;\n },\n SET_ERROR(state: SiteState, error: boolean): void {\n state.error = error;\n },\n SET_IS_BOOKING_ACTIVATED(state: SiteState, isBookingActivated: boolean): void {\n state.isBookingActivated = isBookingActivated;\n },\n SET_IS_DEMO(state: SiteState, isDemo: boolean): void {\n state.isDemo = isDemo;\n },\n SET_LINKS(state: SiteState, links: Links): void {\n state.links = links;\n },\n SET_LOADING(state: SiteState, loading: boolean): void {\n state.loading = loading;\n },\n SET_MOTD(state: SiteState, motd: string | null): void {\n state.motd = motd;\n },\n SET_NAME(state: SiteState, name: string): void {\n state.name = name;\n },\n SET_SLUG(state: SiteState, slug: string): void {\n state.slug = slug;\n },\n SET_UI(state: SiteState, ui: Ui): void {\n state.ui = ui;\n },\n};\n","import {THEME} from '../constants';\nimport {SiteState} from '../interfaces';\n\nexport const state: SiteState = {\n error: false,\n links: null,\n loading: false,\n name: '',\n customerId: '',\n ui: {\n logo: '',\n logo2: null,\n favicon: '',\n theme: THEME,\n },\n isBookingActivated: false,\n slug: '',\n isDemo: false,\n motd: null,\n enableContact: false,\n enableFeedback: false,\n enableAffluence: false,\n affluenceZones: [],\n affluenceResponse: [],\n affluenceTZ: 0,\n};\n","import {actions} from './actions';\nimport {getters} from './getters';\nimport {mutations} from './mutations';\nimport {state} from './state';\n\n// Export site store\nexport const site = {\n namespaced: true,\n state,\n mutations,\n actions,\n getters,\n};\n","import axios from 'axios';\nimport Vue from 'vue';\nimport VueAxios from 'vue-axios';\nimport Vuex from 'vuex';\n\nimport {article} from '@/articles/store';\nimport {booking} from '@/bookings/store';\nimport {feedback} from '@/feedback/store';\nimport {menu} from '@/menu/store';\nimport {site} from '@/site/store';\n\nVue.use(Vuex);\nVue.use(VueAxios, axios);\n\n// Export store\nexport const store = new Vuex.Store({\n modules: {\n site,\n menu,\n article,\n booking,\n feedback,\n },\n});\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.loading && _vm.bookingConfig)?_c('v-container',{staticClass:\"pa-0\"},[_c('h1',{staticClass:\"h1 font-weight-bold Reservation__title mt-3\"},[_vm._v(\" Réserver une \"),_c('span',{staticClass:\"primary--text\"},[_vm._v(\"Place\")])]),_c('v-window',{attrs:{\"vertical\":\"\",\"light\":\"\",\"touchless\":\"\"},model:{value:(_vm.stepReservation),callback:function ($$v) {_vm.stepReservation=$$v},expression:\"stepReservation\"}},[_c('v-window-item',{attrs:{\"value\":1,\"transition\":\"step-transition\"}},[_c('p',{staticClass:\"text-subtitle-2 font-weight-bold mt-5\"},[_vm._v(\"1 . Détails de la réservation\")]),_c('v-expansion-panels',{staticClass:\"mb-2\",attrs:{\"flat\":\"\"},model:{value:(_vm.stepPanel),callback:function ($$v) {_vm.stepPanel=$$v},expression:\"stepPanel\"}},[_c('v-expansion-panel',{staticClass:\"mb-4\",attrs:{\"flat\":\"\"}},[_c('v-expansion-panel-header',[[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"text-subtitle-2 font-weight-bold d-flex align-center\"},[_c('v-icon',{staticClass:\"mr-3\",attrs:{\"dense\":\"\",\"color\":\"secondary\"}},[_vm._v(\" mdi-calendar-range-outline\")]),_vm._v(\" Date \"),(_vm.form.date)?_c('span',{staticClass:\"mx-1\"},[_vm._v(\"-\")]):_vm._e(),(_vm.form.date)?_c('span',{staticClass:\"mx-1 primary--text font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.getFormatDate(_vm.form.date)))]):_vm._e()],1)],1)]],2),_c('v-expansion-panel-content',[_c('v-divider',{staticClass:\"mx-5\"}),_c('v-date-picker',{staticClass:\"pa-0\",attrs:{\"full-width\":\"\",\"no-title\":\"\",\"show-current\":true,\"color\":\"primary\",\"locale\":\"fr\",\"first-day-of-week\":1,\"min\":_vm.today,\"allowed-dates\":_vm.allowedDates},model:{value:(_vm.selectedDate),callback:function ($$v) {_vm.selectedDate=$$v},expression:\"selectedDate\"}})],1)],1),_c('v-expansion-panel',{staticClass:\"mb-4\",attrs:{\"disabled\":!_vm.form.date}},[_c('v-expansion-panel-header',[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"text-subtitle-2 font-weight-bold d-flex align-center\"},[_c('v-icon',{staticClass:\"mr-3\",attrs:{\"dense\":\"\",\"color\":\"secondary\"}},[_vm._v(\"mdi-clock-time-four-outline\")]),_vm._v(\" Heure \"),(_vm.form.slot)?_c('span',{staticClass:\"mx-1\"},[_vm._v(\"-\")]):_vm._e(),(_vm.form.slot)?_c('span',{staticClass:\"mx-1 primary--text font-weight-medium\"},[_vm._v(_vm._s(_vm.form.slot))]):_vm._e()],1)],1)],1),_c('v-expansion-panel-content',[_c('v-divider',{staticClass:\"mx-5\"}),_c('div',{staticClass:\"my-6 px-5\"},_vm._l((_vm.bookingConfig.slots),function(slot,i){return _c('v-btn-toggle',{key:i,staticClass:\"Reservation__toggleButton mr-1 mb-2\",class:{active: slot.startTime === _vm.form.slot},attrs:{\"group\":\"\",\"dense\":\"\",\"mandatory\":\"\"}},[_c('v-btn',{staticClass:\"Reservation__button white secondary--text text-none ma-0\",attrs:{\"height\":\"45\",\"outlined\":\"\",\"width\":\"100%\",\"text\":\"\",\"ripple\":false,\"disabled\":_vm.onAvailableSlot(slot)},on:{\"click\":function($event){return _vm.onSelectSlot(slot)}}},[_vm._v(_vm._s(slot.startTime)+\"-\"+_vm._s(slot.endTime)+\" \")])],1)}),1)],1)],1),_c('v-expansion-panel',{attrs:{\"disabled\":!_vm.form.slot}},[_c('v-expansion-panel-header',[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"text-subtitle-2 font-weight-bold d-flex align-center\"},[_c('v-icon',{staticClass:\"mr-3\",attrs:{\"dense\":\"\",\"color\":\"secondary\"}},[_vm._v(\"mdi-account-group-outline\")]),_vm._v(\" Nombre de personnes \"),(_vm.form.seats)?_c('span',{staticClass:\"mx-1\"},[_vm._v(\"-\")]):_vm._e(),(_vm.form.seats)?_c('span',{staticClass:\"mx-1 primary--text font-weight-medium\"},[_vm._v(_vm._s(_vm.form.seats))]):_vm._e()],1)],1)],1),_c('v-expansion-panel-content',{staticClass:\"Reservation__panel mb-9\"},[_c('v-divider',{staticClass:\"mx-5 mb-8\"}),_c('div',{staticClass:\"Reservation__panelContainer\"},[_c('div',{staticClass:\"Reservation__seats\"},[_c('v-text-field',{staticClass:\"Reservation__Input px-4\",attrs:{\"outlined\":\"\",\"dense\":\"\",\"hide-details\":\"auto\"},on:{\"input\":function($event){_vm.$v.form.seats ? _vm.$v.form.seats.$touch() : ''},\"blur\":function($event){_vm.$v.form.seats ? _vm.$v.form.seats.$touch() : ''}},model:{value:(_vm.form.seats),callback:function ($$v) {_vm.$set(_vm.form, \"seats\", _vm._n($$v))},expression:\"form.seats\"}},[_c('v-icon',{staticClass:\"Reservation__icon rounded-lg\",class:{active: _vm.isIncrementActive},attrs:{\"slot\":\"append-outer\",\"size\":\"34px\"},on:{\"click\":function($event){_vm.increment(), _vm.$v.form.seats ? _vm.$v.form.seats.$touch() : ''}},slot:\"append-outer\"},[_vm._v(\" mdi-plus \")]),_c('v-icon',{staticClass:\"rounded-lg\",class:{active: _vm.isDecrementActive},attrs:{\"slot\":\"prepend\",\"size\":\"34px\",\"disabled\":!_vm.form.seats},on:{\"click\":function($event){_vm.decrement(), _vm.$v.form.seats ? _vm.$v.form.seats.$touch() : ''}},slot:\"prepend\"},[_vm._v(\" mdi-minus \")])],1)],1),(_vm.form.seats === 0 && _vm.$v.form.seats && _vm.$v.form.seats.$dirty)?_c('p',{staticClass:\"v-messages theme--light error--text\"},[_vm._v(\" Ce champ est obligatoire \")]):_vm._e(),(_vm.form.seats < 0)?_c('p',{staticClass:\"v-messages theme--light error--text\"},[_vm._v(\" Veuillez saisir un nombre de personne supérieure à 0 \")]):_vm._e(),(_vm.selectedSlot && _vm.form.seats > _vm.selectedSlot.seatsThreshold)?_c('p',{staticClass:\"text-subtitle-2 px-5 text-center mt-2\"},[_vm._v(\" Pour toute réservation au-delà de \"),_c('span',{staticClass:\"primary--text font-weight-bold\"},[_vm._v(_vm._s(_vm.selectedSlot.seatsThreshold))]),_vm._v(\" personnes, une validation sera effectuée par un responsable \")]):_vm._e()])],1)],1)],1),_c('transition',{attrs:{\"name\":\"fab\",\"appear\":\"\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.stepReservation === 1),expression:\"stepReservation === 1\"}],staticClass:\"FloatingButton\"},[_c('v-btn',{staticClass:\"FloatingButton__btn text-none mb-10 white--text font-weight-light\",attrs:{\"elevation\":\"0\",\"large\":\"\",\"rounded\":\"\",\"color\":\"primary\",\"disabled\":!(_vm.form.date && _vm.form.slot && _vm.form.seats),\"rel\":\"noopener noreferrer\"},on:{\"click\":function($event){return _vm.updateStep()}}},[_vm._v(\" Suivant\")])],1)])],1),_c('v-window-item',{attrs:{\"value\":2,\"transition\":\"step-transition\"}},[_c('p',{staticClass:\"text-subtitle-2 font-weight-bold mt-5\"},[_vm._v(\"2 . Confirmation de la réservation\")]),_c('div',{staticClass:\"d-flex justify-space-between align-center white py-4 px-4 rounded-lg\"},[_c('ul',{staticClass:\"d-flex text-subtitle-2 font-weight-bold\"},[_c('li',[_vm._v(_vm._s(_vm.getFormatDate(_vm.form.date)))]),_c('li',[_c('span',{staticClass:\"ml-1 font-weight-light\"},[_vm._v(\"-\")]),_vm._v(\" \"+_vm._s(_vm.form.slot))]),_c('li',[_c('span',{staticClass:\"ml-1 font-weight-light\"},[_vm._v(\"-\")]),_vm._v(\" \"+_vm._s(_vm.form.seats)+\" pers. \")])]),_c('v-btn',{staticClass:\"rounded-lg\",attrs:{\"elevation\":\"0\",\"width\":\"34px\",\"height\":\"34px\",\"color\":\"secondary\",\"fab\":\"\",\"tile\":\"\"},on:{\"click\":function($event){_vm.stepReservation = 1}}},[_c('v-icon',{attrs:{\"dark\":\"\"}},[_vm._v(\" mdi-pencil \")])],1)],1),_c('v-form',{ref:\"form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.submitForm()}},model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('div',{staticClass:\"mb-2\"},[_c('div',{staticClass:\"mt-5\"},[_c('h3',{staticClass:\"subtitle-2 font-weight-bold\"},[_vm._v(\"Nom\")])]),_c('v-text-field',{attrs:{\"filled\":\"\",\"dense\":\"\",\"solo\":\"\",\"required\":\"\",\"flat\":\"\",\"hide-details\":\"auto\",\"error-messages\":_vm.nameErrors('lastName')},on:{\"input\":function($event){_vm.$v.form.lastName ? _vm.$v.form.lastName.$touch() : ''},\"blur\":function($event){_vm.$v.form.lastName ? _vm.$v.form.lastName.$touch() : ''}},model:{value:(_vm.form.lastName),callback:function ($$v) {_vm.$set(_vm.form, \"lastName\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"form.lastName\"}}),_c('div',{staticClass:\"mt-5\"},[_c('h3',{staticClass:\"subtitle-2 font-weight-bold\"},[_vm._v(\"Prénom\")])]),_c('v-text-field',{attrs:{\"filled\":\"\",\"dense\":\"\",\"solo\":\"\",\"required\":\"\",\"flat\":\"\",\"hide-details\":\"auto\",\"error-messages\":_vm.nameErrors('firstName')},on:{\"input\":function($event){_vm.$v.form.firstName ? _vm.$v.form.firstName.$touch() : ''},\"blur\":function($event){_vm.$v.form.firstName ? _vm.$v.form.firstName.$touch() : ''}},model:{value:(_vm.form.firstName),callback:function ($$v) {_vm.$set(_vm.form, \"firstName\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"form.firstName\"}}),_c('div',{staticClass:\"mt-5\"},[_c('h3',{staticClass:\"subtitle-2 font-weight-bold\"},[_vm._v(\"Adresse email\")])]),_c('v-text-field',{attrs:{\"filled\":\"\",\"dense\":\"\",\"solo\":\"\",\"required\":\"\",\"type\":\"email\",\"name\":\"email\",\"flat\":\"\",\"hide-details\":\"auto\",\"error-messages\":_vm.emailErrors()},on:{\"input\":function($event){_vm.$v.form.email ? _vm.$v.form.email.$touch() : ''},\"blur\":function($event){_vm.$v.form.email ? _vm.$v.form.email.$touch() : ''}},model:{value:(_vm.form.email),callback:function ($$v) {_vm.$set(_vm.form, \"email\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"form.email\"}}),_c('div',{staticClass:\"mt-5\"},[_c('h3',{staticClass:\"subtitle-2 font-weight-bold\"},[_vm._v(\" Numéro de téléphone \"),_c('span',{staticClass:\"font-weight-light\"},[_vm._v(\"(facultatif)\")])])]),_c('v-text-field',{attrs:{\"filled\":\"\",\"dense\":\"\",\"solo\":\"\",\"flat\":\"\",\"hide-details\":\"auto\",\"error-messages\":_vm.mobileErrors()},on:{\"input\":function($event){_vm.$v.form.mobile ? _vm.$v.form.mobile.$touch() : ''},\"blur\":function($event){_vm.$v.form.mobile ? _vm.$v.form.mobile.$touch() : ''}},model:{value:(_vm.form.mobile),callback:function ($$v) {_vm.$set(_vm.form, \"mobile\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"form.mobile\"}}),_c('div',{staticClass:\"mt-5 mb-0\"},[_c('h3',{staticClass:\"subtitle-2 font-weight-bold\"},[_vm._v(\" Commentaire \"),_c('span',{staticClass:\"font-weight-light\"},[_vm._v(\"(facultatif)\")])])]),_c('v-textarea',{attrs:{\"name\":\"textarea\",\"filled\":\"\",\"dense\":\"\",\"solo\":\"\",\"auto-grow\":\"\",\"flat\":\"\",\"counter\":\"\",\"rules\":[function (v) { return v.length <= 250 || 'Max 250 caractères'; }]},model:{value:(_vm.form.comment),callback:function ($$v) {_vm.$set(_vm.form, \"comment\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"form.comment\"}})],1),_c('v-dialog',{attrs:{\"fullscreen\":_vm.$vuetify.breakpoint.smAndDown,\"max-width\":\"700px\",\"persistent\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('transition',{attrs:{\"name\":\"fab\",\"appear\":\"\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.stepReservation === 2),expression:\"stepReservation === 2\"}],staticClass:\"d-flex justify-center FloatingButton\"},[_c('v-btn',_vm._g(_vm._b({staticClass:\"FloatingButton__btn text-none mb-10 white--text font-weight-light\",attrs:{\"elevation\":\"0\",\"large\":\"\",\"rounded\":\"\",\"color\":\"primary\",\"type\":\"submit\",\"value\":\"Submit\",\"disabled\":!(_vm.valid && _vm.form.email && _vm.form.lastName && _vm.form.firstName)}},'v-btn',attrs,false),on),[_vm._v(\" Valider\")])],1)])]}}],null,false,2704174312),model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',{staticClass:\"Reservation__card d-flex flex-column justify-center align-center py-md-10\"},[_c('v-img',{attrs:{\"contain\":\"\",\"max-height\":\"300\",\"src\":_vm.response\n ? require('../../core/assets/images/bg/ok-form.svg')\n : require('../../core/assets/images/bg/error-form.svg')}}),(_vm.response && !_vm.error)?_c('v-container',{staticClass:\"px-8 pb-2\"},[_c('h2',{staticClass:\"text-h5 font-weight-black mb-4 text-center\"},[_vm._v(\" Votre réservation a été enregistrée \")]),(_vm.selectedSlot && _vm.form.seats > _vm.selectedSlot.seatsThreshold)?_c('p',{staticClass:\"text-body-2 text-center\"},[_vm._v(\" Un responsable validera ou non la réservation du \"+_vm._s(_vm.getFormatDate(_vm.form.date))+\" à \"+_vm._s(_vm.form.slot)+\" pour \"+_vm._s(_vm.form.seats)+\" \"+_vm._s(_vm.form.seats > 1 ? 'personnes' : 'personne')+\". \")]):_c('p',{staticClass:\"text-body-2 text-center\"},[_vm._v(\" Une confirmation a été envoyée sur votre adresse mail pour une réservation le \"+_vm._s(_vm.getFormatDate(_vm.form.date))+\" à \"+_vm._s(_vm.form.slot)+\" pour \"+_vm._s(_vm.form.seats)+\" \"+_vm._s(_vm.form.seats > 1 ? 'personnes' : 'personne')+\". Pour toute annulation, vous trouverez un lien dans votre mail de confirmation. \")])]):_c('v-container',{staticClass:\"px-8 pb-2\"},[_c('h2',{staticClass:\"text-h5 font-weight-black mb-4 text-center\"},[_vm._v(\"Erreur\")]),(_vm.errorMessage)?_c('p',{staticClass:\"text-body-2 text-center\"},[_vm._v(\" \"+_vm._s(_vm.errorMessage)+\" \")]):_c('p',{staticClass:\"text-body-2 text-center\"},[_vm._v(\" Une erreur s'est produite,veuillez réessayer plus tard \")])]),_c('div',{staticClass:\"d-flex justify-center\"},[_c('v-btn',{staticClass:\"Form__btn text-none font-weight-medium\",attrs:{\"elevation\":\"0\",\"large\":\"\",\"rounded\":\"\",\"color\":\"primary\",\"to\":{name: 'home', params: {id: _vm.$route.params.id}},\"exact\":\"\"},on:{\"click\":function($event){return _vm.resetForm()}}},[_vm._v(\" Retourner à l’accueil\")])],1),_c('a',{staticClass:\"pt-2 caption\",on:{\"click\":function($event){return _vm.resetForm()}}},[_vm._v(\" Créer une nouvelle réservation \")])],1)],1)],1)],1)],1)],1):(_vm.loading)?_c('div',[_c('v-overlay',[_c('v-progress-circular',{attrs:{\"color\":\"primary\",\"indeterminate\":\"\",\"size\":\"64\",\"width\":\"5\"}})],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import spacetime from 'spacetime';\n\nimport {isBeforeDate, isToday, tzParis} from '@/core';\n\nimport {ClosedDate, CountBooking} from '../interfaces';\n\nexport function isClosedDay(\n workingDays?: {weekDay: number; enable: boolean}[]\n): (date: string) => boolean {\n return (date) => {\n if (workingDays) {\n const workingDay = workingDays.find((wd) => wd.weekDay === spacetime(date).day());\n return workingDay ? !workingDay.enable : false;\n }\n return false;\n };\n}\n\nexport function isClosedDate(closedDates: ClosedDate[]): (date: string) => boolean {\n return (date) =>\n closedDates.some((p) =>\n spacetime(date, tzParis).isBetween(\n spacetime(p.from, tzParis),\n spacetime(p.to, tzParis).add(1, 'day'),\n true\n )\n );\n}\n\nexport function onBookableDays(n: string, bookableDays: number): boolean {\n return spacetime(n, tzParis).since(spacetime.now(tzParis)).diff.days < bookableDays;\n}\n\nexport function isAvailableSlot(startTime: string, date: string): boolean {\n let startAt = spacetime(date, tzParis);\n startAt = startAt.hour(parseInt(startTime.split(':')[0], 10));\n startAt = startAt.minute(parseInt(startTime.split(':')[1], 10));\n if (isToday(startAt.format('iso') as string)) {\n return isBeforeDate(\n spacetime.now(tzParis).toLocalDate().toISOString(),\n startAt.format('iso') as string\n );\n }\n return true;\n}\n\nexport function isAvailableSeats(\n startTime: string,\n slotSeats: number,\n countBookings: CountBooking[]\n): boolean {\n if (countBookings.length > 0) {\n const foundDate = countBookings.find(\n (countBooking) =>\n spacetime(countBooking._id).goto(tzParis).format('{hour-24-pad}:{minute-pad}') === startTime\n );\n return foundDate ? slotSeats > foundDate.countSeats : true;\n }\n return true;\n}\n\nexport function formatBookingDate(startTime: string, date: string): string {\n let startAt = spacetime(date);\n startAt = startAt.hour(parseInt(startTime.split(':')[0], 10));\n startAt = startAt.minute(parseInt(startTime.split(':')[1], 10));\n return startAt.format('iso') as string;\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {Component, Vue} from 'vue-property-decorator';\nimport {validationMixin} from 'vuelidate';\nimport {email, minValue, required} from 'vuelidate/lib/validators';\nimport {Action, Getter} from 'vuex-class';\n\nimport {formatDate,PhoneTools} from '@/core/tools';\n\nimport {Booking, BookingConfiguration, CountBooking, Slot} from '../interfaces';\nimport {\n formatBookingDate,\n isAvailableSeats,\n isAvailableSlot,\n isClosedDate,\n isClosedDay,\n onBookableDays,\n} from '../tools';\n\n@Component({\n mixins: [validationMixin],\n validations: {\n form: {\n firstName: {required},\n lastName: {required},\n email: {required, email},\n mobile: {\n isValid(mobile: string) {\n if (mobile) {\n const mobileNumber = new PhoneTools(mobile, 'FR');\n return mobileNumber.isValid();\n }\n return false;\n },\n },\n comment: {},\n seats: {required, minValue: minValue(1)},\n },\n },\n})\nexport default class BookingForm extends Vue {\n @Action('countBookings', {namespace: 'booking'}) getCountBookings!: (params: {\n customerId: string;\n date: string;\n }) => void;\n\n @Action('reset', {namespace: 'booking'}) reset!: () => void;\n\n @Action('sendBooking', {namespace: 'booking'}) sendBooking!: (booking: Booking) => void;\n\n @Getter('bookingConfig', {namespace: 'booking'}) bookingConfig!: BookingConfiguration;\n\n @Getter('customerId', {namespace: 'site'}) customerId!: string;\n\n @Getter('countBookings', {namespace: 'booking'}) countBookings!: CountBooking[];\n\n @Getter('error', {namespace: 'booking'}) error!: boolean;\n\n @Getter('errorMessage', {namespace: 'booking'}) errorMessage!: string;\n\n @Getter('loading', {namespace: 'booking'}) loading!: boolean;\n\n @Getter('response', {namespace: 'booking'}) response!: boolean;\n\n dialog = false;\n\n stepReservation = 1;\n\n stepPanel = 0;\n\n today = new Date(Date.now()).toISOString();\n\n form = {\n customerId: '',\n date: '',\n slot: '',\n seats: 0,\n lastName: '',\n firstName: '',\n mobile: '',\n email: '',\n comment: '',\n };\n\n isIncrementActive = false;\n\n isDecrementActive = false;\n\n valid = false;\n\n selectedSlot: Slot | null = null;\n\n set selectedDate(value: string) {\n if (this.form.date !== value) {\n this.form.seats = 0;\n }\n this.form.date = value;\n this.getCountBookings({customerId: this.customerId, date: this.form.date});\n this.stepPanel = 1;\n }\n\n get selectedDate(): string {\n return this.form.date;\n }\n\n getFormatDate = function getFormatDate(date: string): string {\n return formatDate(date);\n };\n\n allowedDates(date: string): boolean {\n return (\n !isClosedDay(this.bookingConfig.workingDays)(date) &&\n !isClosedDate(this.bookingConfig.closedDates)(date) &&\n onBookableDays(date, this.bookingConfig.bookableDays)\n );\n }\n\n onSelectSlot(slot: Slot): void {\n this.selectedSlot = slot;\n this.form.slot = `${slot.startTime}-${slot.endTime}`;\n this.form.seats = 0;\n this.stepPanel = 2;\n }\n\n onAvailableSlot(slot: Slot): boolean {\n return !(\n isAvailableSlot(slot.startTime, this.form.date) &&\n isAvailableSeats(slot.startTime, slot.seats, this.countBookings)\n );\n }\n\n decrement(): void {\n this.form.seats -= 1;\n if (this.form.seats > 0) {\n this.isDecrementActive = true;\n this.isIncrementActive = false;\n setTimeout(() => {\n this.isDecrementActive = false;\n }, 1000);\n } else {\n this.isDecrementActive = false;\n }\n }\n\n increment(): void {\n this.form.seats += 1;\n this.isIncrementActive = true;\n this.isDecrementActive = false;\n setTimeout(() => {\n this.isIncrementActive = false;\n }, 1000);\n }\n\n updateStep(): void {\n this.stepReservation = 2;\n }\n\n nameErrors(prop: string): string[] {\n const errors: string[] = [];\n if (!this.$v.form[prop]?.$dirty) return errors;\n if (!this.$v.form[prop]?.required) errors.push('Ce champ est obligatoire');\n return errors;\n }\n\n emailErrors(): string[] {\n const errors: string[] = [];\n if (!this.$v.form.email?.$dirty) return errors;\n if (!this.$v.form.email?.email) errors.push(\"L'email doit être valide\");\n if (!this.$v.form.email?.required) errors.push('Ce champ est obligatoire');\n return errors;\n }\n\n mobileErrors(): string[] {\n const errors: string[] = [];\n if (this.$v.form.mobile?.$model && !this.$v.form.mobile?.isValid) {\n errors.push('Le numéro de téléphone doit être valide');\n }\n return errors;\n }\n\n submitForm(): void {\n if (this.selectedSlot) {\n const date = formatBookingDate(this.selectedSlot.startTime, this.form.date);\n const booking: Booking = {\n customerId: this.customerId,\n date,\n seats: this.form.seats,\n firstName: this.form.firstName,\n lastName: this.form.lastName,\n email: this.form.email,\n mobile: this.form.mobile || undefined,\n comment: this.form.comment || undefined,\n };\n this.sendBooking(booking);\n }\n }\n\n resetForm(): void {\n this.dialog = false;\n this.stepReservation = 1;\n this.stepPanel = 0;\n this.isIncrementActive = false;\n this.isDecrementActive = false;\n this.form = {\n customerId: '',\n date: '',\n slot: '',\n seats: 0,\n lastName: '',\n firstName: '',\n mobile: '',\n email: '',\n comment: '',\n };\n this.$v.$reset();\n this.reset();\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BookingForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BookingForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BookingForm.vue?vue&type=template&id=554b119c&scoped=true&\"\nimport script from \"./BookingForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./BookingForm.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./BookingForm.vue?vue&type=style&index=0&id=554b119c&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"554b119c\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VBtnToggle } from 'vuetify/lib/components/VBtnToggle';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDatePicker } from 'vuetify/lib/components/VDatePicker';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanels } from 'vuetify/lib/components/VExpansionPanel';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VOverlay } from 'vuetify/lib/components/VOverlay';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\nimport { VWindow } from 'vuetify/lib/components/VWindow';\nimport { VWindowItem } from 'vuetify/lib/components/VWindow';\ninstallComponents(component, {VBtn,VBtnToggle,VCard,VCol,VContainer,VDatePicker,VDialog,VDivider,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VExpansionPanels,VForm,VIcon,VImg,VOverlay,VProgressCircular,VRow,VTextField,VTextarea,VWindow,VWindowItem})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.loading && _vm.booking)?_c('v-container',{staticClass:\"pa-0\"},[_c('h1',{staticClass:\"h1 font-weight-bold Reservation__title mt-3\"},[_vm._v(\" Annuler votre \"),_c('span',{staticClass:\"primary--text\"},[_vm._v(\"réservation\")]),_vm._v(\"? \")]),_c('p',{staticClass:\"py-5\"},[_vm._v(\" Vous êtes sur le point d'annuler votre réservation du \"+_vm._s(_vm.getFormatDate(_vm.booking.date))+\" à \"+_vm._s(_vm.getFormatTime(_vm.booking.date))+\" pour \"+_vm._s(_vm.booking.seats)+\" \"+_vm._s(_vm.booking.seats > 1 ? 'personnes' : 'personne')+\", cette action est irrémédiable. \")]),_c('v-dialog',{attrs:{\"fullscreen\":_vm.$vuetify.breakpoint.smAndDown,\"max-width\":\"700px\",\"persistent\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('transition',{attrs:{\"name\":\"fab\",\"appear\":\"\"}},[_c('div',{staticClass:\"d-flex justify-center FloatingButton\"},[_c('v-btn',{staticClass:\"FloatingButton__btn text-none mb-10 mr-5 white--text font-weight-light\",attrs:{\"elevation\":\"0\",\"large\":\"\",\"rounded\":\"\",\"color\":\"secondary\",\"to\":{name: 'home', params: {id: _vm.$route.params.slug}}}},[_vm._v(\" Annuler\")]),_c('v-btn',_vm._g(_vm._b({staticClass:\"FloatingButton__btn text-none mb-10 white--text font-weight-light\",attrs:{\"elevation\":\"0\",\"large\":\"\",\"rounded\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){return _vm.onCancelBooking()}}},'v-btn',attrs,false),on),[_vm._v(\" Confirmer\")])],1)])]}}],null,false,1636664941),model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',{staticClass:\"Reservation__card d-flex flex-column justify-center align-center py-md-10\"},[_c('v-img',{attrs:{\"contain\":\"\",\"max-height\":\"300\",\"src\":_vm.response\n ? require('../../core/assets/images/bg/ok-form.svg')\n : require('../../core/assets/images/bg/error-form.svg')}}),(_vm.response && !_vm.error)?_c('v-container',{staticClass:\"px-8 pb-2\"},[_c('h2',{staticClass:\"text-h5 font-weight-black mb-4 text-center\"},[_vm._v(\" Votre réservation a été annulée \")]),_c('p',{staticClass:\"text-body-2 text-center\"},[_vm._v(\" Un récapitulatif a été envoyé sur votre adresse mail pour la réservation du \"+_vm._s(_vm.getFormatDate(_vm.booking.date))+\" à \"+_vm._s(_vm.getFormatTime(_vm.booking.date))+\" pour \"+_vm._s(_vm.booking.seats)+\" \"+_vm._s(_vm.booking.seats > 1 ? 'personnes' : 'personne')+\". \")])]):_c('v-container',{staticClass:\"px-8 pb-2\"},[_c('h2',{staticClass:\"text-h5 font-weight-black mb-4 text-center\"},[_vm._v(\"Erreur\")]),(_vm.errorMessage)?_c('p',{staticClass:\"text-body-2 text-center\"},[_vm._v(\" \"+_vm._s(_vm.errorMessage)+\" \")]):_c('p',{staticClass:\"text-body-2 text-center\"},[_vm._v(\" Une erreur s'est produite,veuillez réessayer plus tard \")])]),_c('div',{staticClass:\"d-flex justify-center\"},[_c('v-btn',{staticClass:\"Form__btn text-none font-weight-medium\",attrs:{\"elevation\":\"0\",\"large\":\"\",\"rounded\":\"\",\"color\":\"primary\",\"to\":{name: 'home', params: {id: _vm.$route.params.slug}},\"exact\":\"\"},on:{\"click\":function($event){return _vm.reset()}}},[_vm._v(\" Retourner à l’accueil\")])],1),_c('a',{staticClass:\"pt-2 caption\",on:{\"click\":function($event){_vm.reset(), _vm.goBooking()}}},[_vm._v(\" Créer une nouvelle réservation \")])],1)],1)],1):(_vm.loading)?_c('div',[_c('v-overlay',[_c('v-progress-circular',{attrs:{\"color\":\"primary\",\"indeterminate\":\"\",\"size\":\"64\",\"width\":\"5\"}})],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {Component, Vue, Watch} from 'vue-property-decorator';\nimport {Action, Getter} from 'vuex-class';\n\nimport {formatDate, formatTime} from '@/core';\n\nimport {Booking} from '../interfaces';\n\n@Component\nexport default class CancelBooking extends Vue {\n @Action('reset', {namespace: 'booking'}) reset!: () => void;\n\n @Action('getBooking', {namespace: 'booking'}) getBooking!: (id: string) => void;\n\n @Action('cancelBooking', {namespace: 'booking'}) cancelBooking!: (id: string) => void;\n\n @Getter('error', {namespace: 'booking'}) error!: boolean;\n\n @Getter('errorMessage', {namespace: 'booking'}) errorMessage!: string;\n\n @Getter('loading', {namespace: 'booking'}) loading!: boolean;\n\n @Getter('response', {namespace: 'booking'}) response!: boolean;\n\n @Getter('currentBooking', {namespace: 'booking'}) booking!: Booking | null;\n\n dialog = false;\n\n @Watch('$store.state.booking.error')\n bookingNotFound(): void {\n if (!this.booking) {\n this.$router.replace(`/${this.$route.params.slug}`);\n this.reset();\n }\n }\n\n getFormatDate = function getFormatDate(date: string): string {\n return formatDate(date);\n };\n\n getFormatTime = function getFormatDate(date: string): string {\n return formatTime(date);\n };\n\n mounted(): void {\n if (!this.booking) this.getBooking(this.$route.params.id);\n }\n\n onCancelBooking(): void {\n if (this.booking && this.booking._id) {\n this.cancelBooking(this.booking._id);\n }\n }\n\n goBooking(): void {\n this.$router.replace({name: 'booking', params: {id: this.$route.params.slug}});\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CancelBooking.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CancelBooking.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CancelBooking.vue?vue&type=template&id=67e55d6c&scoped=true&\"\nimport script from \"./CancelBooking.vue?vue&type=script&lang=ts&\"\nexport * from \"./CancelBooking.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CancelBooking.vue?vue&type=style&index=0&id=67e55d6c&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"67e55d6c\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VOverlay } from 'vuetify/lib/components/VOverlay';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\ninstallComponents(component, {VBtn,VCard,VContainer,VDialog,VImg,VOverlay,VProgressCircular})\n","import {NavigationGuardNext, Route, RouteConfig} from 'vue-router';\n\nimport {store} from '@/core/store';\n\nimport BookingForm from './components/BookingForm.vue';\nimport CancelBooking from './components/CancelBooking.vue';\nimport BookingService from './services/BookingService';\n\nexport const bookingRoutes: Array = [\n {\n path: '/reservation/:id',\n name: 'redirectCancelBooking',\n meta: {title: 'Redirection annulation réservation'},\n beforeEnter: async (to: Route, from: Route, next: NavigationGuardNext): Promise => {\n try {\n const response = await BookingService.getBooking(to.params.id);\n if (response && response.status === 200) {\n store.commit('booking/SET_CURRENT_BOOKING', response.data, {root: true});\n await store\n .dispatch('site/getSiteByCustomerId', response.data.customerId)\n .then((slug) => {\n next(`/${slug}/annuler-reservation/${to.params.id}`);\n });\n }\n } catch (error) {\n next('/non-trouve');\n }\n },\n },\n {\n path: '/:slug/reservation',\n name: 'booking',\n component: BookingForm,\n meta: {title: 'Réservation'},\n },\n {\n path: '/:slug/annuler-reservation/:id',\n name: 'cancelBooking',\n component: CancelBooking,\n meta: {title: 'Annulation réservation'},\n },\n];\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.loading)?_c('v-container',{class:_vm.$vuetify.breakpoint.smAndDown ? 'pa-0' : 'px-16'},[_c('h1',{staticClass:\"h1 font-weight-bold Contact__title mt-3\"},[_vm._v(\" Formulaire de \"),_c('span',{staticClass:\"primary--text\"},[_vm._v(\"Contact\")])]),_c('p',{staticClass:\"py-4\"},[_vm._v(\" Notre équipe Dupont Restauration est à votre écoute pour toute question ou avis sur la prestation de restauration \")]),_c('v-form',{ref:\"form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.submitForm()}},model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('div',{staticClass:\"mb-2\"},[_c('div',{staticClass:\"mt-5\"},[_c('h3',{staticClass:\"subtitle-2 font-weight-bold\"},[_vm._v(\"Nom Prénom\")])]),_c('v-text-field',{attrs:{\"filled\":\"\",\"dense\":\"\",\"solo\":\"\",\"required\":\"\",\"flat\":\"\",\"hide-details\":\"auto\",\"error-messages\":_vm.nameErrors('name')},on:{\"input\":function($event){_vm.$v.form.name ? _vm.$v.form.name.$touch() : ''},\"blur\":function($event){_vm.$v.form.name ? _vm.$v.form.name.$touch() : ''}},model:{value:(_vm.form.name),callback:function ($$v) {_vm.$set(_vm.form, \"name\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"form.name\"}}),_c('div',{staticClass:\"mt-5\"},[_c('h3',{staticClass:\"subtitle-2 font-weight-bold\"},[_vm._v(\"Adresse email\")])]),_c('v-text-field',{attrs:{\"filled\":\"\",\"dense\":\"\",\"solo\":\"\",\"required\":\"\",\"type\":\"email\",\"name\":\"email\",\"flat\":\"\",\"hide-details\":\"auto\",\"error-messages\":_vm.emailErrors()},on:{\"input\":function($event){_vm.$v.form.email ? _vm.$v.form.email.$touch() : ''},\"blur\":function($event){_vm.$v.form.email ? _vm.$v.form.email.$touch() : ''}},model:{value:(_vm.form.email),callback:function ($$v) {_vm.$set(_vm.form, \"email\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"form.email\"}}),_c('div',{staticClass:\"mt-5\"},[_c('h3',{staticClass:\"subtitle-2 font-weight-bold\"},[_vm._v(\" Numéro de téléphone \"),_c('span',{staticClass:\"font-weight-light\"},[_vm._v(\"(facultatif)\")])])]),_c('v-text-field',{attrs:{\"filled\":\"\",\"dense\":\"\",\"solo\":\"\",\"flat\":\"\",\"hide-details\":\"auto\",\"error-messages\":_vm.mobileErrors()},on:{\"input\":function($event){_vm.$v.form.mobile ? _vm.$v.form.mobile.$touch() : ''},\"blur\":function($event){_vm.$v.form.mobile ? _vm.$v.form.mobile.$touch() : ''}},model:{value:(_vm.form.mobile),callback:function ($$v) {_vm.$set(_vm.form, \"mobile\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"form.mobile\"}}),_c('div',{staticClass:\"mt-5\"},[_c('h3',{staticClass:\"subtitle-2 font-weight-bold\"},[_vm._v(\"Société\")])]),_c('v-text-field',{attrs:{\"filled\":\"\",\"dense\":\"\",\"solo\":\"\",\"required\":\"\",\"flat\":\"\",\"placeholder\":\"Nom de la société\",\"hide-details\":\"auto\",\"error-messages\":_vm.nameErrors('company')},on:{\"input\":function($event){_vm.$v.form.company ? _vm.$v.form.company.$touch() : ''},\"blur\":function($event){_vm.$v.form.company ? _vm.$v.form.company.$touch() : ''}},model:{value:(_vm.form.company),callback:function ($$v) {_vm.$set(_vm.form, \"company\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"form.company\"}}),_c('div',{staticClass:\"mt-5\"},[_c('h3',{staticClass:\"subtitle-2 font-weight-bold\"},[_vm._v(\" Numéro de badge \"),_c('span',{staticClass:\"font-weight-light\"},[_vm._v(\"(facultatif)\")])])]),_c('v-text-field',{attrs:{\"filled\":\"\",\"dense\":\"\",\"solo\":\"\",\"flat\":\"\",\"hide-details\":\"auto\",\"error-messages\":_vm.badgeIdErrors()},on:{\"input\":function($event){_vm.$v.form.badgeId ? _vm.$v.form.badgeId.$touch() : ''},\"blur\":function($event){_vm.$v.form.badgeId ? _vm.$v.form.badgeId.$touch() : ''}},model:{value:(_vm.form.badgeId),callback:function ($$v) {_vm.$set(_vm.form, \"badgeId\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"form.badgeId\"}}),_c('div',{staticClass:\"mt-5\"},[_c('h3',{staticClass:\"subtitle-2 font-weight-bold\"},[_vm._v(\" Note sur la prestation globale \"),_c('span',{staticClass:\"font-weight-light\"},[_vm._v(\"(facultatif)\")])])]),_c('div',{staticClass:\"pa-3 d-flex white align-center justify-space-between\"},[_c('img',{attrs:{\"src\":require('../../core/assets/images/emojis/' + _vm.getEmoji()),\"height\":\"34\",\"width\":\"34\"}}),_c('div',{staticClass:\"d-flex flex-column justify-center flex-grow-1\"},[(!_vm.form.note && _vm.form.note !== 0)?_c('span',{staticClass:\"align-self-center\"},[_vm._v(\" Notez \")]):_vm._e(),(!_vm.form.note && _vm.form.note !== 0)?_c('v-slider',{attrs:{\"track-color\":\"#979797\",\"color\":_vm.color(),\"max\":\"10\",\"min\":\"0\",\"value\":5,\"ticks\":\"always\",\"hide-details\":\"auto\"},on:{\"change\":_vm.updateNote}}):_c('v-slider',{staticClass:\"pt-5 pb-2\",attrs:{\"value\":_vm.form.note,\"track-color\":\"#979797\",\"color\":_vm.color(),\"max\":\"10\",\"min\":\"1\",\"thumb-size\":24,\"thumb-label\":\"always\",\"ticks\":\"always\",\"hide-details\":\"auto\"},on:{\"change\":_vm.updateNote}})],1)]),_c('div',{staticClass:\"mt-5 mb-5\"},[_c('h3',{staticClass:\"subtitle-2 font-weight-bold\"},[_vm._v(\"Message\")])]),_c('div',{staticClass:\"white\"},[_c('v-textarea',{attrs:{\"name\":\"textarea\",\"label\":\"Décrivez votre demande ici\",\"dense\":\"\",\"auto-grow\":\"\",\"flat\":\"\",\"counter\":\"\",\"required\":\"\",\"hide-details\":\"auto\",\"rules\":[function (v) { return v.length <= 250 || 'Max 250 caractères'; }],\"error-messages\":_vm.nameErrors('message')},on:{\"input\":function($event){_vm.$v.form.message ? _vm.$v.form.message.$touch() : ''},\"blur\":function($event){_vm.$v.form.message ? _vm.$v.form.message.$touch() : ''}},model:{value:(_vm.form.message),callback:function ($$v) {_vm.$set(_vm.form, \"message\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"form.message\"}})],1)],1),_c('vue-recaptcha',{attrs:{\"sitekey\":_vm.siteKey},on:{\"verify\":_vm.verifyReCaptcha,\"expired\":function($event){_vm.reCaptchaToken = ''},\"error\":function($event){_vm.reCaptchaToken = ''}}}),_c('v-dialog',{attrs:{\"fullscreen\":_vm.$vuetify.breakpoint.smAndDown,\"max-width\":\"700px\",\"persistent\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('transition',{attrs:{\"name\":\"fab\",\"appear\":\"\"}},[_c('div',{staticClass:\"d-flex justify-center FloatingButton\"},[_c('v-btn',_vm._g(_vm._b({staticClass:\"FloatingButton__btn text-none mb-10 white--text font-weight-light\",attrs:{\"elevation\":\"0\",\"large\":\"\",\"rounded\":\"\",\"color\":\"primary\",\"type\":\"submit\",\"value\":\"Submit\",\"disabled\":!(_vm.valid && _vm.form.email && _vm.form.name && _vm.form.message && _vm.reCaptchaToken)}},'v-btn',attrs,false),on),[_vm._v(\" Valider\")])],1)])]}}],null,false,3213530253),model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',{staticClass:\"Contact__card d-flex flex-column justify-center align-center py-md-10\"},[_c('v-img',{attrs:{\"contain\":\"\",\"max-height\":\"300\",\"src\":_vm.response\n ? require('../../core/assets/images/bg/ok-form.svg')\n : require('../../core/assets/images/bg/error-form.svg')}}),(_vm.response && !_vm.error)?_c('v-container',{staticClass:\"px-8 pb-2\"},[_c('h2',{staticClass:\"text-h5 font-weight-black mb-4 text-center\"},[_vm._v(\" Votre demande a été enregistrée \")]),_c('p',{staticClass:\"text-body-2 text-center\"},[_vm._v(\" Le responsable du site vous répondra prochainement \")])]):_c('v-container',{staticClass:\"px-8 pb-2\"},[_c('h2',{staticClass:\"text-h5 font-weight-black mb-4 text-center\"},[_vm._v(\"Erreur\")]),_c('p',{staticClass:\"text-body-2 text-center\"},[_vm._v(\" Une erreur s'est produite, veuillez réessayer plus tard \")])]),_c('div',{staticClass:\"d-flex justify-center\"},[_c('v-btn',{staticClass:\"Form__btn text-none font-weight-medium\",attrs:{\"elevation\":\"0\",\"large\":\"\",\"rounded\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){_vm.resetForm(), _vm.goHome()}}},[_vm._v(\" Retourner à l’accueil\")])],1)],1)],1)],1)],1):(_vm.loading)?_c('div',[_c('v-overlay',[_c('v-progress-circular',{attrs:{\"color\":\"primary\",\"indeterminate\":\"\",\"size\":\"64\",\"width\":\"5\"}})],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import {Note} from '../interfaces/Note';\n\nexport const NOTES: Note[] = [\n {\n id: 0,\n color: '#CEC0C2',\n fileName: '0.svg',\n },\n {\n id: 1,\n color: '#F7435D',\n fileName: '1.svg',\n },\n {\n id: 2,\n color: '#F9594F',\n fileName: '2.svg',\n },\n {\n id: 3,\n color: '#FC793B',\n fileName: '3.svg',\n },\n {\n id: 4,\n color: '#FF902C',\n fileName: '4.svg',\n },\n {\n id: 5,\n color: '#FFB926',\n fileName: '5.svg',\n },\n {\n id: 6,\n color: '#EFE020',\n fileName: '6.svg',\n },\n {\n id: 7,\n color: '#C1DB2D',\n fileName: '7.svg',\n },\n {\n id: 8,\n color: '#83D63A',\n fileName: '8.svg',\n },\n {\n id: 9,\n color: '#48D169',\n fileName: '9.svg',\n },\n {\n id: 10,\n color: '#0ECC96',\n fileName: '10.svg',\n },\n];\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {VueClass} from 'vue-class-component/lib/declarations';\nimport {Component, Vue} from 'vue-property-decorator';\nimport {VueRecaptcha} from 'vue-recaptcha';\nimport {validationMixin} from 'vuelidate';\nimport {alphaNum, email, required} from 'vuelidate/lib/validators';\nimport {Action, Getter} from 'vuex-class';\n\nimport {PhoneTools, SITEKEY} from '@/core';\nimport {formatPrice} from '@/menu/tools';\n\nimport {NOTES} from '../constants/collections';\nimport {FeedbackContact, FeedBackProduct, FormContact, Note} from '../interfaces';\n\n@Component({\n components: {VueRecaptcha: VueRecaptcha as VueClass},\n mixins: [validationMixin],\n validations: {\n form: {\n name: {required},\n email: {required, email},\n mobile: {\n isValid(mobile: string) {\n if (mobile) {\n const mobileNumber = new PhoneTools(mobile, 'FR');\n return mobileNumber.isValid();\n }\n return false;\n },\n },\n company: {required},\n message: {required},\n badgeId: {alphaNum},\n },\n },\n})\nexport default class Contact extends Vue {\n @Action('reset', {namespace: 'feedback'}) resetError!: () => void;\n\n @Action('sendFeedback', {namespace: 'feedback'}) sendFeedback!: (\n feedbackContact: FeedbackContact\n ) => void;\n\n @Action('setFeedBackProduct', {namespace: 'feedback'}) setFeedBackProduct!: (\n feedBackProduct: FeedBackProduct | null\n ) => void;\n\n @Getter('customerId', {namespace: 'site'}) customerId!: string;\n\n @Getter('feedBackProduct', {namespace: 'feedback'}) feedBackProduct!: FeedBackProduct | null;\n\n @Getter('error', {namespace: 'feedback'}) error!: boolean;\n\n @Getter('errorMessage', {namespace: 'feedback'}) errorMessage!: string;\n\n @Getter('loading', {namespace: 'feedback'}) loading!: boolean;\n\n @Getter('response', {namespace: 'feedback'}) response!: boolean;\n\n dialog = false;\n\n selectedNote: Note | null = null;\n\n form: FormContact = {\n customerId: '',\n name: '',\n mobile: '',\n email: '',\n message: '',\n company: '',\n note: undefined,\n badgeId: undefined,\n };\n\n valid = false;\n\n siteKey = SITEKEY;\n\n reCaptchaToken = '';\n\n mounted(): void {\n if (this.feedBackProduct && this.$store.state.route.from.name === 'menu') {\n this.form.message = `${`Nom du produit: ${this.feedBackProduct.name}\\n`}${\n this.feedBackProduct.price\n ? `Prix du produit: ${formatPrice(this.feedBackProduct.price.toString(10))}\\n`\n : ''\n }${\n this.feedBackProduct.sides\n ? `Accompagnement du produit: ${this.feedBackProduct.sides}\\n`\n : ''\n }`;\n }\n }\n\n nameErrors(prop: string): string[] {\n const errors: string[] = [];\n if (!this.$v.form[prop]?.$dirty) return errors;\n if (!this.$v.form[prop]?.required) errors.push('Ce champ est obligatoire');\n return errors;\n }\n\n emailErrors(): string[] {\n const errors: string[] = [];\n if (!this.$v.form.email?.$dirty) return errors;\n if (!this.$v.form.email?.email) errors.push(\"L'email doit être valide\");\n if (!this.$v.form.email?.required) errors.push('Ce champ est obligatoire');\n return errors;\n }\n\n mobileErrors(): string[] {\n const errors: string[] = [];\n if (this.$v.form.mobile?.$model && !this.$v.form.mobile?.isValid) {\n errors.push('Le numéro de téléphone doit être valide');\n }\n return errors;\n }\n\n badgeIdErrors(): string[] {\n const errors: string[] = [];\n if (!this.$v.form.badgeId?.alphaNum) errors.push('Le badge doit être valide');\n return errors;\n }\n\n submitForm(): void {\n const body = `${\n this.form.mobile ? `Numéro de téléphone: ${this.form.mobile}\\n` : ''\n }${`Société: ${this.form.company}`}\\n${\n this.form.badgeId ? `Numéro de badge: ${this.form.badgeId}\\n` : ''\n }${this.form.note ? `Note satisfaction associée à ce message: ${this.form.note}\\n` : ''}${\n this.form.message\n }`;\n\n const feedbackContact: FeedbackContact = {\n customerId: this.customerId,\n email: this.form.email,\n name: this.form.name,\n token: this.reCaptchaToken,\n body,\n };\n this.sendFeedback(feedbackContact);\n }\n\n updateNote(id: number): void {\n this.form.note = id;\n this.selectedNote = NOTES.find((note) => note.id === id) || null;\n }\n\n getEmoji(): string {\n if (this.selectedNote) {\n return this.selectedNote.fileName;\n }\n return NOTES[0].fileName;\n }\n\n color(): string {\n if (this.selectedNote) {\n return this.selectedNote.color;\n }\n return NOTES[0].color;\n }\n\n verifyReCaptcha(token: string): void {\n this.reCaptchaToken = token;\n }\n\n resetForm(): void {\n this.setFeedBackProduct(null);\n this.$v.$reset();\n this.resetError();\n this.form = {\n customerId: '',\n name: '',\n mobile: '',\n email: '',\n message: '',\n company: '',\n badgeId: undefined,\n note: undefined,\n };\n this.dialog = false;\n }\n\n goHome(): void {\n this.$router.push({name: 'home', params: {id: this.$route.params.id}});\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Contact.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Contact.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Contact.vue?vue&type=template&id=276833fc&scoped=true&\"\nimport script from \"./Contact.vue?vue&type=script&lang=ts&\"\nexport * from \"./Contact.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Contact.vue?vue&type=style&index=0&id=276833fc&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"276833fc\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VOverlay } from 'vuetify/lib/components/VOverlay';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VSlider } from 'vuetify/lib/components/VSlider';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VBtn,VCard,VContainer,VDialog,VForm,VImg,VOverlay,VProgressCircular,VSlider,VTextField,VTextarea})\n","import {RouteConfig} from 'vue-router';\n\nimport Contact from './views/Contact.vue';\n\nexport const feedbackRoutes: Array = [\n {\n path: '/:slug/contact',\n name: 'contact',\n component: Contact,\n meta: {title: 'Contact'},\n },\n];\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.days.length)?_c('v-container',{staticClass:\"pa-0\"},[_c('FilterDay'),_c('ListCards')],1):_c('NoData',{attrs:{\"hasItems\":_vm.hasArticles,\"isNotFoundPage\":false,\"typeData\":'menu'}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"pa-0 my-7\"},[_c('v-row',[_c('v-col',{staticClass:\"pt-0\",attrs:{\"cols\":\"12\"}},[_c('h3',{staticClass:\"text-subtitle-2 font-weight-bold mb-3\"},[_vm._v(\"Choisissez un service\")]),_c('div',{staticClass:\"FilterDay rounded pa-1\"},_vm._l((_vm.days),function(day){return _c('v-btn-toggle',{key:day.date,class:{active: day.date === _vm.storedDay.date},style:({width: Math.round(100 / _vm.days.length) + '%'}),attrs:{\"group\":\"\",\"dense\":\"\",\"mandatory\":\"\"}},[_c('v-btn',{staticClass:\"caption text-none rounded-lg ma-0\",attrs:{\"value\":\"left\",\"height\":\"40\",\"width\":\"100%\",\"ripple\":false},on:{\"click\":function($event){return _vm.selectedDay(day)}}},[_c('ul',[_c('li',[_vm._v(_vm._s(day.formattedShortDate[0]))]),_c('li',[_vm._v(_vm._s(day.formattedShortDate[1]))])])])],1)}),1),(_vm.services.length > 1)?_c('div',{staticClass:\"FilterDay rounded mt-3 d-flex justify-center pa-1\"},_vm._l((_vm.services),function(service){return _c('v-btn-toggle',{key:service.code,class:{active: service === _vm.storedService},style:({width: Math.round(100 / _vm.services.length) + '%'}),attrs:{\"group\":\"\",\"dense\":\"\",\"mandatory\":\"\"}},[_c('v-btn',{staticClass:\"caption text-none rounded-lg ma-0\",class:{FiveService: _vm.services.length === 5},attrs:{\"value\":\"left\",\"height\":\"40\",\"width\":\"100%\",\"ripple\":false},on:{\"click\":function($event){return _vm.selectedService(service)}}},[_vm._v(_vm._s(service.name)+\" \")])],1)}),1):_vm._e()])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {Component, Vue} from 'vue-property-decorator';\nimport {Action, Getter} from 'vuex-class';\n\nimport {Day, Menu, Service} from '../interfaces';\nimport {getMenuId} from '../tools';\n\n@Component\nexport default class FilterDay extends Vue {\n @Getter('days', {namespace: 'menu'}) days!: Day[];\n\n @Getter('day', {namespace: 'menu'}) storedDay!: Day;\n\n @Getter('menus', {namespace: 'menu'}) menus!: Menu[];\n\n @Getter('services', {namespace: 'menu'}) services!: Service[];\n\n @Getter('service', {namespace: 'menu'}) storedService!: Service;\n\n @Getter('error', {namespace: 'menu'}) error!: boolean;\n\n @Action('updateDay', {namespace: 'menu'}) updateDay!: (day: Day) => void;\n\n @Action('updateService', {namespace: 'menu'}) updateService!: (service: Service) => void;\n\n @Action('getCurrentMenu', {namespace: 'menu'}) getCurrentMenu!: (id: string) => void;\n\n @Action('resetError', {namespace: 'menu'}) resetError!: () => void;\n\n selectedService(value: Service): void {\n this.updateService(value);\n if (this.error) this.resetError();\n this.getCurrentMenu(getMenuId(this.menus, this.storedDay, this.storedService));\n }\n\n selectedDay(value: Day): void {\n this.updateDay(value);\n if (this.error) this.resetError();\n this.getCurrentMenu(getMenuId(this.menus, this.storedDay, this.storedService));\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilterDay.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilterDay.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FilterDay.vue?vue&type=template&id=88fafa26&scoped=true&\"\nimport script from \"./FilterDay.vue?vue&type=script&lang=ts&\"\nexport * from \"./FilterDay.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FilterDay.vue?vue&type=style&index=0&id=88fafa26&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"88fafa26\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VBtnToggle } from 'vuetify/lib/components/VBtnToggle';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VBtnToggle,VCol,VContainer,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.loadingMenu && !_vm.error)?_c('div',[_c('v-sheet',{staticClass:\"pa-0 mb-5 ListCards hidden-sm-and-up\",attrs:{\"color\":\"#F8F8F8\"}},[(_vm.hasProductsTypes() || _vm.hasProductsFormulas())?_c('h3',{staticClass:\"text-subtitle-2 font-weight-bold mb-1\"},[_vm._v(\" Explorer \"+_vm._s(_vm.productTypes.length > 1 ? 'les catégories' : 'la catégorie')+\" \")]):_vm._e(),_c('div',{staticClass:\"ListCards__sticky\"},[(_vm.hasProductsTypes() || _vm.hasProductsFormulas())?_c('v-chip-group',{attrs:{\"center-active\":\"\",\"active-class\":\"white--text primary\"},model:{value:(_vm.selectedProductType),callback:function ($$v) {_vm.selectedProductType=$$v},expression:\"selectedProductType\"}},_vm._l((_vm.productTypes),function(productType){return _c('v-chip',{key:productType.name,staticClass:\"text-capitalize\",attrs:{\"value\":productType.name},on:{\"click\":function($event){return _vm.scrollToProductType(productType.name)}}},[_c('v-img',{staticClass:\"mr-2\",attrs:{\"left\":\"\",\"src\":require('../assets/images/product-types/' + productType.fileName),\"width\":\"16\",\"height\":\"16\"}}),_vm._v(\" \"+_vm._s(productType.name + 's')+\" \")],1)}),1):_vm._e()],1)]),_vm._l((_vm.productTypes),function(productType,i){return [(_vm.productsTypes(productType.id).length)?_c('v-row',{key:productType.id,staticClass:\"mb-0 px-3 mt-5\",attrs:{\"justify\":\"space-between\",\"align\":\"center\"}},[_c('div',{staticClass:\"d-flex align-center\",on:{\"&scroll\":function($event){return _vm.handleScroll($event)}}},[_c('h5',{ref:productType.name,refInFor:true,staticClass:\"text-subtitle-2 font-weight-bold\"},[_vm._v(\" \"+_vm._s(((productType.name) + \"s\"))+\" \")]),(productType.id !== _vm.typeProduct.FOR)?_c('v-img',{staticClass:\"ml-2 mr-2\",attrs:{\"left\":\"\",\"src\":require('../assets/images/product-types/' + productType.fileName),\"width\":\"24\",\"height\":\"24\"}}):_vm._e()],1)]):_vm._e(),(_vm.productsTypes(productType.id).length)?_c('v-row',{key:i,staticClass:\"mb-8 mt-0\"},_vm._l((_vm.productsTypes(productType.id)),function(product,index){return _c('v-col',{key:index,staticClass:\"pb-0\",attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"5\",\"lg\":\"4\"}},[_c('ProductCard',{attrs:{\"product\":product,\"isActivatedComment\":_vm.isActivatedComment || _vm.openActivatedComment()}})],1)}),1):_vm._e()]}),[(_vm.formulaZones.length && _vm.hasProductsFormulas())?_c('v-row',{key:\"Formule\",staticClass:\"mb-0 px-3 mt-5\",attrs:{\"justify\":\"space-between\",\"align\":\"center\"}},[_c('div',{staticClass:\"d-flex align-center\",on:{\"&scroll\":function($event){return _vm.handleScroll($event)}}},[_c('h5',{ref:\"Formule\",staticClass:\"text-subtitle-2 font-weight-bold\"},[_vm._v(\"Les Formules\")])])]):_vm._e(),_c('v-row',{key:\"Formules\",staticClass:\"mb-8 mt-0\"},_vm._l((_vm.formulaZones),function(formula,index){return _c('v-col',{key:index,staticClass:\"pb-0\",attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"4\",\"lg\":\"3\"}},[(_vm.formulaProducts(formula.code).length)?_c('ModalFormule',{attrs:{\"formula\":formula}}):_vm._e()],1)}),1)]],2):(_vm.loadingMenu && !_vm.error)?_c('div',[_c('v-row',_vm._l((_vm.$vuetify.breakpoint.smAndDown ? 3 : 12),function(index){return _c('v-col',{key:index,staticClass:\"pb-0\",attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"4\",\"lg\":\"3\"}},[_c('v-sheet',{staticClass:\"pa-3\",attrs:{\"color\":\"grey lighten-4\"}},[_c('v-skeleton-loader',{attrs:{\"max-height\":\"150\",\"type\":\"card\"}})],1)],1)}),1)],1):(_vm.error)?_c('div',[_c('div',{staticClass:\"d-flex flex-column justify-center align-center pa-12 pt-16\"},[_c('v-img',{attrs:{\"lazy-src\":require(\"../../core/assets/images/404.svg\"),\"src\":require('../../core/assets/images/404.svg'),\"contain\":\"\",\"max-height\":\"300\"}}),_c('h2',{staticClass:\"pt-10 text-center\"},[_vm._v(\"Le menu que vous recherchez semble introuvable.\")]),_vm._m(0)],1)]):_vm._e()}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"d-flex flex-column pt-10 text-center\"},[_c('span',[_vm._v(\"Veuillez sélectionner un autre menu ou rafraîchir la page.\")])])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"persistent\":_vm.$vuetify.breakpoint.smAndDown,\"fullscreen\":_vm.$vuetify.breakpoint.smAndDown,\"max-width\":\"700px\"},on:{\"click:outside\":function($event){return _vm.$router.back()}},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-hover',{attrs:{\"close-delay\":\"30\",\"open-delay\":\"30\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar hover = ref.hover;\nreturn [_c('v-card',{staticClass:\"d-flex justify-space-between flex-column px-3\",class:{'on-hover': hover},attrs:{\"rounded\":\"\",\"elevation\":\"0\",\"height\":\"150\"}},[_c('div',{staticClass:\"d-flex justify-space-between align-baseline pt-6\"},[_c('v-card-title',{staticClass:\"pa-0 text-subtitle-2 font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.formula.name)+\" \")])],1),_c('div',{staticClass:\"d-flex pb-2\",class:_vm.getPrice(_vm.formulaPrice(_vm.formula.code)) ? 'justify-space-between' : 'justify-end'},[(_vm.getPrice(_vm.formulaPrice(_vm.formula.code)))?_c('span',{staticClass:\"px-4 py-2 text-subtitle-2 font-weight-medium secondary white--text rounded-lg\"},[_vm._v(\" \"+_vm._s(_vm.getPrice(_vm.formulaPrice(_vm.formula.code)))+\" \")]):_vm._e(),_c('div',{staticClass:\"d-flex justify-center justify-md-start\"},[_c('v-btn',_vm._g({staticClass:\"text-none\",attrs:{\"elevation\":\"0\",\"rounded\":\"\",\"fab\":\"\",\"x-small\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.updateRoute(true)}}},on),[_c('v-icon',{attrs:{\"medium\":\"\"}},[_vm._v(\" mdi-chevron-right \")])],1)],1)])])]}}],null,true)})]}}]),model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',[_c('v-container',{staticClass:\"py-0\"},[_c('div',{staticClass:\"formuleDetails\"},[_c('div',{staticClass:\"formuleDetails__hero--background secondary\"}),_c('div',{staticClass:\"formuleDetails__hero white--text\"},[_c('div',{staticClass:\"d-flex justify-end my-8 mr-1\"},[_c('v-btn',{attrs:{\"color\":\"white\",\"small\":\"\",\"height\":\"36\",\"width\":\"36\",\"min-width\":\"36\",\"right\":\"\",\"depressed\":\"\"},on:{\"click\":function($event){return _vm.updateRoute(false)}}},[_c('v-icon',{attrs:{\"medium\":\"\"}},[_vm._v(\" mdi-close \")])],1)],1),_c('span',{staticClass:\"caption white--text text-capitalize\"},[_vm._v(\"Formule\")]),_c('div',{staticClass:\"d-flex justify-space-between mb-6 mt-1\"},[_c('h2',{staticClass:\"text-body-1 text-md-h6 font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.formula.name)+\" \")]),_c('h2',{staticClass:\"text-body-1 text-md-h6 font-weight-medium ml-md-4\"},[_vm._v(\" \"+_vm._s(_vm.getPrice(_vm.formulaPrice(_vm.formula.code)))+\" \")])])]),_vm._l((_vm.productTypes),function(productType,i){return [_c('v-row',{key:productType.name,staticClass:\"px-3\",attrs:{\"justify\":\"space-between\",\"align\":\"center\"}},[_c('div',{staticClass:\"d-flex align-baseline\"},[_c('h5',{staticClass:\"text-subtitle-2 font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.productsByTypeProduct(_vm.products, productType.id).length > 1 ? ((_vm.productsByTypeProduct(_vm.products, productType.id).length) + \" \" + (productType.name.toLowerCase()) + \"s au choix\") : ((_vm.productsByTypeProduct(_vm.products, productType.id).length) + \" \" + (productType.name.toLowerCase())))+\" \")])])]),_c('v-row',{key:i,staticClass:\"pb-3 mb-0\"},_vm._l((_vm.productsByTypeProduct(_vm.products, productType.id)),function(product,index){return _c('v-col',{key:index,staticClass:\"pb-0\",attrs:{\"cols\":\"12\",\"md\":\"4\",\"lg\":\"3\"}},[_c('v-hover',{attrs:{\"close-delay\":\"30\",\"open-delay\":\"30\"}},[_c('v-card',{staticClass:\"formuleDetails__cardColor d-flex justify-space-around flex-column px-3\",attrs:{\"rounded\":\"\",\"flat\":\"\",\"height\":\"120\",\"tile\":\"\"}},[_c('div',{staticClass:\"formuleDetails__card d-flex flex-column justify-space-around\"},[_c('v-card-title',{staticClass:\"pa-0 py-0 text-subtitle-2 font-weight-bold mb-4\"},[_vm._v(\" \"+_vm._s(product.name)+\" \")]),_c('div',{staticClass:\"d-flex justify-space-between\"},[(_vm.getAllergenes(product).length)?_c('v-sheet',{staticClass:\"d-flex justify-center mb-1\",attrs:{\"max-width\":\"80%\",\"color\":\"white\"}},_vm._l((_vm.getAllergenes(product)),function(allergene){return _c('v-img',{key:allergene.name,staticClass:\"mr-1\",attrs:{\"left\":\"\",\"src\":require('../assets/images/collections/allergenes/' +\n allergene.fileName),\"width\":\"16\",\"height\":\"16\"}})}),1):_vm._e(),(_vm.getOrigines(product).length)?_c('v-sheet',{staticClass:\"d-flex justify-center\",attrs:{\"max-width\":\"80%\",\"color\":\"white\"}},_vm._l((_vm.getOrigines(product)),function(origine){return _c('v-img',{key:origine.name,staticClass:\"mr-1\",attrs:{\"left\":\"\",\"src\":require('../assets/images/collections/origins/' + origine.fileName),\"width\":\"16\",\"height\":\"16\"}})}),1):_vm._e()],1)],1)])],1)],1)}),1)]})],2)])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {Component, Prop, Vue, Watch} from 'vue-property-decorator';\nimport {Getter} from 'vuex-class';\n\nimport {PRODUCT_TYPE, PRODUCT_TYPES} from '../constants';\nimport {Picto, Product, Zone} from '../interfaces';\nimport {filterAllergenes, filterOrigines, formatPrice, productsByTypeProduct} from '../tools';\n\n@Component\nexport default class ModalFormule extends Vue {\n @Prop() readonly formula!: Zone;\n\n @Getter('formulaPrice', {namespace: 'menu'}) formulaPrice!: (id: string) => string;\n\n @Getter('formulaProducts', {namespace: 'menu'}) formulaProducts!: (id: string) => Product[];\n\n dialog = false;\n\n productTypes: Picto[] = [];\n\n products!: Product[];\n\n @Watch('$store.state.menu.selectedDay')\n updateDay(): void {\n this.initFormula();\n }\n\n @Watch('$store.state.menu.selectedService')\n updateService(): void {\n this.initFormula();\n }\n\n @Watch('$route.hash')\n updateDialog(newHash: string, oldHash: string): void {\n if (newHash === `#${this.formula.name}`) {\n this.dialog = true;\n } else if (oldHash === `#${this.formula.name}`) {\n this.dialog = false;\n }\n }\n\n updateRoute(open: boolean): void {\n if (open) {\n this.$router.push(`#${this.formula.name}`);\n } else {\n this.$router.back();\n }\n }\n\n productsByTypeProduct = function productsByType(\n products: Product[],\n typeProduct: PRODUCT_TYPE | string\n ): Product[] {\n return productsByTypeProduct(products, typeProduct);\n };\n\n getPrice = function getPrice(price: number): string {\n return formatPrice(price.toString(10));\n };\n\n getAllergenes = function getAllergenes(product: Product): Picto[] {\n if (product.allergens.length) {\n return filterAllergenes(product.allergens);\n }\n return [];\n };\n\n getOrigines = function getOrigines(product: Product): Picto[] {\n if (product.origins.length) {\n return filterOrigines(product.origins);\n }\n return [];\n };\n\n mounted(): void {\n this.initFormula();\n }\n\n initFormula(): void {\n this.products = this.formulaProducts(this.formula.code);\n this.productTypes = PRODUCT_TYPES.filter((type) =>\n this.products.some((product) => product.type === type.id)\n );\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalFormule.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalFormule.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ModalFormule.vue?vue&type=template&id=911a7460&scoped=true&\"\nimport script from \"./ModalFormule.vue?vue&type=script&lang=ts&\"\nexport * from \"./ModalFormule.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ModalFormule.vue?vue&type=style&index=0&id=911a7460&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"911a7460\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VHover } from 'vuetify/lib/components/VHover';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\ninstallComponents(component, {VBtn,VCard,VCardTitle,VCol,VContainer,VDialog,VHover,VIcon,VImg,VRow,VSheet})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dishDetails__card\"},[_c('v-container',{staticStyle:{\"position\":\"relative\"}},[_c('div',{staticClass:\"dishDetails\"},[_c('div',{staticClass:\"dishDetails__hero--background secondary\"}),_c('div',{staticClass:\"dishDetails__hero white--text\"},[_c('div',{staticClass:\"d-flex justify-end my-8 mr-1 pr-4\"},[_c('v-btn',{attrs:{\"color\":\"white\",\"small\":\"\",\"height\":\"36\",\"width\":\"36\",\"min-width\":\"36\",\"right\":\"\",\"depressed\":\"\"},on:{\"click\":function($event){return _vm.updateRoute(false, _vm.product)}}},[_c('v-icon',{attrs:{\"medium\":\"\"}},[_vm._v(\" mdi-close \")])],1)],1),_c('span',{staticClass:\"caption white--text text-capitalize\"},[_vm._v(_vm._s(_vm.getType(_vm.product)))]),_c('span',{staticClass:\"dishDetails__name text-body-1 text-md-h6 font-weight-bold mb-5\"},[_vm._v(\" \"+_vm._s(_vm.product.name)+\" \")]),_c('div',{staticClass:\"d-flex justify-space-between mb-6 mt-1\"},[_c('v-chip',{staticClass:\"d-flex align-self-start\",attrs:{\"color\":\"white\",\"dark\":\"\",\"outlined\":\"\",\"text-color\":\"white\"}},[_vm._v(\" \"+_vm._s(_vm.zone(_vm.product.zoneCode).name)+\" \")]),(_vm.getPrice(_vm.product))?_c('h2',{staticClass:\"text-body-1 text-md-h6 font-weight-regular ml-md-4\"},[_vm._v(\" \"+_vm._s(_vm.getPrice(_vm.product))+\" \")]):_vm._e()],1)]),_c('div',{staticClass:\"mt-4\"},[(_vm.getOrigines(_vm.product).length)?_c('div',[_c('h3',{staticClass:\"subtitle-2 font-weight-bold\"},[_vm._v(\"Ce plat est certifié :\")]),_c('v-sheet',{staticClass:\"mt-1\"},_vm._l((_vm.getOrigines(_vm.product)),function(origine){return _c('v-chip',{key:origine.name,staticClass:\"text-capitalize my-1 mr-1\",attrs:{\"ripple\":false,\"color\":\"white\"}},[_c('v-img',{staticClass:\"mr-1\",attrs:{\"left\":\"\",\"src\":require('../assets/images/collections/origins/' + origine.fileName),\"width\":\"16\",\"height\":\"16\"}}),_vm._v(\" \"+_vm._s(origine.name)+\" \")],1)}),1)],1):_c('div',{staticClass:\"subtitle-2 font-weight-bold\"},[_vm._v(\"Ce plat n'a pas de certifications\")]),(_vm.getAllergenes(_vm.product).length)?_c('div',{staticClass:\"pt-2\"},[_c('h3',{staticClass:\"subtitle-2 font-weight-bold\"},[_vm._v(\"Ce plat contient :\")]),_c('v-sheet',{staticClass:\"mt-1\"},_vm._l((_vm.getAllergenes(_vm.product)),function(allergene){return _c('v-chip',{key:allergene.name,staticClass:\"text-capitalize my-1 mr-1\",attrs:{\"ripple\":false,\"color\":\"white\"}},[_c('v-img',{staticClass:\"mr-1\",attrs:{\"left\":\"\",\"src\":require('../assets/images/collections/allergenes/' + allergene.fileName),\"width\":\"16\",\"height\":\"16\"}}),_vm._v(\" \"+_vm._s(allergene.name)+\" \")],1)}),1)],1):_c('div',{staticClass:\"subtitle-2 font-weight-bold\"},[_vm._v(\" Nous vous invitons à vous rapprocher du chef du restaurant pour plus d’informations sur les allergènes de ce plat \")])]),_c('div',{staticClass:\"mt-4\"},[(_vm.product.nutriscore && _vm.getNutriscore(false, _vm.product))?_c('div',[_c('h3',{staticClass:\"subtitle-2 font-weight-bold\"},[_vm._v(\"Nutriscore :\")]),_c('v-sheet',{staticClass:\"dishDetails__pictos shrink\",attrs:{\"ripple\":false,\"color\":\"white\"}},[_c('v-img',{staticClass:\"mr-1\",attrs:{\"left\":\"\",\"src\":require('../assets/images/collections/nutriscore/' +\n _vm.getNutriscore(false, _vm.product)),\"width\":\"80\",\"height\":\"45\"}})],1)],1):_vm._e()]),_c('div',{staticClass:\"mt-8 pb-8\"},[(_vm.product.sides)?_c('div',[_c('h2',{staticClass:\"text-body-2 font-weight-bold mb-1\"},[_vm._v(\"Accompagnements :\")]),_vm._v(\" \"+_vm._s(_vm.product.sides)+\" \")]):_vm._e()])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport {Component, Vue} from 'vue-property-decorator';\nimport {Getter} from 'vuex-class';\n\nimport {Picto, Product, Zone} from '../interfaces';\nimport {\n filterAllergenes,\n filterNutriscore,\n filterOrigines,\n filterType,\n formatPrice,\n} from '../tools';\n\n@Component\nexport default class BaseProduct extends Vue {\n @Getter('zone', {namespace: 'menu'}) zone!: (id: string) => Zone;\n\n updateRoute(open: boolean, product: Product): void {\n if (open) {\n if (this.$route.hash) {\n this.$router.replace(`#${product.name}`);\n } else {\n this.$router.push(`#${product.name}`);\n }\n } else {\n this.$router.back();\n }\n }\n\n getPrice(product: Product): string {\n if (product.price) {\n return formatPrice(product.price.toString(10));\n }\n return '';\n }\n\n getAllergenes(product: Product): Picto[] {\n if (product.allergens.length) {\n return filterAllergenes(product.allergens);\n }\n return [];\n }\n\n getOrigines(product: Product): Picto[] {\n if (product.origins.length) {\n return filterOrigines(product.origins);\n }\n return [];\n }\n\n getType = function getType(product: Product): string {\n return filterType(product);\n };\n\n getNutriscore(isVertical: boolean, product: Product): string {\n if (product.nutriscore) return filterNutriscore(product.nutriscore, isVertical);\n return '';\n }\n}\n","var render, staticRenderFns\nimport script from \"./BaseProduct.vue?vue&type=script&lang=ts&\"\nexport * from \"./BaseProduct.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BaseProduct.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BaseProduct.vue?vue&type=script&lang=ts&\"","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {Component, Prop} from 'vue-property-decorator';\n\nimport {Product} from '../interfaces';\nimport BaseProduct from './BaseProduct.vue';\n\n@Component\nexport default class ModalProduct extends BaseProduct {\n @Prop() readonly product!: Product;\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalProduct.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalProduct.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ModalProduct.vue?vue&type=template&id=022fa3d5&scoped=true&\"\nimport script from \"./ModalProduct.vue?vue&type=script&lang=ts&\"\nexport * from \"./ModalProduct.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ModalProduct.vue?vue&type=style&index=0&id=022fa3d5&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"022fa3d5\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\ninstallComponents(component, {VBtn,VChip,VContainer,VIcon,VImg,VSheet})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"persistent\":_vm.$vuetify.breakpoint.smAndDown,\"fullscreen\":_vm.$vuetify.breakpoint.smAndDown,\"max-width\":\"700px\"},on:{\"click:outside\":function($event){return _vm.$router.back()}},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-sheet',{attrs:{\"outlined\":\"\",\"color\":\"white\",\"rounded\":\"\"}},[_c('v-hover',{attrs:{\"close-delay\":\"30\",\"open-delay\":\"30\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar hover = ref.hover;\nreturn [_c('v-card',{staticClass:\"d-flex justify-space-around flex-column px-3\",class:{'on-hover': hover},attrs:{\"height\":\"150\",\"rounded\":\"\",\"elevation\":hover ? 4 : 0}},[_c('div',{staticClass:\"d-flex justify-space-between\"},[_c('div',{staticClass:\"d-flex flex-column flex-grow-1\"},[_c('span',{staticClass:\"caption mr-2 font-weight-medium primary--text\"},[_vm._v(\" \"+_vm._s(_vm.zone(_vm.product.zoneCode).name)+\" \")]),_c('v-card-title',{staticClass:\"pa-0 text-subtitle-2 font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.product.name)+\" \")])],1),(_vm.product.nutriscore && _vm.getNutriscore(true, _vm.product))?_c('div',{staticClass:\"d-flex flex-grow-0\"},[_c('v-sheet',{staticClass:\"dishDetails__pictos shrink\",attrs:{\"ripple\":false,\"color\":\"white\"}},[_c('v-img',{attrs:{\"left\":\"\",\"src\":require('../assets/images/collections/nutriscore/' +\n _vm.getNutriscore(true, _vm.product)),\"height\":\"80\",\"width\":\"45\"}})],1)],1):_vm._e()]),_c('div',{staticClass:\"d-flex align-center\",class:_vm.getPrice(_vm.product) ? 'justify-space-between' : 'justify-end'},[_c('div',{staticClass:\"d-flex align-center\"},[(_vm.getPrice(_vm.product))?_c('span',{staticClass:\"px-4 py-2 text-subtitle-2 font-weight-medium secondary white--text rounded-lg dishDetails__btn\"},[_vm._v(\" \"+_vm._s(_vm.getPrice(_vm.product))+\" \")]):_vm._e(),(_vm.enableFeedback && _vm.isActivatedComment)?_c('ModalComment',{staticClass:\"px-2\",attrs:{\"product\":_vm.product}}):_vm._e()],1),_c('div',{staticClass:\"d-flex justify-center justify-md-start\"},[_c('v-btn',_vm._g({staticClass:\"text-none\",attrs:{\"elevation\":\"0\",\"rounded\":\"\",\"fab\":\"\",\"x-small\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.updateRoute(true, _vm.product)}}},on),[_c('v-icon',{attrs:{\"medium\":\"\"}},[_vm._v(\" mdi-chevron-right \")])],1)],1)])])]}}],null,true)})],1)]}}]),model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('ModalProduct',{attrs:{\"product\":_vm.product,\"isActivatedComment\":_vm.isActivatedComment},on:{\"close-dialog\":function($event){_vm.dialog = false}}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"Form\"},[_c('v-dialog',{attrs:{\"fullscreen\":_vm.$vuetify.breakpoint.xsOnly,\"width\":\"700px\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('div',{staticClass:\"d-flex justify-center justify-md-start\"},[_c('div',_vm._g(_vm._b({class:_vm.isCompletedFeedback()\n ? 'px-4 py-2 text-subtitle-2 font-weight-medium Form__btn primary--text grey lighten-3 d-flex justify-center align-center'\n : 'px-4 py-2 text-subtitle-2 font-weight-medium Form__btn primary--text'},'div',attrs,false),!_vm.isCompletedFeedback() ? on : ''),[_c('span',[_vm._v(_vm._s(_vm.isCompletedFeedback() ? _vm.rating + ' sur 5' : 'Donner mon avis'))]),(_vm.isCompletedFeedback())?_c('v-icon',{staticClass:\"ml-2\",attrs:{\"dense\":\"\",\"color\":\"primary\"}},[_vm._v(\"mdi-star\")]):_vm._e()],1)])]}}]),model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[(!_vm.response && !_vm.error)?_c('v-card',{staticClass:\"Form__card px-md-4 pb-md-4\"},[_c('v-container',[_c('div',{staticClass:\"d-flex justify-end my-5\"},[_c('v-btn',{attrs:{\"small\":\"\",\"height\":\"36\",\"width\":\"36\",\"min-width\":\"36\",\"depressed\":\"\",\"color\":\"secondary\"},on:{\"click\":function($event){_vm.dialog = false}}},[_c('v-icon',{attrs:{\"medium\":\"\"}},[_vm._v(\" mdi-close \")])],1)],1),_c('h2',{staticClass:\"font-weight-bold mb-6\"},[_vm._v(\"Laisser un avis\")]),_c('v-card',{staticClass:\"secondary--text mb-8 d-flex justify-center white pa-2\",attrs:{\"color\":\"white\",\"elevation\":\"0\"}},[_c('v-card-title',{staticClass:\"text-subtitle-2 Form__card-title\"},[_vm._v(\" \"+_vm._s(_vm.product.name)+\" \")])],1),_c('v-form',{ref:\"form\",staticClass:\"d-flex flex-column\",attrs:{\"lazy-validation\":\"\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.submitForm($event)}},model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('h3',{staticClass:\"subtitle-2 font-weight-bold mt-2\"},[_vm._v(\"Comment avez vous trouvez votre plat ?\")]),_c('v-rating',{class:!_vm.enableContact ? 'pb-16 mb-8' : '',attrs:{\"color\":\"primary\",\"background-color\":\"primary\",\"hover\":\"\",\"length\":\"5\",\"size\":\"50\",\"dense\":\"\"},model:{value:(_vm.rating),callback:function ($$v) {_vm.rating=$$v},expression:\"rating\"}}),(_vm.enableContact)?_c('div',{staticClass:\"d-flex align-center pb-16\"},[_c('v-checkbox',{staticClass:\"font-weight-medium\",attrs:{\"id\":\"checkbox_id\"},model:{value:(_vm.redirectToForm),callback:function ($$v) {_vm.redirectToForm=$$v},expression:\"redirectToForm\"}}),_c('label',{staticClass:\"Form__label caption ma-0 font-weight-medium\",attrs:{\"for\":\"checkbox_id\"}},[_c('span',[_vm._v(\"Je souhaite laisser un commentaire et obtenir une réponse du restaurant.\")]),_vm._v(\" \"),_c('span',{staticClass:\"red--text text--darken-4\"},[_vm._v(\"En cliquant sur cette option vous serez redirigé sur un formulaire \")])])],1):_vm._e(),_c('div',{staticClass:\"d-flex justify-center FloatingButton\"},[_c('v-btn',{staticClass:\"FloatingButton__btn text-none mb-10 white--text font-weight-light\",attrs:{\"elevation\":\"0\",\"large\":\"\",\"rounded\":\"\",\"color\":\"primary\",\"type\":\"submit\",\"disabled\":!_vm.valid}},[_vm._v(\" Envoyer mon avis\")])],1)],1)],1)],1):_c('v-card',{staticClass:\"Form__card d-flex flex-column justify-center align-center py-md-10\"},[_c('v-container',[_c('v-img',{staticClass:\"mx-auto Form__img mb-10\",attrs:{\"lazy-src\":require(\"../assets/images/bg/comment.svg\"),\"src\":require('../assets/images/bg/comment.svg'),\"width\":\"146\",\"height\":\"300\",\"contain\":\"\"}}),_c('v-container',{staticClass:\"px-8 pb-6\"},[(!_vm.error)?_c('h2',{staticClass:\"text-h5 font-weight-black mb-4 text-center\"},[_vm._v(\" Merci d'avoir donné votre avis ! \")]):_c('h2',{staticClass:\"text-h5 font-weight-black mb-4 text-center\"},[_vm._v(\"Erreur !\")])]),_c('div',{staticClass:\"d-flex justify-center\"},[_c('v-btn',{staticClass:\"Form__btn text-none font-weight-medium\",attrs:{\"elevation\":\"0\",\"large\":\"\",\"rounded\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){(_vm.dialog = false), _vm.resetError()}}},[_vm._v(\" Retourner au menu\")])],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {Component, Prop, Watch} from 'vue-property-decorator';\nimport {Action, Getter} from 'vuex-class';\n\nimport BaseProduct from '../../menu/components/BaseProduct.vue';\nimport {Product} from '../../menu/interfaces';\nimport {FeedBackProduct, FeedBackProductCompleted} from '../interfaces';\n\n@Component\nexport default class ModalComment extends BaseProduct {\n @Prop() readonly product!: Product;\n\n @Action('setFeedBackProduct', {namespace: 'feedback'}) setFeedBackProduct!: (\n feedBackProduct: FeedBackProduct | null\n ) => void;\n\n @Action('setFeedBackProductsCompleted', {namespace: 'feedback'})\n setFeedBackProductsCompleted!: (feedBackProduct: FeedBackProductCompleted) => void;\n\n @Action('sendFeedbackProduct', {namespace: 'feedback'})\n sendFeedbackProduct!: (feedBackProduct: FeedBackProduct) => void;\n\n @Action('reset', {namespace: 'feedback'}) resetError!: () => void;\n\n @Getter('enableContact', {namespace: 'site'}) enableContact!: boolean;\n\n @Getter('customerId', {namespace: 'site'}) customerId!: string;\n\n @Getter('feedBackProductsCompleted', {namespace: 'feedback'})\n feedBackProductsCompleted!: FeedBackProductCompleted[];\n\n @Getter('response', {namespace: 'feedback'}) response!: boolean;\n\n @Getter('error', {namespace: 'feedback'}) error!: boolean;\n\n dialog = false;\n\n redirectToForm = false;\n\n rating = 1;\n\n valid = false;\n\n @Watch('$store.state.feedback.response')\n getResponse(): void {\n if (this.response) {\n if (this.redirectToForm) {\n this.resetError();\n this.setFeedBackProduct(this.initFeedBackProduct());\n this.$router.push({name: 'contact'});\n }\n }\n }\n\n isCompletedFeedback(): boolean {\n const feedBackProductCompleted = this.feedBackProductsCompleted.find(\n (feedback) => feedback.id === this.product._id\n );\n if (feedBackProductCompleted) this.rating = feedBackProductCompleted.rating;\n return !!feedBackProductCompleted;\n }\n\n submitForm(): void {\n this.setFeedBackProductsCompleted({id: this.product._id, rating: this.rating});\n this.sendFeedbackProduct(this.initFeedBackProduct());\n }\n\n initFeedBackProduct(): FeedBackProduct {\n return {\n customerId: this.customerId,\n note: this.rating,\n name: this.product.name,\n price: this.product.price || undefined,\n sides: this.product.sides || undefined,\n dbSourceId: this.product.dbSourceId || undefined,\n };\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalComment.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalComment.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ModalComment.vue?vue&type=template&id=43f870eb&scoped=true&\"\nimport script from \"./ModalComment.vue?vue&type=script&lang=ts&\"\nexport * from \"./ModalComment.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ModalComment.vue?vue&type=style&index=0&id=43f870eb&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"43f870eb\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VRating } from 'vuetify/lib/components/VRating';\ninstallComponents(component, {VBtn,VCard,VCardTitle,VCheckbox,VContainer,VDialog,VForm,VIcon,VImg,VRating})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {Component, Prop, Watch} from 'vue-property-decorator';\nimport {Getter} from 'vuex-class';\n\nimport ModalComment from '../../feedback/components/ModalComment.vue';\nimport {Product} from '../interfaces';\nimport BaseProduct from './BaseProduct.vue';\nimport ModalProduct from './ModalProduct.vue';\n\n@Component({\n components: {\n ModalComment,\n ModalProduct,\n },\n})\nexport default class ProductCard extends BaseProduct {\n @Prop() readonly product!: Product;\n\n @Prop() readonly isActivatedComment!: boolean;\n\n @Getter('enableFeedback', {namespace: 'site'}) enableFeedback!: boolean;\n\n @Watch('$route.hash')\n updateDialog(newHash: string, oldHash: string): void {\n if (newHash === `#${this.product.name}`) {\n this.dialog = true;\n } else if (oldHash === `#${this.product.name}`) {\n this.dialog = false;\n }\n }\n\n dialog = false;\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductCard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProductCard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProductCard.vue?vue&type=template&id=43dcb68c&scoped=true&\"\nimport script from \"./ProductCard.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProductCard.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ProductCard.vue?vue&type=style&index=0&id=43dcb68c&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"43dcb68c\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VHover } from 'vuetify/lib/components/VHover';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\ninstallComponents(component, {VBtn,VCard,VCardTitle,VDialog,VHover,VIcon,VImg,VSheet})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {debounce} from 'vue-debounce';\nimport {Component, Vue, Watch} from 'vue-property-decorator';\nimport {Getter} from 'vuex-class';\n\nimport {isBeforeDate, isToday} from '@/core';\n\nimport {PRODUCT_TYPE, PRODUCT_TYPES} from '../constants';\nimport {Menu, Picto, Product, Zone} from '../interfaces';\nimport {filterTypesProduct} from '../tools';\nimport ModalFormule from './ModalFormule.vue';\nimport ModalProductDetail from './ModalProduct.vue';\nimport ProductCard from './ProductCard.vue';\n\n@Component({\n components: {\n ModalProductDetail,\n ProductCard,\n ModalFormule,\n },\n})\nexport default class ListCards extends Vue {\n @Getter('loadingMenu', {namespace: 'menu'}) loadingMenu!: boolean;\n\n @Getter('products', {namespace: 'menu'}) products!: Product[];\n\n @Getter('formulaZones', {namespace: 'menu'}) formulaZones!: Zone[];\n\n @Getter('formulaProducts', {namespace: 'menu'}) formulaProducts!: (id: string) => Product[];\n\n @Getter('error', {namespace: 'menu'}) error!: boolean;\n\n @Getter('isActivatedComment', {namespace: 'menu'}) isActivatedComment!: boolean;\n\n @Getter('customerId', {namespace: 'site'}) customerId!: string;\n\n @Getter('currentMenu', {namespace: 'menu'}) currentMenu!: Menu;\n\n productTypes: Picto[] = [];\n\n selectedProductTypeName = '';\n\n typeProduct = PRODUCT_TYPE;\n\n @Watch('$store.state.menu.currentMenu')\n private updateDay() {\n this.updateProductTypes();\n }\n\n mounted(): void {\n this.updateProductTypes();\n }\n\n created(): void {\n document.addEventListener('scroll', this.handleScroll);\n }\n\n destroyed(): void {\n document.removeEventListener('scroll', this.handleScroll);\n }\n\n set selectedProductType(value: string) {\n this.selectedProductTypeName = value;\n }\n\n get selectedProductType(): string {\n return this.selectedProductTypeName;\n }\n\n productsTypes(typeProduct: PRODUCT_TYPE | string): Product[] {\n return this.products.filter((product) => product.type === typeProduct);\n }\n\n hasProductsTypes(): boolean {\n return this.productTypes.some((productType) => this.productsTypes(productType.id).length);\n }\n\n hasProductsFormulas(): boolean {\n return this.formulaZones.some((formula) => this.formulaProducts(formula.code).length);\n }\n\n updateProductTypes(): void {\n this.productTypes = filterTypesProduct(this.products);\n if (this.formulaZones.length && this.hasProductsFormulas()) {\n this.productTypes.push(PRODUCT_TYPES[7]);\n }\n }\n\n scrollToProductType(productType: string): void {\n if (productType === 'Formule') {\n const element: HTMLElement = this.$refs[productType] as HTMLElement;\n window.scrollTo({left: 0, top: element.offsetTop, behavior: 'smooth'});\n } else {\n const element: HTMLElement[] = this.$refs[productType] as HTMLElement[];\n window.scrollTo({left: 0, top: element[0].offsetTop, behavior: 'smooth'});\n }\n }\n\n handleScroll(): void {\n debounce(() => {\n if (\n this.$refs[this.productTypes[0].name] &&\n (this.$refs[this.productTypes[0].name] as HTMLElement[])[0] &&\n window.scrollY >= (this.$refs[this.productTypes[0].name] as HTMLElement[])[0].offsetTop\n ) {\n const productTypes = this.productTypes.map((productType) => ({\n name: productType.name,\n position:\n productType.name !== 'Formule'\n ? (this.$refs[productType.name] as HTMLElement[])[0].offsetTop\n : (this.$refs[productType.name] as HTMLElement).offsetTop,\n }));\n const selectedProductType = productTypes.reduce((a, b) =>\n a.position <= window.scrollY && b.position > window.scrollY ? a : b\n );\n this.selectedProductTypeName = selectedProductType.name;\n } else {\n this.selectedProductTypeName = '';\n }\n }, '1000ms')();\n }\n\n openActivatedComment(): boolean {\n switch (this.customerId) {\n case 'Z16':\n if (isToday(this.currentMenu.date)) {\n const date = new Date();\n date.setHours(11, 30, 0, 0);\n return isBeforeDate(date.toISOString(), new Date().toISOString());\n }\n return false;\n default:\n return false;\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListCards.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ListCards.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ListCards.vue?vue&type=template&id=49b13ec0&scoped=true&\"\nimport script from \"./ListCards.vue?vue&type=script&lang=ts&\"\nexport * from \"./ListCards.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ListCards.vue?vue&type=style&index=0&id=49b13ec0&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"49b13ec0\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VChipGroup } from 'vuetify/lib/components/VChipGroup';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSkeletonLoader } from 'vuetify/lib/components/VSkeletonLoader';\ninstallComponents(component, {VChip,VChipGroup,VCol,VImg,VRow,VSheet,VSkeletonLoader})\n","\n\n\n\n\n\n\n\n\nimport {Component, Vue} from 'vue-property-decorator';\nimport {Getter} from 'vuex-class';\n\nimport NoData from '@/core/components/NoData.vue';\n\nimport {Day} from '../interfaces';\nimport FilterDay from './FilterDay.vue';\nimport ListCards from './ListCards.vue';\n\n@Component({\n components: {\n FilterDay,\n ListCards,\n NoData,\n },\n})\nexport default class Menu extends Vue {\n @Getter('days', {namespace: 'menu'}) days!: Day[];\n\n @Getter('hasArticles', {namespace: 'article'}) hasArticles!: boolean;\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Menu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Menu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Menu.vue?vue&type=template&id=6542739e&scoped=true&\"\nimport script from \"./Menu.vue?vue&type=script&lang=ts&\"\nexport * from \"./Menu.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Menu.vue?vue&type=style&index=0&id=6542739e&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6542739e\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VContainer})\n","import {RouteConfig} from 'vue-router';\n\nimport Menu from './components/Menu.vue';\n\nexport const menuRoutes: Array = [\n {\n path: '/:slug/menus',\n name: 'menu',\n component: Menu,\n meta: {title: 'Menu'},\n },\n];\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"c16\"},[_c('p',{staticClass:\"c15\"},[_c('span',{},[_vm._v(\"CONDITIONS GÉNÉRALES D’UTILISATION DE L’APPLICATION WEB \")])]),_c('p',{staticClass:\"c15\"},[_c('span',{},[_vm._v(\"LA CUISINE CONNECTEE\")])]),_c('p',{staticClass:\"c1 c10\"},[_c('span',{staticClass:\"c5\"})]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c5\"},[_vm._v(\"Préambule :\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"Les présentes Conditions Générales d’Utilisation (ci-après « CGU ») ont pour objet de définir les modalités de mise à disposition et les conditions d’utilisation du service de l’Application WEB proposée par la Société DUPONT RESTAURATION pour le compte de toutes les filiales de la société DR HOLDING au sens de l’article L233-1 du code de commerce, dont la société DUPONT RESTAURATION fait partie. \")])]),_c('p',{staticClass:\"c1 c10\"}),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c5\"},[_vm._v(\"Définition : \")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"Chacun des termes mentionnés ci-dessous aura, dans les présentes CGU, la signification suivante :\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c8 c6\"},[_vm._v(\"L’Application WEB : \")]),_c('span',{staticClass:\"c6\"},[_vm._v(\"correspond au site internet et services proposés par Dupont Restauration : \")]),_c('span',{staticClass:\"c8\"},[_c('a',{staticClass:\"c13 primary--text\"},[_vm._v(\"lacuisineconnectee.fr\")])])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c8 c6\"},[_vm._v(\"Conditions Générales d’Utilisation \")]),_c('span',{staticClass:\"c0\"},[_vm._v(\": correspond aux présentes conditions applicables aux services proposés sur l’Application WEB par la Société DUPONT RESTAURATION (ci-après « Dupont Restauration ») pour le compte de l’ensemble des filiales de la Société DR HOLDING au sens de l’article L233-1 du code de commerce.\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c6 c8\"},[_vm._v(\"La Cuisine Connectée :\")]),_c('span',{staticClass:\"c6\"},[_vm._v(\" correspond à l’application WEB destinée aux clients et convives proposée la Société DUPONT RESTAURATION, à l’adresse \")]),_c('span',{staticClass:\"c8\"},[_c('a',{staticClass:\"c13 primary--text\"},[_vm._v(\"lacuisineconnectee.fr\")])]),_c('span',{staticClass:\"c8\"}),_c('span',{staticClass:\"c0\"},[_vm._v(\" ou via un QR Code\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c8 c6\"},[_vm._v(\"Services :\")]),_c('span',{staticClass:\"c0\"},[_vm._v(\" correspond aux moyens et contenus proposés par Dupont Restauration dans l’application WEB pour bénéficier des différentes fonctionnalités\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c8 c6\"},[_vm._v(\"Utilisateur :\")]),_c('span',{staticClass:\"c0\"},[_vm._v(\" correspond aux convives qui utilisent l’application WEB\")])]),_c('p',{staticClass:\"c1 c10\"},[_c('span',{staticClass:\"c0\"})]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c5\"},[_vm._v(\"Article 1 – Objet\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"Dupont Restauration propose à l’Utilisateur différents services. Les services sont présentés sur les pages de l’Application WEB Par Service(s), on entend, sans que cette liste soit limitative, les contenus proposés, les éléments de mise en valeur des contenus, la mise à disposition d’outils et plus généralement tout autre service proposé par Dupont Restauration sur les différents sites internet proposés par Dupont Restauration.\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"Dupont Restauration se réserve le droit d’ajouter, de mettre à jour, de modifier et/ou de supprimer tout ou partie des Services qu’elle propose à tout moment et sans préavis.\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"Les présentes CGU ont pour objet de régir la mise à disposition et/ou l’accès par l’Utilisateur à ces Services et l’utilisation qu’il en fait.\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"L’accès et l’utilisation de tout ou partie des Services proposés impliquent de la part de l’Utilisateur une acceptation pleine et entière de l’ensemble des présentes CGU.\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"L’Utilisateur confirme donc avoir lu et compris l’intégralité des présentes CGU avant toute utilisation des Services. L’Utilisateur s’engage à respecter les présentes CGU.\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"L’acceptation des CGU exclut l’application de toute disposition différente ou contraire. Les stipulations des présentes CGU prévaudront en toute hypothèse.\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"Les CGU constituent l’intégralité du contrat passé entre l’Utilisateur et Dupont Restauration relatif à l’utilisation de l’Application WEB et, le cas échéant, annulent et remplacent l’ensemble des contrats, négociations et ententes antérieures entre l’Utilisateur et Dupont Restauration.\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"Dupont Restauration pourra proposer des conditions particulières complémentaires relatives à certains Services spécifiques, qui doivent être acceptées par l’Utilisateur s’il souhaite avoir accès aux dits Services.\")])]),_c('p',{staticClass:\"c1 c10\"},[_c('span',{staticClass:\"c0\"})]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c5\"},[_vm._v(\"Article 2 – Description de l’application WEB\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c8 c6 c14\"},[_vm._v(\"2.1 Accès\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"L’Application WEB est accessible gratuitement à tout Utilisateur disposant un accès à internet. Tous les coûts afférents à l'accès à l’Application WEB, que ce soient les frais matériels, logiciels ou d'accès à internet sont exclusivement à la charge de l'Utilisateur. Il est seul responsable du bon fonctionnement de son équipement informatique ainsi que de son accès à internet.\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"Dupont Restauration se réserve le droit de refuser l'accès à l’Application WEB unilatéralement et sans notification préalable, à tout Utilisateur ne respectant pas les présentes CGU.\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c8 c6 c14\"},[_vm._v(\"2.2 Détail de l’application et des Services proposés\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"L’application WEB, La cuisine connectée, permet notamment aux Utilisateurs d’obtenir l’actualité de son restaurant, de consulter les menus, le solde de son badge, de laisser un avis.\")])]),_c('p',{staticClass:\"c1 c10\"},[_c('span',{staticClass:\"c0\"})]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c5\"},[_vm._v(\"Article 3 – Responsabilité\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"Dupont Restauration met en œuvre tous les moyens raisonnables à sa disposition pour assurer un accès de qualité au Service, mais n'est tenu à aucune obligation d'y parvenir.\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"Dupont Restauration ne peut, en outre, être tenue responsable de tout dysfonctionnement du réseau ou des serveurs ou de tout autre événement échappant au contrôle raisonnable, qui empêcherait ou dégraderait l'accès à l’Application WEB.\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"Dupont Restauration se réserve la possibilité d'interrompre, de suspendre momentanément ou de modifier sans préavis l'accès à tout ou partie du Service, afin d'en assurer la maintenance, ou pour toute autre raison, sans que l'interruption n'ouvre droit à aucune obligation ni indemnisation.\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"L’Utilisateur s’engage à ne pas entraver le bon fonctionnement de l’Application WEB de quelque manière que ce soit, à ne pas transmettre tout élément susceptible de contenir un virus ou autre élément susceptible d’endommager, d’intercepter, d’interférer, de pirater tout ou partie de l’Application WEB. A ce titre, Dupont Restauration informe l’Utilisateur que l’accès à l’Application WEB est interdit à toute personne non autorisée.\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"L'Utilisateur s'engage, d'une manière générale, à respecter l'ensemble de la réglementation en vigueur en France.\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"Dupont Restauration s'engage à mettre en place tous les moyens nécessaires pour garantir la sécurité et la confidentialité des données transmises. L'Utilisateur est informé qu'un ou plusieurs cookies, ne contenant aucune information personnelle, pourront être placés sur son disque dur afin d'assurer son identification.\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"L'Utilisateur admet connaître les limitations et contraintes propres au réseau internet et, à ce titre, reconnaît notamment l'impossibilité d'une garantie totale de la sécurisation des échanges de données. Dupont Restauration ne pourra pas être tenue responsable des préjudices découlant de la transmission de toute information via le Service.\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"Dupont Restauration ne pourra en aucun cas, dans la limite du droit applicable, être tenue responsable des dommages et/ou préjudices, directs ou indirects, matériels ou immatériels, ou de quelque nature que ce soit, résultant d'une indisponibilité du Service ou de toute Utilisation du Service. Le terme « Utilisation » doit être entendu au sens large, c'est-à-dire tout usage de l’Application WEB quel qu'il soit, licite ou non.\")])]),_c('p',{staticClass:\"c1 c10\"},[_c('span',{staticClass:\"c0\"})]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c5\"},[_vm._v(\"Article 4 – Garantie\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"Les informations fournies par l’Utilisateur dans le cadre des présentes CGU ne sont pas communiquées aux tiers.\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"Les informations contenues sur l’Application WEB sont accessibles 24h/24 et 7j/7. Les opérations de maintenance, de test et de contrôles, ainsi que les interventions nécessaires en cas de panne, peuvent être effectuées par Dupont Restauration ou toute personne mandatée par elle, à tout moment\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"En cas d’inaccessibilité à l’Application WEB, la responsabilité de Dupont Restauration ne saurait être engagée.\")])]),_c('p',{staticClass:\"c1 c10\"},[_c('span',{staticClass:\"c0\"})]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c5\"},[_vm._v(\"Article 5 – Cookies\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"Les Cookies permettent exclusivement de faciliter la transmission des informations techniques et sont strictement nécessaires à la fourniture du Service\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"L’Utilisateur accepte qu’un cookie soit placé dans le disque dur de son ordinateur. Plusieurs types de cookies sont utilisés. Leur rôle est de permettre et faciliter l’authenticité à l’accès et aux rubriques de l’Application WEB\")])]),_c('p',{staticClass:\"c1 c10\"},[_c('span',{staticClass:\"c0\"})]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c5\"},[_vm._v(\"Article 6 – Liens vers d’autres sites ou applications\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"L’application WEB peut être constituée de liens hypertextes. En cliquant sur ces derniers, l’Utilisateur sortira de l’application WEB. Cette dernière n’a pas de contrôle et ne peut pas être tenue responsable du contenu des pages web relatives à ces liens.\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"Le Service proposé est intégré ou peut interagir avec des applications, sites Web et services tiers (« Applications tierces ») ainsi que des Appareils tiers, afin de mettre le Service à disposition de l’Utilisateur. Ces Applications et appareils tiers peuvent avoir leurs propres conditions générales d'utilisation et politiques de confidentialité, lesquelles régiront l’utilisation de ces Applications et appareils tiers. L’Utilisateur reconnait et accepte que Dupont Restauration ne valide pas et n'est pas responsable du comportement, des fonctionnalités ou du contenu de toute Application ou appareil tiers ou de toute transaction conclu par le l’Utilisateur avec le fournisseur de ces Applications et appareils tiers, et que Dupont Restauration ne garantit pas non plus la compatibilité ou la compatibilité continue des Applications et appareils tiers avec le Service.\")])]),_c('p',{staticClass:\"c1 c10\"},[_c('span',{staticClass:\"c0\"})]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c5\"},[_vm._v(\"Article 7 : Publication ou communication par l’Utilisateur\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"L’application WEB permet aux Utilisateurs de publier un avis. Dans ses publications, l’Utilisateur est tenu de respecter les règles de droit en vigueur. L’application WEB dispose du droit d’exercer une modération à priori sur les publications et peut refuser leur mise en ligne sans avoir à fournir de justification.\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"L’Utilisateur conserve l’intégralité de ses droits de propriété intellectuelle. Toutefois, toute publication sur le site implique la délégation du droit non exclusif et gratuit à la Société de représenter, reproduire, modifier, adapter, distribuer et diffuser la publication n’importe où et sur n’importe quel support pour la durée de la propriété intellectuelle. Cela peut se faire directement ou par l’intermédiaire d’un tiers autorisé. Cela concerne notamment le droit d’utilisation de la publication sur le web et sur les réseaux de téléphonie mobile. À chaque utilisation, la Société s’engage à mentionner le nom de l’Utilisateur à proximité de la publication.\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"L’Utilisateur est tenu responsable de tout contenu qu’il publie et met en ligne. L’Utilisateur s’engage à ne pas publier de contenus susceptibles de porter atteinte aux intérêts de tierces personnes. Toutes procédures engagées en justice par un tiers lésé à l’encontre du site devront être prises en charge par l’Utilisateur.\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"La suppression ou la modification par l’Application WEB du contenu de l’Utilisateur peut s’effectuer à tout moment, pour n’importe quelle raison et sans préavis.\")])]),_c('p',{staticClass:\"c1 c10\"},[_c('span',{staticClass:\"c0\"})]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c5\"},[_vm._v(\"Article 8 – Durée\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"Le présent contrat est conclu pour une durée indéterminée à compter de l'Utilisation du Service par l'Utilisateur. \")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"Cependant, l’accès au Service est résilié lorsque :\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"- tous les contrats de l’Utilisateur avec Dupont Restauration sont identifiés comme étant résiliés, clôturés ou soldés\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"- en cas de refus par l’Utilisateur des modifications apportées aux présents CGU\")])]),_c('p',{staticClass:\"c1 c10\"},[_c('span',{staticClass:\"c0\"})]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c5\"},[_vm._v(\"Article 9 – Données personnelles\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"La publication d’un avis nécessite la collecte des données personnelles suivante : adresse mail. La collecte des données personnelles de l’Utilisateur est effectuée sur l’Application WEB et par l’Application WEB.\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"Dans une logique de respect de la vie privée de ses Utilisateurs, Dupont Restauration s'engage à ce que la collecte et le traitement des données personnelles, effectués au sein de la présente Application WEB, soient effectués conformément au Règlement Général sur la Protection des Données 2016/679 du 27 avril 2016 (RGPD).\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c6\"},[_vm._v(\"Conformément au Règlement Général sur la Protection des Données 2016/679 du 27 avril 2016 (RGPD) vous bénéficiez d’un droit d’accès, de rectification et de suppression des informations qui vous concernent, que vous pouvez exercer en vous adressant à Service Traitement des Données Personnelles, 13 Avenue Blaise Pascal, Z.A. Les Portes du Nord, 62820 LIBERCOURT, ou en adressant un email à l’adresse suivante : \")]),_c('span',{staticClass:\"c6 primary--text\"},[_c('a',{staticClass:\"c13\",attrs:{\"href\":\"mailto:donneespersonnelles@dupont-restauration.fr\"}},[_vm._v(\"donneespersonnelles@dupont-restauration.fr\")])]),_c('span',{staticClass:\"c0\"},[_vm._v(\". Vous pouvez également, pour des motifs légitimes, vous opposer au traitement des données vous concernant.\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"Ces actions seront réalisées dans un délai de 30 jours calendaires suivant votre demande.\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c6\"},[_vm._v(\"Pour plus d’informations sur les données personnelles, vous pouvez consulter la charte de gestion des données personnelles sous ce lien : \")]),_c('span',{staticClass:\"c8 c6\"},[_c('a',{staticClass:\"c13 primary--text\",attrs:{\"href\":\"https://www.dupont-restauration.fr/donnees-personnelles/\"}},[_vm._v(\"Charte Données personnelles\")])])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c6\"},[_c('br')]),_c('span',{staticClass:\"c11\"},[_vm._v(\"Article 10 – Propriété intellectuelle\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"Les marques utilisées sur l’application WEB sont des marques déposées de Dupont Restauration. Toute reproduction non autorisée de ces marques, logos et signes distinctifs constitue une contrefaçon passible de sanctions pénales. Le contrevenant s'expose à des sanctions civiles et pénales et notamment aux peines prévues aux articles L. 335.2 et sv, L. 343.1 et sv et L. 716-9 et sv du code de la Propriété Intellectuelle.\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"Tous les éléments de l’Application WEB qu'ils soient visuels ou sonores, y compris la technologie sous-jacente, sont protégés par le droit d'auteur, le droit des marques et de manière générale par un droit de propriété intellectuelle. Ils sont la propriété exclusive de la société Dupont Restauration ou détenus par voie de licences.\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"L’Utilisateur s'interdit de copier ou télécharger tout ou partie du contenu de l’application web, sauf autorisation préalable et expresse de Dupont Restauration.\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"Dans tous les cas, tout lien, même tacitement autorisé, devra être retiré sur demande de la société Dupont Restauration.\")])]),_c('p',{staticClass:\"c1 c10\"},[_c('span',{staticClass:\"c0\"})]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c5\"},[_vm._v(\"Article 11 – Force majeure\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"La responsabilité de Dupont Restauration ne pourra être engagée en cas de force majeure ou de faits indépendants de sa volonté.\")])]),_c('p',{staticClass:\"c1 c10\"},[_c('span',{staticClass:\"c0\"})]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c5\"},[_vm._v(\"Article 12 Divers\")])]),_c('p',{staticClass:\"c1\"},[_c('span',{staticClass:\"c0\"},[_vm._v(\"Les présentes CGU sont soumises à la loi française. En cas de contestation sur son interprétation ou sur l’exécution de l’une quelconque de ses stipulations et à défaut d’accord amiable entre les parties, les règles légales d’attribution de compétence s’appliquent à l’exception des litiges des personnes qui ont contractés en qualité de commerçantes pour lesquelles les tribunaux de Lille seront seuls compétents pour connaître du litige.\")])]),_c('p',{staticClass:\"c1 c10\"},[_c('span',{staticClass:\"c0\"})]),_c('div',[_c('p',{staticClass:\"c3\"},[_c('span',{staticClass:\"c4\"},[_vm._v(\"CGU – version août 2021\")])]),_c('p',{staticClass:\"c3\"},[_c('span',{staticClass:\"c4\"},[_vm._v(\"Application WEB – La cuisine connectée\")])])])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {Component, Vue} from 'vue-property-decorator';\n\n@Component\nexport default class Cgu extends Vue {}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Cgu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Cgu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Cgu.vue?vue&type=template&id=1f040711&scoped=true&\"\nimport script from \"./Cgu.vue?vue&type=script&lang=ts&\"\nexport * from \"./Cgu.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Cgu.vue?vue&type=style&index=0&id=1f040711&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1f040711\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.$vuetify.breakpoint.smAndDown)?_c('v-container',{staticClass:\"pa-0\"},[_c('v-card',{staticClass:\"mt-4 mb-9\",attrs:{\"max-width\":\"400\"}},[_c('v-img',{staticClass:\"white--text align-start\",attrs:{\"src\":require('../assets/images/bg/bg_home.jpg'),\"gradient\":\"to bottom, rgba(51,51,51,.5), rgba(51,51,51,1)\"}},[_c('v-container',{staticClass:\"pa-4\"},[_c('v-btn',{attrs:{\"rounded\":\"\",\"height\":\"48\",\"width\":\"48\",\"min-width\":\"48\"}},[_c('v-icon',{attrs:{\"color\":\"primary\",\"medium\":\"\"}},[_vm._v(\" mdi-silverware \")])],1),(_vm.motd)?_c('h2',{staticClass:\"font-weight-bold pt-4\"},[_vm._v(_vm._s(_vm.motd))]):_c('h2',{staticClass:\"font-weight-bold pt-4\"},[_vm._v(\"Bienvenue dans le restaurant \"+_vm._s(_vm.siteName))])],1),_c('v-container',{staticClass:\"px-4\"},[_c('v-card-text',{staticClass:\"white--text caption pa-0\"},[_c('div',[_vm._v(\" Profitez de fonctionnalités : les menus de la semaine, les recettes de nos chefs, les évènements à venir et bien plus encore ! \"),(_vm.customerId === 'Z16')?_c('span',[_vm._v(\"/\")]):_vm._e()]),(_vm.customerId === 'Z16')?_c('div',[_vm._v(\" Enjoy features such as weekly menus, recipes from our chefs, upcoming events and much more! \")]):_vm._e()]),_c('v-btn',{staticClass:\"text-none caption mt-4 pa-4\",staticStyle:{\"width\":\"100%\"},attrs:{\"elevation\":\"0\",\"rounded\":\"\",\"color\":\"primary\",\"exact\":\"\",\"to\":{name: 'menu', params: {id: _vm.$route.params.slug}}}},[_c('div',{staticClass:\"d-flex flex-column\"},[_c('span',[_vm._v(\" Accéder à la carte du jour \"),(_vm.customerId === 'Z16')?_c('span',[_vm._v(\"/\")]):_vm._e()]),(_vm.customerId === 'Z16')?_c('span',[_vm._v(\" Access to the daily menu\")]):_vm._e()])])],1)],1)],1),_c('h3',{staticClass:\"subtitle-1 font-weight-bold\"},[_vm._v(\"Nos services\")]),_c('div',{staticClass:\"d-flex justify-start flex-wrap\"},_vm._l((_vm.services),function(service,i){return _c('div',{key:i,staticClass:\"Home__button d-flex flex-column justify-center justify-md-start align-center align-md-start mt-4\"},[_c('v-btn',{staticClass:\"mb-1\",attrs:{\"href\":service.link || '',\"exact\":\"\",\"height\":\"70\",\"width\":\"70\",\"min-width\":\"70\",\"color\":\"primary\",\"elevation\":\"4\"},on:{\"click\":function($event){service.click ? service.click() : ''}}},[_c('v-icon',[_vm._v(_vm._s(service.icon))])],1),_c('div',{staticClass:\"d-flex flex-column caption font-weight-medium ma-0\"},[_c('span',[_vm._v(_vm._s(service.title)+\" \"),(_vm.customerId === 'Z16')?_c('span',[_vm._v(\"/\")]):_vm._e()]),(_vm.customerId === 'Z16')?_c('span',[_vm._v(\" \"+_vm._s(service.titleEn))]):_vm._e()])],1)}),0),(_vm.enableAffluence && _vm.customerId)?_c('v-dialog',{attrs:{\"persistent\":_vm.$vuetify.breakpoint.smAndDown,\"fullscreen\":_vm.$vuetify.breakpoint.smAndDown},model:{value:(_vm.affluenceDialog),callback:function ($$v) {_vm.affluenceDialog=$$v},expression:\"affluenceDialog\"}},[_c('AffluenceModal',{on:{\"closeModal\":function($event){_vm.affluenceDialog = false}}})],1):_vm._e()],1):_c('Menu')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {Component, Vue, Watch} from 'vue-property-decorator';\nimport {Getter} from 'vuex-class';\n\nimport Menu from '@/menu/components/Menu.vue';\nimport {Links} from '@/site/interfaces';\n\nimport AffluenceModal from '../components/AffluenceModal.vue';\n\n@Component({\n components: {\n Menu,\n AffluenceModal,\n },\n})\nexport default class Home extends Vue {\n @Getter('motd', {namespace: 'site'}) motd!: string | null;\n\n @Getter('name', {namespace: 'site'}) siteName!: string;\n\n @Getter('links', {namespace: 'site'}) links!: Links | null;\n\n @Getter('enableContact', {namespace: 'site'}) enableContact!: boolean;\n\n @Getter('hasArticles', {namespace: 'article'}) hasArticles!: boolean;\n\n @Getter('isBookingActivated', {namespace: 'site'}) isBookingActivated!: boolean;\n\n @Getter('customerId', {namespace: 'site'}) customerId!: string;\n\n @Getter('enableAffluence', {namespace: 'site'}) enableAffluence!: boolean;\n\n affluenceDialog = false;\n\n services: {\n icon: string;\n title: string;\n titleEn: string;\n show: boolean;\n name?: string;\n link?: string | null;\n click?: () => void;\n }[] = [];\n\n mounted(): void {\n this.setServices();\n }\n\n @Watch('$store.state.site.links')\n setLinks(): void {\n this.setServices();\n }\n\n @Watch('$store.state.article.articles')\n private showLocalService() {\n this.setServices();\n }\n\n setServices(): void {\n if (this.links && this.hasArticles) {\n this.services = [\n {\n icon: 'mdi-silverware',\n title: 'Menus',\n titleEn: 'Menus',\n name: 'menu',\n show: true,\n click: () => {\n this.selectService({name: 'menu', params: {id: this.$route.params.slug}});\n },\n },\n {\n icon: 'mdi-information-outline',\n title: 'Actualités',\n titleEn: 'News',\n name: 'articles',\n show: this.hasArticles,\n click: () => {\n this.selectService({name: 'articles', params: {id: this.$route.params.slug}});\n },\n },\n {\n icon: 'mdi-calendar-range',\n title: 'Réservation',\n titleEn: 'Booking',\n name: 'booking',\n show: this.isBookingActivated,\n click: () => {\n this.selectService({name: 'booking', params: {id: this.$route.params.slug}});\n },\n },\n {\n icon: 'mdi-account-circle',\n title: 'Compte',\n titleEn: 'Account',\n link: this.links.badgeUrl || null,\n show: !!this.links.badgeUrl,\n },\n {\n icon: 'mdi-room-service',\n title: 'Room Service',\n titleEn: 'Room Service',\n link: this.links.roomServiceUrl || null,\n show: !!this.links.roomServiceUrl,\n },\n {\n icon: 'mdi-basket',\n title: 'À emporter',\n titleEn: 'Takeaway',\n link: this.links.clickAndCollectUrl || null,\n show: !!this.links.clickAndCollectUrl,\n },\n {\n icon: 'mdi-square-edit-outline',\n title: 'Contact',\n titleEn: 'Contact',\n name: 'contact',\n show: this.enableContact,\n click: () => {\n this.selectService({name: 'contact', params: {id: this.$route.params.slug}});\n },\n },\n {\n icon: 'mdi-chart-line',\n title: 'Affluence',\n titleEn: 'Attendance',\n name: 'affluence',\n show: this.enableAffluence,\n click: () => {\n this.affluenceDialog = true;\n },\n },\n ].filter((service) => service.show);\n } else if (!this.links && this.hasArticles) {\n this.services = [\n {\n icon: 'mdi-silverware',\n title: 'Menus',\n titleEn: 'Menus',\n name: 'menu',\n show: true,\n click: () => {\n this.selectService({name: 'menu', params: {id: this.$route.params.slug}});\n },\n },\n {\n icon: 'mdi-information-outline',\n title: 'Actualités',\n titleEn: 'News',\n\n name: 'articles',\n show: this.hasArticles,\n click: () => {\n this.selectService({name: 'articles', params: {id: this.$route.params.slug}});\n },\n },\n {\n icon: 'mdi-calendar-range',\n title: 'Réservation',\n titleEn: 'Booking',\n\n name: 'booking',\n show: this.isBookingActivated,\n click: () => {\n this.selectService({name: 'booking', params: {id: this.$route.params.slug}});\n },\n },\n {\n icon: 'mdi-square-edit-outline',\n title: 'Contact',\n titleEn: 'Contact',\n\n name: 'contact',\n show: this.enableContact,\n click: () => {\n this.selectService({name: 'contact', params: {id: this.$route.params.slug}});\n },\n },\n {\n icon: 'mdi-chart-line',\n title: 'Affluence',\n titleEn: 'Attendance',\n\n show: this.enableAffluence,\n click: () => {\n this.affluenceDialog = true;\n },\n },\n ].filter((service) => service.show);\n } else if (this.links && !this.hasArticles) {\n this.services = [\n {\n icon: 'mdi-silverware',\n title: 'Menus',\n titleEn: 'Menus',\n\n name: 'menu',\n show: true,\n click: () => {\n this.selectService({name: 'menu', params: {id: this.$route.params.slug}});\n },\n },\n {\n icon: 'mdi-calendar-range',\n title: 'Réservation',\n name: 'booking',\n titleEn: 'Booking',\n\n show: this.isBookingActivated,\n click: () => {\n this.selectService({name: 'booking', params: {id: this.$route.params.slug}});\n },\n },\n {\n icon: 'mdi-account-circle',\n title: 'Compte',\n titleEn: 'Account',\n\n link: this.links.badgeUrl || null,\n show: !!this.links.badgeUrl,\n },\n {\n icon: 'mdi-room-service',\n title: 'Room Service',\n titleEn: 'Room Service',\n\n link: this.links.roomServiceUrl || null,\n show: !!this.links.roomServiceUrl,\n },\n {\n icon: 'mdi-basket',\n title: 'À emporter',\n titleEn: 'Takeaway',\n\n link: this.links.clickAndCollectUrl || null,\n show: !!this.links.clickAndCollectUrl,\n },\n {\n icon: 'mdi-square-edit-outline',\n title: 'Contact',\n titleEn: 'Contact',\n\n name: 'contact',\n show: this.enableContact,\n click: () => {\n this.selectService({name: 'contact', params: {id: this.$route.params.slug}});\n },\n },\n {\n icon: 'mdi-chart-line',\n title: 'Affluence',\n titleEn: 'Attendance',\n\n show: this.enableAffluence,\n click: () => {\n this.affluenceDialog = true;\n },\n },\n ].filter((service) => service.show);\n } else {\n this.services = [\n {\n icon: 'mdi-silverware',\n title: 'Menus',\n titleEn: 'Menus',\n\n name: 'menu',\n show: true,\n click: () => {\n this.selectService({name: 'menu', params: {id: this.$route.params.slug}});\n },\n },\n {\n icon: 'mdi-calendar-range',\n title: 'Réservation',\n name: 'booking',\n titleEn: 'Booking',\n\n show: this.isBookingActivated,\n click: () => {\n this.selectService({name: 'booking', params: {id: this.$route.params.slug}});\n },\n },\n {\n icon: 'mdi-square-edit-outline',\n title: 'Contact',\n titleEn: 'Contact',\n\n name: 'contact',\n show: this.enableContact,\n click: () => {\n this.selectService({name: 'contact', params: {id: this.$route.params.slug}});\n },\n },\n {\n icon: 'mdi-chart-line',\n title: 'Affluence',\n titleEn: 'Attendance',\n\n show: this.enableAffluence,\n click: () => {\n this.affluenceDialog = true;\n },\n },\n ].filter((service) => service.show);\n }\n }\n\n selectService(service: {name: string; params: {id: string}}): void {\n this.$router.push(service);\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=7497d44d&scoped=true&\"\nimport script from \"./Home.vue?vue&type=script&lang=ts&\"\nexport * from \"./Home.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Home.vue?vue&type=style&index=0&id=7497d44d&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7497d44d\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\ninstallComponents(component, {VBtn,VCard,VCardText,VContainer,VDialog,VIcon,VImg})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"c9\"},[_c('p',{staticClass:\"c5\"},[_c('span',{staticClass:\"c1\"},[_vm._v(\"Mentions légales\")])]),_c('p',{staticClass:\"c0\"},[_c('span',{staticClass:\"c1\"})]),_c('p',{staticClass:\"c2\"},[_c('span',{staticClass:\"c1\"},[_vm._v(\"Raison sociale : Dupont Restauration\")])]),_c('p',{staticClass:\"c2\"},[_c('span',{staticClass:\"c1\"},[_vm._v(\"Forme juridique : SASU\")])]),_c('p',{staticClass:\"c2\"},[_c('span',{staticClass:\"c1\"},[_vm._v(\"Capital social : 4 542 770 €\")])]),_c('p',{staticClass:\"c2\"},[_c('span',{staticClass:\"c1\"},[_vm._v(\"Siège social : Z.A Les Portes du Nord – 62820 LIBERCOURT\")])]),_c('p',{staticClass:\"c2\"},[_c('span',{staticClass:\"c7\"},[_vm._v(\"Email : \")]),_c('span',{staticClass:\"c3\"},[_c('a',{staticClass:\"c4 primary--text\",attrs:{\"href\":\"mailto:info@dupont-restauration.fr\"}},[_vm._v(\"info@dupont-restauration.fr\")])])]),_c('p',{staticClass:\"c2\"},[_c('span',{staticClass:\"c1\"},[_vm._v(\"Tél : 03.21.08.90.00\")])]),_c('p',{staticClass:\"c2\"},[_c('span',{staticClass:\"c1\"},[_vm._v(\"RCS : 410 151 674 ARRAS\")])]),_c('p',{staticClass:\"c2\"},[_c('span',{staticClass:\"c1\"},[_vm._v(\"N° de SIRET : 410 151 674 00026 \")])]),_c('p',{staticClass:\"c2\"},[_c('span',{staticClass:\"c1\"},[_vm._v(\"TVA intracommunautaire: FR43 410151674\")])]),_c('p',{staticClass:\"c0\"},[_c('span',{staticClass:\"c1\"})]),_c('p',{staticClass:\"c2\"},[_c('span',{staticClass:\"c1\"},[_vm._v(\"L’application WEB :\")])]),_c('p',{staticClass:\"c2\"},[_c('span',{staticClass:\"c3\"},[_c('a',{staticClass:\"c4 primary--text\"},[_vm._v(\"lacuisineconnectee.fr\")])]),_c('span',{staticClass:\"c1\"},[_vm._v(\" est l’application WEB de la société DUPONT RESTAURATION\")])]),_c('p',{staticClass:\"c2\"},[_c('span',{staticClass:\"c7\"},[_vm._v(\"Directeur de publication : Angelina LOLETTO, Responsable communication marketing\")]),_c('span',{staticClass:\"c7\"})]),_c('p',{staticClass:\"c2\"},[_c('span',{staticClass:\"c1\"},[_vm._v(\"Hébergement Web : SCALEWAY\")])]),_c('p',{staticClass:\"c0\"},[_c('span',{staticClass:\"c1\"})]),_c('p',{staticClass:\"c2\"},[_c('span',{staticClass:\"c1\"},[_vm._v(\"Droits d'auteur – Copyright\")])]),_c('p',{staticClass:\"c2\"},[_c('span',{staticClass:\"c1\"},[_vm._v(\"L'ensemble de cette application WEB relève de la législation française et internationale sur le droit d'auteur et la propriété intellectuelle. Tous les droits de reproduction sont réservés, y compris les documents téléchargeables et les représentations iconographiques et photographiques.\")])]),_c('p',{staticClass:\"c2\"},[_c('span',{staticClass:\"c1\"},[_vm._v(\"La reproduction de tout ou partie de ce site sur un support électronique, quel qu'il soit, est formellement interdite, sauf autorisation expresse du directeur de la publication.\")])]),_c('p',{staticClass:\"c2\"},[_c('span',{staticClass:\"c7\"},[_vm._v(\"La mise en place d’un lien hypertexte vers le site Internet \")]),_c('span',{staticClass:\"c3\"},[_c('a',{staticClass:\"c4 primary--text\"},[_vm._v(\"lacuisineconnectee.fr\")])]),_c('span',{staticClass:\"c3\"}),_c('span',{staticClass:\"c1\"},[_vm._v(\" nécessite une autorisation préalable et écrite à la société DUPONT RESTAURATION.\")])]),_c('p',{staticClass:\"c0\"},[_c('span',{staticClass:\"c1\"})]),_c('p',{staticClass:\"c2\"},[_c('span',{staticClass:\"c1\"},[_vm._v(\"Modification du site\")])]),_c('p',{staticClass:\"c2\"},[_c('span',{staticClass:\"c1\"},[_vm._v(\"Dupont Restauration se réserve le droit de modifier ou de corriger le contenu de cette application WEB et cette mention légale à tout moment et ceci sans préavis.\")])]),_c('p',{staticClass:\"c0\"},[_c('span',{staticClass:\"c1\"})]),_c('p',{staticClass:\"c2\"},[_c('span',{staticClass:\"c1\"},[_vm._v(\"Exonération de responsabilité\")])]),_c('p',{staticClass:\"c2\"},[_c('span',{staticClass:\"c1\"},[_vm._v(\"Il appartient à l'utilisateur de cette application WEB de prendre toutes les mesures appropriées de façon à protéger ses propres données et/ou logiciels de contamination par d'éventuels virus circulant sur le réseau Internet.\")])]),_c('p',{staticClass:\"c2\"},[_c('span',{staticClass:\"c1\"},[_vm._v(\"DUPONT RESTAURATION ne pourra être tenu responsable des dommages directs ou indirects résultant de l'usage de cette application WEB ou d'autres sites qui lui sont liés, notamment du fait de non-accès à son site, de dysfonctionnements liés au réseau Internet, à l'hébergeur de l’application WEB ou l'hébergeur d'une partie de l’application WEB ou d'interruption de service pour cause de maintenance ou de mise à jour. \")])]),_c('p',{staticClass:\"c2\"},[_c('span',{staticClass:\"c1\"},[_vm._v(\"Cette application WEB est régie par le droit français.\")])]),_c('p',{staticClass:\"c0\"},[_c('span',{staticClass:\"c1\"})]),_c('p',{staticClass:\"c2\"},[_c('span',{staticClass:\"c1\"},[_vm._v(\"Hébergement\")])]),_c('p',{staticClass:\"c2\"},[_c('span',{staticClass:\"c3\"},[_c('a',{staticClass:\"c4 primary--text\"},[_vm._v(\"lacuisineconnectee.fr\")])]),_c('span',{staticClass:\"c3\"}),_c('span',{staticClass:\"c1\"},[_vm._v(\" est hébergé par :\")])]),_c('p',{staticClass:\"c2\"},[_c('span',{staticClass:\"c1\"},[_vm._v(\"SCALEWAY SAS, 8 rue de la Ville l’Evêque, BP 438, 75366 PARIS CEDEX 08, FRANCE\")])]),_c('p',{staticClass:\"c2\"},[_c('span',{staticClass:\"c1\"},[_vm._v(\"Téléphone : 01 84 13 00 00\")])]),_c('p',{staticClass:\"c2\"},[_c('span',{staticClass:\"c3\"},[_c('a',{staticClass:\"c4 primary--text\",attrs:{\"href\":\"https://www.scaleway.com/fr/\"}},[_vm._v(\"https://www.scaleway.com/fr/\")])])]),_c('p',{staticClass:\"c6\"},[_c('span',{staticClass:\"c1\"})]),_c('p',{staticClass:\"c11\"},[_c('span',{staticClass:\"c1\"},[_vm._v(\"Conformément à la loi « informatique et libertés » du 6 janvier 1978 modifiée en 2004, vous bénéficiez d’un droit d’accès, de rectification et de suppression des informations qui vous concernent, que vous pouvez exercer en vous adressant à Service données personnelles, 13 Avenue Blaise Pascal, Z.A. Les Portes du Nord, 62820 LIBERCOURT. Vous pouvez également, pour des motifs légitimes, vous opposer au traitement des données vous concernant.\")])])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {Component, Vue} from 'vue-property-decorator';\n\n@Component\nexport default class MentionsLegales extends Vue {}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MentionsLegales.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MentionsLegales.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MentionsLegales.vue?vue&type=template&id=593e4d3b&scoped=true&\"\nimport script from \"./MentionsLegales.vue?vue&type=script&lang=ts&\"\nexport * from \"./MentionsLegales.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MentionsLegales.vue?vue&type=style&index=0&id=593e4d3b&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"593e4d3b\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('NoData',{attrs:{\"isNotFoundPage\":true}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\nimport {Component, Vue} from 'vue-property-decorator';\n\nimport NoData from '@/core/components/NoData.vue';\n\n@Component({\n components: {\n NoData,\n },\n})\nexport default class PageNotFound extends Vue {}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageNotFound.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageNotFound.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PageNotFound.vue?vue&type=template&id=e4306ffa&\"\nimport script from \"./PageNotFound.vue?vue&type=script&lang=ts&\"\nexport * from \"./PageNotFound.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\nimport VueRouter, {NavigationGuardNext, Route, RouteConfig} from 'vue-router';\n\nimport {articleRoutes} from '@/articles/router';\nimport {bookingRoutes} from '@/bookings/router';\nimport {feedbackRoutes} from '@/feedback/router';\nimport {menuRoutes} from '@/menu/router';\n\nimport {store} from './store';\nimport Cgu from './views/Cgu.vue';\nimport Home from './views/Home.vue';\nimport MentionsLegales from './views/MentionsLegales.vue';\nimport PageNotFound from './views/PageNotFound.vue';\n\nVue.use(VueRouter);\n\nconst routes: Array = [\n {\n path: '/non-trouve',\n name: 'notFound',\n component: PageNotFound,\n meta: {title: 'Page introuvable'},\n },\n {\n path: '/:slug',\n name: 'home',\n component: Home,\n meta: {title: 'Accueil'},\n },\n {\n path: '/:slug/MentionsLegales',\n name: 'legalNotice',\n component: MentionsLegales,\n meta: {title: 'Mentions Légales'},\n },\n {\n path: '/:slug/cgu',\n name: 'termsOfService',\n component: Cgu,\n meta: {title: 'CGU'},\n },\n ...menuRoutes,\n ...articleRoutes,\n ...bookingRoutes,\n ...feedbackRoutes,\n {\n path: '/*',\n redirect: '/non-trouve',\n },\n];\n\nconst router = new VueRouter({\n mode: 'history',\n base: process.env.BASE_URL,\n routes,\n});\n\nrouter.beforeEach((to: Route, from: Route, next: NavigationGuardNext): void => {\n if (to.params.slug && !router.app.$store.getters['site/customerId']) {\n store.dispatch('site/getSite', to.params.slug);\n }\n next();\n});\nexport default router;\n","import VComp from '@vue/composition-api';\nimport {\n BarController,\n BarElement,\n CategoryScale,\n Chart,\n LinearScale,\n LineController,\n LineElement,\n PointElement,\n} from 'chart.js';\nimport Vue from 'vue';\nimport Vuelidate from 'vuelidate';\nimport {sync} from 'vuex-router-sync';\n\nimport App from './App.vue';\nimport vuetify from './core/plugins/vuetify';\n// import './registerServiceWorker';\nimport router from './core/router';\nimport {store} from './core/store';\n\nChart.register(\n BarController,\n LineController,\n BarElement,\n LineElement,\n PointElement,\n CategoryScale,\n LinearScale\n);\n\nsync(store, router);\n\nVue.use(Vuelidate);\nVue.use(VComp);\n\nVue.config.productionTip = false;\n\nnew Vue({\n router,\n store,\n vuetify,\n render: (h) => h(App),\n}).$mount('#app');\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalComment.vue?vue&type=style&index=0&id=43f870eb&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/plat_du_jour.438d3368.png\";","module.exports = __webpack_public_path__ + \"img/3.e0d9fb45.svg\";","module.exports = __webpack_public_path__ + \"img/4.90b43f35.svg\";","module.exports = __webpack_public_path__ + \"img/patisserie_du_chef.07af54d7.png\";","module.exports = __webpack_public_path__ + \"img/local.55658fb7.png\";","module.exports = __webpack_public_path__ + \"img/10.d82daaef.svg\";","module.exports = __webpack_public_path__ + \"img/v_1.9d3df07b.svg\";","module.exports = __webpack_public_path__ + \"img/1.3bcd9c32.svg\";","module.exports = __webpack_public_path__ + \"img/equilibre.3c5c9215.png\";","module.exports = __webpack_public_path__ + \"img/404.fd7f0908.svg\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=style&index=0&id=7497d44d&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/anti_gaspi.3cdf4523.svg\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalFormule.vue?vue&type=style&index=0&id=911a7460&scoped=true&lang=scss&\""],"sourceRoot":""}