{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/assets/images/flag_da.jpg","webpack:///./src/assets/images/coming_soon_en.jpg","webpack:///./src/views/ChooseRecipeView.vue?8fcd","webpack:///./src/assets/images sync nonrecursive \\.jpg$","webpack:///./src/views/ErrorView.vue?d9da","webpack:///./src/components/CookieLaw.vue?f604","webpack:///./src/views/EnterCodeView.vue?faa5","webpack:///./src/components/VoucherBar.vue?e1c7","webpack:///./src/components/Pattern.vue?f820","webpack:///./src/locales sync [A-Za-z0-9-_,\\s]+\\.json$/","webpack:///./src/App.vue?df62","webpack:///./src/components/PatternSection.vue?3c6e","webpack:///./src/components/VoucherBarButton.vue?f56b","webpack:///./src/components/SignOut.vue?cb77","webpack:///./src/components/SearchBar.vue?d430","webpack:///./src/components/ChosenPattern.vue?6578","webpack:///./src/views/ConfirmChoiceView.vue?a073","webpack:///./src/assets/images/flag_en.jpg","webpack:///./src/views/TermsView.vue?e9f1","webpack:///./src/assets/images/coming_soon_da.jpg","webpack:///./src/core/enums.js","webpack:///./src/App.vue?1dfb","webpack:///./src/components/Breadcrumb.vue?105d","webpack:///./src/components/Breadcrumb.vue","webpack:///./src/components/Breadcrumb.vue?107c","webpack:///./src/components/Breadcrumb.vue?c77d","webpack:///./src/components/Help.vue?b833","webpack:///./src/components/Help.vue","webpack:///./src/components/Help.vue?3126","webpack:///./src/components/Help.vue?3cde","webpack:///./src/components/LanguagePicker.vue?6693","webpack:///./src/core/helpers.js","webpack:///./src/components/LanguagePicker.vue","webpack:///./src/components/LanguagePicker.vue?5f1c","webpack:///./src/components/LanguagePicker.vue?41b8","webpack:///./src/components/CookieLaw.vue?cb1d","webpack:///src/components/CookieLaw.vue","webpack:///./src/components/CookieLaw.vue?b76f","webpack:///./src/components/CookieLaw.vue?e67b","webpack:///./src/App.vue","webpack:///./src/App.vue?c82e","webpack:///./src/App.vue?180a","webpack:///./src/views/EnterCodeView.vue?de77","webpack:///./src/components/VoucherBar.vue?3465","webpack:///./src/components/VoucherBar.vue","webpack:///./src/components/VoucherBar.vue?da88","webpack:///./src/components/VoucherBar.vue?d8c6","webpack:///./src/components/VoucherBarButton.vue?2fb4","webpack:///./src/core/config.js","webpack:///./src/components/Button.vue?4221","webpack:///./src/components/Button.vue","webpack:///./src/components/Button.vue?5ec0","webpack:///./src/components/Button.vue?ec05","webpack:///./src/components/VoucherBarButton.vue","webpack:///./src/components/VoucherBarButton.vue?8de3","webpack:///./src/components/VoucherBarButton.vue?055a","webpack:///./src/views/EnterCodeView.vue","webpack:///./src/views/EnterCodeView.vue?638e","webpack:///./src/views/EnterCodeView.vue?d200","webpack:///./src/views/ChooseRecipeView.vue?5325","webpack:///./src/components/PatternSection.vue?53a9","webpack:///./src/components/Pattern.vue?f113","webpack:///./src/components/Pattern.vue","webpack:///./src/components/Pattern.vue?1337","webpack:///./src/components/Pattern.vue?fbd4","webpack:///./src/components/PatternSection.vue","webpack:///./src/components/PatternSection.vue?c1c8","webpack:///./src/components/PatternSection.vue?0246","webpack:///./src/components/SearchBar.vue?db4e","webpack:///./src/components/SearchBar.vue","webpack:///./src/components/SearchBar.vue?ac85","webpack:///./src/components/SearchBar.vue?9efc","webpack:///./src/components/SignOut.vue?da41","webpack:///./src/components/SignOut.vue","webpack:///./src/components/SignOut.vue?a1f7","webpack:///./src/components/SignOut.vue?1585","webpack:///./src/views/ChooseRecipeView.vue","webpack:///./src/views/ChooseRecipeView.vue?cd14","webpack:///./src/views/ChooseRecipeView.vue?4633","webpack:///./src/views/ConfirmChoiceView.vue?e4a7","webpack:///./src/services/backendService.js","webpack:///./src/components/ChosenPattern.vue?e31f","webpack:///./src/components/ChosenPattern.vue","webpack:///./src/components/ChosenPattern.vue?4b0f","webpack:///./src/components/ChosenPattern.vue?bab7","webpack:///./src/views/ConfirmChoiceView.vue","webpack:///./src/core/interfaces.js","webpack:///./src/views/ConfirmChoiceView.vue?81d1","webpack:///./src/views/ConfirmChoiceView.vue?4cc1","webpack:///./src/views/SuccessView.vue?a0c3","webpack:///./src/views/SuccessView.vue","webpack:///./src/views/SuccessView.vue?1557","webpack:///./src/views/SuccessView.vue?09da","webpack:///./src/views/ErrorView.vue?f585","webpack:///./src/views/ErrorView.vue","webpack:///./src/views/ErrorView.vue?976a","webpack:///./src/views/ErrorView.vue?54ed","webpack:///./src/views/ContactView.vue?83c2","webpack:///./src/views/ContactView.vue","webpack:///./src/views/ContactView.vue?4eaa","webpack:///./src/views/ContactView.vue?07d7","webpack:///./src/views/PrivacyPolicyView.vue?8c35","webpack:///./src/views/PrivacyPolicyView.vue","webpack:///./src/views/PrivacyPolicyView.vue?70a8","webpack:///./src/views/PrivacyPolicyView.vue?33a0","webpack:///./src/views/TermsView.vue?14ae","webpack:///./src/views/TermsView.vue","webpack:///./src/views/TermsView.vue?8e7e","webpack:///./src/views/TermsView.vue?4885","webpack:///./src/store.js","webpack:///./src/i18n.js","webpack:///./src/router.js","webpack:///./src/main.ts","webpack:///./src/components/LanguagePicker.vue?c5d8","webpack:///./src/views/SuccessView.vue?33de","webpack:///./src/components/Help.vue?e830","webpack:///./src/components/Breadcrumb.vue?ed98","webpack:///./src/assets/images/kd-logo.jpg","webpack:///./src/views/ContactView.vue?b4e0","webpack:///./src/views/PrivacyPolicyView.vue?87ea","webpack:///./src/components/Button.vue?7cf8"],"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","BreadcrumbState","_vm","this","_h","$createElement","_c","_self","attrs","staticClass","_v","_s","contactText","helpText","_e","hideLogo","copyrightText","contactTextUpper","termsText","privacyText","cookieAcceptButtonText","cookieLinkButtonText","cookieMessage","staticRenderFns","class","big__margin","bigMargin","current","enterCodeCurrent","$t","chooseRecipeCurrent","confirmChoiceCurrent","$route","EnterCode","ChooseRecipe","ConfirmChoice","currentState","component","on","$event","hideHelpText","help__tb__hide","helpTextHeader","helpTextPath","scopedSlots","_u","fn","proxy","bold1","bold2","bold3","bold4","bold5","toString","img","localeText","$i18n","locale","setLocale","_m","capitalize","text","toUpperCase","localStorage","setItem","$store","dispatch","$router","replace","images","transitionName","containerPosition","cookieTheme","_t","message","buttonClass","target","buttonLink","buttonLinkText","accept","buttonText","close","open","local","cookies","props","type","String","default","required","buttonLinkNewTab","Boolean","theme","position","storageName","storageType","STORAGE_TYPES","cookieOptions","supportsLocalStorage","isOpen","computed","externalButtonLink","internalButtonLink","canUseLocalStorage","created","test","removeItem","getVisited","methods","setVisited","getItem","$emit","includes","components","Breadcrumb","Help","LanguagePicker","CookieLaw","handleCuponMatch","handleCuponMismatch","directives","rawName","expression","ref","showError","loading","handleVoucherBarButton","placeholderText","voucherBarInputChanged","standardCodeLength","codeLengthDifference","codeIsTooShort","showErrorTimeout","codeLength","cuponCode","errorTimer","cuponFormatString","cuponFormat","RegExp","event","cuponMatchesRegex","clearShowErrorTimer","emitCuponMatchEvent","startShowErrorTimer","restartShowErrorTimer","emitCuponMismatchEvent","setInterval","clearInterval","siteKey","verifyRecaptcha","expiredRecaptcha","recaptchaVerified","verifyRecipeCuponClicked","apiUrl","recaptchaKey","config","inactive","clicked","CubeShadow","recaptchaToken","$refs","recaptcha","reset","response","VueRecaptcha","Button","showLanguageInfo","verifyCuponCode","voucherbarbutton","resetRecaptcha","authentication","loggedIn","verifyAuthentication","state","Authentication","VoucherBar","VoucherBarButton","handleSearch","_l","category","searchFilter","patterns","handleRecipeChosen","title","pattern","handleRecipeClicked","imagePath","isReleased","releaseDate","toLocaleString","recipeChosen","clockSkew","val","newVal","Date","getTime","now","releaseTimeout","releaseRecipe","timeToRelease","$notify","group","duration","path","primaryImage","find","isPrimary","undefined","showSection","regexFilter","filteredPatterns","filter","toLowerCase","PatternComp","Pattern","emitSearchEvent","signOut","commit","searchRegex","recipeId","params","fetchRecipes","searchString","Patterns","PatternSection","SearchBar","SignOut","chosenRecipeTitle","chosenRecipeImagePath","handleRecipeRemove","preventDefault","handleFormSubmit","domProps","composing","email","verifyEmailInvalidText","verifyEmail","Array","isArray","acceptedTermsAndConditions","_i","$$a","$$el","$$c","checked","$$v","$$i","concat","formValid","tokenKey","backendService","getCuponCodeToken","getRecipes","redeemCuponCode","sendSupportEmail","recipeCuponCode","requestOptions","method","headers","body","JSON","stringify","fetch","then","handleResponse","res","token","customerEmail","patternId","lang","Promise","reject","Authorization","languagecode","catch","reason","browserInfo","version","ua","recipes","removeToken","parse","ok","status","location","reload","error","statusText","chosenPattern","getRecipe","ChosenPattern","CodeErrorType","ErrorType","recipeTitle","handleWrongEmail","details","getCuponCode","Email","SuccessDetails","goToContactFormular","Server","ErrorDetails","subject","clearForm","Vue","use","Vuex","Store","cuponToken","errorType","NoError","mutations","saveToken","recipeCuponToken","saveRecipes","removeRecipes","saveSuccessDetails","removeSuccessDetails","saveErrorDetails","removeErrorDetails","actions","cuponCodeToken","decodedJwt","JwtDecode","exp","getters","flatMap","container","recipeDto","cuponcode","VueI18n","loadLocaleMessages","locales","require","messages","forEach","matched","match","process","fallbackLocale","Router","authenticatedRoutes","router","base","routes","EnterCodeView","ChooseRecipeView","ConfirmChoiceView","SuccessView","ErrorView","ContactView","TermsView","PrivacyPolicyView","beforeEach","to","from","next","store","notify","i18n","productionTip","render","h","$mount"],"mappings":"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","file":"js/app.bd5d7299.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/flag_da.9ab51bf3.jpg\";","module.exports = __webpack_public_path__ + \"img/coming_soon_en.733be288.jpg\";","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChooseRecipeView.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChooseRecipeView.vue?vue&type=style&index=0&lang=scss&\"","var map = {\n\t\"./coming_soon_da.jpg\": \"cd2d\",\n\t\"./coming_soon_en.jpg\": \"08ff\",\n\t\"./flag_da.jpg\": \"08ce\",\n\t\"./flag_en.jpg\": \"b787\",\n\t\"./kd-logo.jpg\": \"dd60\"\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 = \"20ec\";","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ErrorView.vue?vue&type=style&index=0&id=bc5bf942&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ErrorView.vue?vue&type=style&index=0&id=bc5bf942&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CookieLaw.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CookieLaw.vue?vue&type=style&index=0&lang=scss&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EnterCodeView.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EnterCodeView.vue?vue&type=style&index=0&lang=scss&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VoucherBar.vue?vue&type=style&index=0&id=046b414b&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VoucherBar.vue?vue&type=style&index=0&id=046b414b&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Pattern.vue?vue&type=style&index=0&id=41f4ba04&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Pattern.vue?vue&type=style&index=0&id=41f4ba04&lang=scss&scoped=true&\"","var map = {\n\t\"./da.json\": \"21aa\",\n\t\"./en.json\": \"edd4\"\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 = \"49f8\";","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PatternSection.vue?vue&type=style&index=0&id=1af00ad1&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PatternSection.vue?vue&type=style&index=0&id=1af00ad1&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VoucherBarButton.vue?vue&type=style&index=0&id=6d64ee94&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VoucherBarButton.vue?vue&type=style&index=0&id=6d64ee94&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SignOut.vue?vue&type=style&index=0&id=39afb516&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SignOut.vue?vue&type=style&index=0&id=39afb516&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchBar.vue?vue&type=style&index=0&id=fe66420e&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchBar.vue?vue&type=style&index=0&id=fe66420e&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChosenPattern.vue?vue&type=style&index=0&id=7c93c5e8&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChosenPattern.vue?vue&type=style&index=0&id=7c93c5e8&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmChoiceView.vue?vue&type=style&index=0&id=a39b4152&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmChoiceView.vue?vue&type=style&index=0&id=a39b4152&lang=scss&scoped=true&\"","module.exports = \"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcgSlBFRyB2NjIpLCBxdWFsaXR5ID0gOTAK/9sAQwADAgIDAgIDAwMDBAMDBAUIBQUEBAUKBwcGCAwKDAwLCgsLDQ4SEA0OEQ4LCxAWEBETFBUVFQwPFxgWFBgSFBUU/9sAQwEDBAQFBAUJBQUJFA0LDRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU/8IAEQgACwAQAwERAAIRAQMRAf/EABUAAQEAAAAAAAAAAAAAAAAAAAUH/8QAFwEAAwEAAAAAAAAAAAAAAAAAAQIFA//aAAwDAQACEAMQAAABqL1xjpNLkUor/8QAGhAAAgIDAAAAAAAAAAAAAAAAAwQCBQEUFf/aAAgBAQABBQLEQ6LkQQSJct9Ytu2Sz//EACURAAEDAwQABwAAAAAAAAAAAAECAwQAESESIjGBBTJBUWFxkf/aAAgBAwEBPwHw+Iy860daSQRxq9/Xbbu4qfDZbW6UuJGVDhX4NtvvPdjUZ5xEthtJwNJ7sM1LkOiW6L+ZWfnNf//EACQRAAIBAgMJAAAAAAAAAAAAAAEDAgAEERIhFCIxQVGBkbHB/9oACAECAQE/Abp7FiUcpAPX5Vo9s8kTEyAw0Hs1O3XKya0jePPvSUL2Rc8NY8PNf//EACQQAAIBAwMDBQAAAAAAAAAAAAECAwAEERITIRQiUSMxQVLR/9oACAEBAAY/Amm0LOyRMBIu39Pnu8c0J2VLaaSBSskoh9tHBGXHitjd9FLecKgQYGI3qSzaQNbPZqxjKDGenH5X/8QAGxABAQEBAAMBAAAAAAAAAAAAAREhMQBRYbH/2gAIAQEAAT8hFICHu8h2VEsCZ2dgwkxC67RT3lKUpAkIADnz99vimy/YvTM4s6Eczz//2gAMAwEAAgADAAAAEM/f/8QAGhEBAQEBAQEBAAAAAAAAAAAAAREhMQBBYf/aAAgBAwEBPxDQguNCCRoqBBXat8zxWKrRa2SEIT34PRIuQcpH9NXWszgHuBKAxK+hy/R6OkQff//EABwRAQADAAMBAQAAAAAAAAAAAAERITEAUWFBcf/aAAgBAgEBPxCC7GkaXNhimS/IjhotqQC3sVJawypLk5oillIVueH7vIahsFEt9mY8xl75/8QAGRABAAMBAQAAAAAAAAAAAAAAAQARIUEx/9oACAEBAAE/ENVEqxMqsowXAEh/XIwjY2NcqMRi046ZNoPIDOqnUUIqQ4O67UUihdD/2Q==\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TermsView.vue?vue&type=style&index=0&id=7b776f6b&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TermsView.vue?vue&type=style&index=0&id=7b776f6b&lang=scss&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/coming_soon_da.c3f4efc6.jpg\";","export var BreadcrumbState;\r\n(function (BreadcrumbState) {\r\n BreadcrumbState[BreadcrumbState[\"EnterCode\"] = 0] = \"EnterCode\";\r\n BreadcrumbState[BreadcrumbState[\"ChooseRecipe\"] = 1] = \"ChooseRecipe\";\r\n BreadcrumbState[BreadcrumbState[\"ConfirmChoice\"] = 2] = \"ConfirmChoice\";\r\n})(BreadcrumbState || (BreadcrumbState = {}));\r\n//# sourceMappingURL=enums.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('notifications',{attrs:{\"group\":\"app\",\"classes\":\"kd-notification\"}}),_c('header',[_c('language-picker'),_c('router-link',{staticClass:\"contact__link\",attrs:{\"to\":{ name: 'contact' }}},[_vm._v(_vm._s(_vm.contactText))]),(_vm.showBreadcrumb)?_c('Help',{attrs:{\"helpText\":_vm.helpText}}):_vm._e()],1),_c('div',{staticClass:\"header__spacer\"}),(_vm.hideLogo === false)?_c('router-link',{staticClass:\"logo__link\",attrs:{\"to\":{ name: 'enter_code' }}},[_c('img',{staticClass:\"logo\",attrs:{\"src\":require(\"./assets/images/kd-logo.jpg\"),\"alt\":\"logo\"}})]):_vm._e(),(_vm.showBreadcrumb)?_c('breadcrumb',{staticClass:\"breadcrumbs\"}):_vm._e(),_c('router-view',{staticClass:\"main\"}),_c('footer',[_c('div',{staticClass:\"section__container\"},[_c('div',{staticClass:\"footer__section\"},[_vm._v(_vm._s(_vm.copyrightText)+\" Krea Deluxe 2019\")]),_c('div',{staticClass:\"footer__section\"},[_c('div',{staticClass:\"social__icons\"},[_c('a',{attrs:{\"href\":\"https://www.facebook.com/kreadeluxe\",\"title\":\"Facebook\",\"rel\":\"nofollow\",\"target\":\"_blank\"}},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"white\"}},[_c('path',{attrs:{\"d\":\"M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-3 7h-1.924c-.615 0-1.076.252-1.076.889v1.111h3l-.238 3h-2.762v8h-3v-8h-2v-3h2v-1.923c0-2.022 1.064-3.077 3.461-3.077h2.539v3z\"}})])]),_c('a',{attrs:{\"href\":\"https://www.pinterest.com/kreadeluxe/\",\"title\":\"Pinterest\",\"rel\":\"nofollow\",\"target\":\"_blank\"}},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"white\"}},[_c('path',{attrs:{\"d\":\"M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-7 20c-.825 0-1.62-.125-2.369-.357.326-.531.813-1.402.994-2.098l.499-1.901c.261.498 1.023.918 1.833.918 2.414 0 4.152-2.219 4.152-4.976 0-2.643-2.157-4.62-4.933-4.62-3.452 0-5.286 2.317-5.286 4.841 0 1.174.625 2.634 1.624 3.1.151.07.232.039.268-.107l.222-.907c.019-.081.01-.15-.056-.23-.331-.4-.595-1.138-.595-1.825 0-1.765 1.336-3.472 3.612-3.472 1.965 0 3.341 1.339 3.341 3.255 0 2.164-1.093 3.663-2.515 3.663-.786 0-1.374-.649-1.185-1.446.226-.951.663-1.977.663-2.664 0-.614-.33-1.127-1.012-1.127-.803 0-1.448.831-1.448 1.943 0 .709.239 1.188.239 1.188s-.793 3.353-.938 3.977c-.161.691-.098 1.662-.028 2.294-2.974-1.165-5.082-4.06-5.082-7.449 0-4.418 3.582-8 8-8s8 3.582 8 8-3.582 8-8 8z\"}})])]),_c('a',{attrs:{\"href\":\"https://www.instagram.com/kreadeluxe/\",\"title\":\"Instagram\",\"rel\":\"nofollow\",\"target\":\"_blank\"}},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"fill\":\"white\"}},[_c('path',{attrs:{\"d\":\"M15.233 5.488c-.843-.038-1.097-.046-3.233-.046s-2.389.008-3.232.046c-2.17.099-3.181 1.127-3.279 3.279-.039.844-.048 1.097-.048 3.233s.009 2.389.047 3.233c.099 2.148 1.106 3.18 3.279 3.279.843.038 1.097.047 3.233.047 2.137 0 2.39-.008 3.233-.046 2.17-.099 3.18-1.129 3.279-3.279.038-.844.046-1.097.046-3.233s-.008-2.389-.046-3.232c-.099-2.153-1.111-3.182-3.279-3.281zm-3.233 10.62c-2.269 0-4.108-1.839-4.108-4.108 0-2.269 1.84-4.108 4.108-4.108s4.108 1.839 4.108 4.108c0 2.269-1.839 4.108-4.108 4.108zm4.271-7.418c-.53 0-.96-.43-.96-.96s.43-.96.96-.96.96.43.96.96-.43.96-.96.96zm-1.604 3.31c0 1.473-1.194 2.667-2.667 2.667s-2.667-1.194-2.667-2.667c0-1.473 1.194-2.667 2.667-2.667s2.667 1.194 2.667 2.667zm4.333-12h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm.952 15.298c-.132 2.909-1.751 4.521-4.653 4.654-.854.039-1.126.048-3.299.048s-2.444-.009-3.298-.048c-2.908-.133-4.52-1.748-4.654-4.654-.039-.853-.048-1.125-.048-3.298 0-2.172.009-2.445.048-3.298.134-2.908 1.748-4.521 4.654-4.653.854-.04 1.125-.049 3.298-.049s2.445.009 3.299.048c2.908.133 4.523 1.751 4.653 4.653.039.854.048 1.127.048 3.299 0 2.173-.009 2.445-.048 3.298z\"}})])])])]),_c('div',{staticClass:\"footer__section\"},[_c('ul',{staticClass:\"footer__link__list\"},[_c('li',[_c('router-link',{staticClass:\"footer__link\",attrs:{\"to\":{ name: 'contact' }}},[_vm._v(_vm._s(_vm.contactTextUpper))])],1),_c('li',[_c('router-link',{staticClass:\"footer__link\",attrs:{\"to\":{ name: 'terms' }}},[_vm._v(_vm._s(_vm.termsText))])],1),_c('li',[_c('router-link',{staticClass:\"footer__link\",attrs:{\"to\":{ name: 'privacypolicy' }}},[_vm._v(_vm._s(_vm.privacyText))])],1)])])]),_c('cookie-law',{attrs:{\"buttonText\":_vm.cookieAcceptButtonText,\"buttonLinkText\":_vm.cookieLinkButtonText,\"buttonLink\":{ name: 'terms' },\"message\":_vm.cookieMessage,\"theme\":'kd'}})],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('div',{staticClass:\"breadcrumb__container\",class:{big__margin: _vm.bigMargin}},[_c('div',{staticClass:\"breadcrumb__crumb\",class:{current: _vm.enterCodeCurrent}},[_vm._v(_vm._s(_vm.$t('global.breadcrumbs.enter_code')))]),_c('div',{staticClass:\"breadcrumb__line\"}),_c('div',{staticClass:\"breadcrumb__crumb\",class:{current: _vm.chooseRecipeCurrent}},[_vm._v(_vm._s(_vm.$t('global.breadcrumbs.choose_recipe')))]),_c('div',{staticClass:\"breadcrumb__line\"}),_c('div',{staticClass:\"breadcrumb__crumb\",class:{current: _vm.confirmChoiceCurrent}},[_vm._v(_vm._s(_vm.$t('global.breadcrumbs.enter_details')))])])}\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\r\nimport Vue from 'vue';\r\nimport Component from 'vue-class-component';\r\nimport { BreadcrumbState } from '@/core/enums';\r\nimport { Prop } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class Breadcrumb extends Vue {\r\n get currentState(): BreadcrumbState | undefined {\r\n switch (this.$route.name) {\r\n case 'enter_code':\r\n return BreadcrumbState.EnterCode;\r\n case 'choose_recipe':\r\n return BreadcrumbState.ChooseRecipe;\r\n case 'confirm_choice':\r\n return BreadcrumbState.ConfirmChoice;\r\n default:\r\n return undefined;\r\n }\r\n }\r\n\r\n get enterCodeCurrent() {\r\n return this.currentState === BreadcrumbState.EnterCode;\r\n }\r\n\r\n get chooseRecipeCurrent() {\r\n return this.currentState === BreadcrumbState.ChooseRecipe;\r\n }\r\n\r\n get confirmChoiceCurrent() {\r\n return this.currentState === BreadcrumbState.ConfirmChoice;\r\n }\r\n\r\n get bigMargin() {\r\n return this.$route.name === 'enter_code';\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Breadcrumb.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Breadcrumb.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Breadcrumb.vue?vue&type=template&id=386bbc06&scoped=true&\"\nimport script from \"./Breadcrumb.vue?vue&type=script&lang=ts&\"\nexport * from \"./Breadcrumb.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Breadcrumb.vue?vue&type=style&index=0&id=386bbc06&lang=scss&scoped=true&\"\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 \"386bbc06\",\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('div',{staticClass:\"help__container\"},[_c('div',{staticClass:\"help__icon\",on:{\"mouseover\":function($event){_vm.hideHelpText = false},\"mouseleave\":function($event){_vm.hideHelpText = true}}},[_c('span',{staticClass:\"help__icon__text\"},[_vm._v(\"?\")])]),_c('div',{staticClass:\"help__tb__container\",class:{help__tb__hide: _vm.hideHelpText}},[_c('div',{staticClass:\"help__tb\"},[_c('h3',[_vm._v(_vm._s(_vm.helpTextHeader))]),_c('i18n',{attrs:{\"path\":_vm.helpTextPath,\"tag\":\"div\"},scopedSlots:_vm._u([{key:\"doubleSpacer\",fn:function(){return [_c('br'),_c('br')]},proxy:true},{key:\"spacer\",fn:function(){return [_c('br')]},proxy:true},{key:\"bold1\",fn:function(){return [_c('span',[_vm._v(_vm._s(_vm.bold1))])]},proxy:true},{key:\"bold2\",fn:function(){return [_c('span',[_vm._v(_vm._s(_vm.bold2))])]},proxy:true},{key:\"bold3\",fn:function(){return [_c('span',[_vm._v(_vm._s(_vm.bold3))])]},proxy:true},{key:\"bold4\",fn:function(){return [_c('span',[_vm._v(_vm._s(_vm.bold4))])]},proxy:true},{key:\"bold5\",fn:function(){return [_c('span',[_vm._v(_vm._s(_vm.bold5))])]},proxy:true}])})],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\r\nimport Vue from 'vue';\r\nimport Component from 'vue-class-component';\r\nimport { Prop } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class Help extends Vue {\r\n @Prop()\r\n private helpText!: string;\r\n\r\n private hideHelpText: boolean = true;\r\n\r\n get helpTextPath() {\r\n return `views.${this.$route.name}.help_text.content`;\r\n }\r\n\r\n get helpTextHeader() {\r\n return this.$t(`views.${this.$route.name}.help_text.headline`).toString();\r\n }\r\n\r\n get bold1() {\r\n return this.$t(`views.${this.$route.name}.help_text.bold1`).toString();\r\n }\r\n\r\n get bold2() {\r\n return this.$t(`views.${this.$route.name}.help_text.bold2`).toString();\r\n }\r\n\r\n get bold3() {\r\n return this.$t(`views.${this.$route.name}.help_text.bold3`).toString();\r\n }\r\n\r\n get bold4() {\r\n return this.$t(`views.${this.$route.name}.help_text.bold4`).toString();\r\n }\r\n\r\n get bold5() {\r\n return this.$t(`views.${this.$route.name}.help_text.bold5`).toString();\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Help.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Help.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Help.vue?vue&type=template&id=5422861e&scoped=true&\"\nimport script from \"./Help.vue?vue&type=script&lang=ts&\"\nexport * from \"./Help.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Help.vue?vue&type=style&index=0&id=5422861e&lang=scss&scoped=true&\"\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 \"5422861e\",\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('div',{staticClass:\"language__picker__container\"},[_c('div',{staticClass:\"selected__language\"},[_c('img',{attrs:{\"src\":_vm.img,\"alt\":\"Flag\"}}),_c('span',{staticClass:\"lang__text\"},[_vm._v(_vm._s(_vm.localeText))])]),_c('ul',{staticClass:\"language__list\"},[(_vm.$i18n.locale !== 'da')?_c('li',{on:{\"click\":function($event){return _vm.setLocale('da')}}},[_vm._m(0)]):_vm._e(),(_vm.$i18n.locale !== 'en')?_c('li',{on:{\"click\":function($event){return _vm.setLocale('en')}}},[_vm._m(1)]):_vm._e()])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('img',{attrs:{\"src\":require(\"../assets/images/flag_da.jpg\"),\"alt\":\"Danish flag\"}}),_c('span',{staticClass:\"lang__text\"},[_vm._v(\"Dansk\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('img',{attrs:{\"src\":require(\"../assets/images/flag_en.jpg\"),\"alt\":\"English Flag\"}}),_c('span',{staticClass:\"lang__text\"},[_vm._v(\"English\")])])}]\n\nexport { render, staticRenderFns }","export const capitalize = function (text) {\r\n return `${text[0].toUpperCase()}${text.slice(1)}`;\r\n};\r\n//# sourceMappingURL=helpers.js.map","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from 'vue';\r\nimport Component from 'vue-class-component';\r\nimport { capitalize } from '@/core/helpers';\r\n\r\n@Component\r\nexport default class LanguagePicker extends Vue {\r\n private setLocale(locale: string) {\r\n this.$i18n.locale = locale;\r\n localStorage.setItem('lang', locale);\r\n\r\n if (\r\n this.$route.name === 'choose_recipe' ||\r\n this.$route.name === 'confirm_choice'\r\n ) {\r\n this.$store.dispatch('fetchRecipes', locale);\r\n }\r\n\r\n if (this.$route.name === 'confirm_choice') {\r\n this.$router.replace({ name: 'choose_recipe' });\r\n }\r\n }\r\n\r\n get localeText() {\r\n return capitalize(this.$i18n.locale);\r\n }\r\n\r\n get img() {\r\n const images = require.context('../assets/images/', false, /\\.jpg$/);\r\n return images(`./flag_${this.$i18n.locale}.jpg`);\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LanguagePicker.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LanguagePicker.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LanguagePicker.vue?vue&type=template&id=6308369a&scoped=true&\"\nimport script from \"./LanguagePicker.vue?vue&type=script&lang=ts&\"\nexport * from \"./LanguagePicker.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./LanguagePicker.vue?vue&type=style&index=0&id=6308369a&lang=scss&scoped=true&\"\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 \"6308369a\",\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('transition',{attrs:{\"appear\":\"\",\"name\":_vm.transitionName}},[(_vm.isOpen)?_c('div',{staticClass:\"Cookie\",class:[_vm.containerPosition, _vm.cookieTheme]},[_vm._t(\"default\",[_c('div',{staticClass:\"Cookie__content\"},[_vm._t(\"message\",[_vm._v(_vm._s(_vm.message))])],2),_c('div',{staticClass:\"Cookie__buttons\"},[(_vm.externalButtonLink)?_c('a',{class:_vm.buttonClass,attrs:{\"target\":_vm.target,\"href\":_vm.buttonLink}},[_vm._v(_vm._s(_vm.buttonLinkText))]):_vm._e(),(_vm.internalButtonLink)?_c('router-link',{class:_vm.buttonClass,attrs:{\"to\":_vm.buttonLink}},[_vm._v(_vm._s(_vm.buttonLinkText))]):_vm._e(),_c('button',{class:_vm.buttonClass,on:{\"click\":_vm.accept}},[_vm._v(_vm._s(_vm.buttonText))])],1)],{\"accept\":_vm.accept,\"close\":_vm.close,\"open\":_vm.open})],2):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n
\r\n \r\n {{ message }}\r\n
\r\n \r\n \r\n
\r\n \r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CookieLaw.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CookieLaw.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CookieLaw.vue?vue&type=template&id=bcc4f73e&\"\nimport script from \"./CookieLaw.vue?vue&type=script&lang=js&\"\nexport * from \"./CookieLaw.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CookieLaw.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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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 Vue from 'vue';\nimport Component from 'vue-class-component';\nimport Breadcrumb from '@/components/Breadcrumb.vue';\nimport Help from '@/components/Help.vue';\nimport LanguagePicker from '@/components/LanguagePicker.vue';\nimport { capitalize } from '@/core/helpers';\nimport CookieLaw from '@/components/CookieLaw.vue';\n\n@Component({ components: { Breadcrumb, Help, LanguagePicker, CookieLaw } })\nexport default class App extends Vue {\n get helpText() {\n return ['enter_code', 'choose_recipe', 'confirm_choice'].includes(\n this.$route.name || ''\n )\n ? this.$t(`views.${this.$route.name}.help_text`).toString()\n : '';\n }\n\n get showBreadcrumb() {\n return ['enter_code', 'choose_recipe', 'confirm_choice'].includes(\n this.$route.name || ''\n );\n }\n\n get hideLogo() {\n return this.$route.name === 'choose_recipe';\n }\n\n get termsText() {\n const text: string = this.$t('global.terms.plural').toString();\n return capitalize(text);\n }\n\n get contactTextUpper() {\n const text: string = this.$t('global.contact').toString();\n return text.toUpperCase();\n }\n\n get contactText() {\n const text: string = this.$t('global.contact').toString();\n return capitalize(text);\n }\n\n get privacyText() {\n const text: string = this.$t('global.privacy_policy').toString();\n return capitalize(text);\n }\n\n get copyrightText() {\n const text: string = this.$t('global.copyright').toString();\n return capitalize(text);\n }\n\n get cookieAcceptButtonText() {\n return this.$t('cookie.button').toString();\n }\n\n get cookieLinkButtonText() {\n return this.$t('cookie.link').toString();\n }\n\n get cookieMessage() {\n return this.$t('cookie.message').toString();\n }\n}\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--14-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--14-3!../node_modules/cache-loader/dist/cjs.js??ref--0-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--14-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--14-3!../node_modules/cache-loader/dist/cjs.js??ref--0-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=6ecfc002&\"\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&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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"enter__code__view\"},[_c('VoucherBar',{attrs:{\"cuponFormatString\":\"^(KD|Kd|kD|kd)[a-hjkmnp-zA-HJKMNP-Z2-9]{2}[a-hjkmnp-zA-HJKMNP-Z2-9]{8}$\"},on:{\"cupon-match\":_vm.handleCuponMatch,\"cupon-mismatch\":_vm.handleCuponMismatch}}),_c('transition',{attrs:{\"name\":\"fadeenter\"}},[_c('VoucherBarButton',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showVoucherBarButton),expression:\"showVoucherBarButton\"}],ref:\"voucherbarbutton\",attrs:{\"showError\":_vm.showError,\"loading\":_vm.loading},on:{\"button-clicked\":_vm.handleVoucherBarButton}})],1),(_vm.showLanguageInfo)?_c('span',{staticClass:\"language__info__text\"},[_vm._v(_vm._s(_vm.$t('views.enter_code.language_info')))]):_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',{staticClass:\"voucherbar__container\"},[_c('div',{staticClass:\"voucherbar\"},[_c('input',{staticClass:\"voucherbar__input\",attrs:{\"type\":\"text\",\"placeholder\":_vm.placeholderText},on:{\"input\":_vm.voucherBarInputChanged}})]),_c('transition',{attrs:{\"name\":\"fadeenter\"}},[(_vm.showError)?_c('div',{staticClass:\"help__message__container\"},[_c('svg',{staticClass:\"info_icon\",attrs:{\"fill\":\"#04395E\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm1 18h-2v-8h2v8zm-1-12.25c.69 0 1.25.56 1.25 1.25s-.56 1.25-1.25 1.25-1.25-.56-1.25-1.25.56-1.25 1.25-1.25z\"}})]),(_vm.codeIsTooShort)?_c('i18n',{staticClass:\"format__error__message\",attrs:{\"path\":\"views.enter_code.voucherbar.help_message.too_short\",\"tag\":\"span\"},scopedSlots:_vm._u([{key:\"codeLength\",fn:function(){return [_c('span',[_vm._v(_vm._s(_vm.standardCodeLength))])]},proxy:true},{key:\"lengthDifference\",fn:function(){return [_c('span',[_vm._v(_vm._s(_vm.codeLengthDifference))])]},proxy:true},{key:\"spacer\",fn:function(){return [_c('br')]},proxy:true}],null,false,524820376)}):_vm._e(),(!_vm.codeIsTooShort)?_c('i18n',{staticClass:\"format__error__message\",attrs:{\"path\":\"views.enter_code.voucherbar.help_message.wrong_format\",\"tag\":\"span\"},scopedSlots:_vm._u([{key:\"spacer\",fn:function(){return [_c('br')]},proxy:true}],null,false,1696825134)}):_vm._e()],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from 'vue';\r\nimport Component from 'vue-class-component';\r\nimport { Prop, Emit } from 'vue-property-decorator';\r\nimport { CodeErrorType } from '../core/interfaces';\r\n\r\nconst showErrorTimeout = 2000;\r\nconst codeLength = 12;\r\n\r\n@Component\r\nexport default class VoucherBar extends Vue {\r\n @Prop()\r\n public cuponFormatString!: string;\r\n\r\n private cuponCode: string = '';\r\n private cuponFormat: RegExp;\r\n private showError: boolean = false;\r\n private errorTimer: NodeJS.Timeout | null = null;\r\n\r\n public constructor() {\r\n super();\r\n\r\n if (this.cuponFormatString.length === 0) {\r\n this.cuponFormat = new RegExp('.*');\r\n } else {\r\n this.cuponFormat = new RegExp(this.cuponFormatString);\r\n }\r\n }\r\n\r\n private destroyed() {}\r\n\r\n private voucherBarInputChanged(event: any) {\r\n this.cuponCode = event.target.value;\r\n\r\n if (this.cuponMatchesRegex) {\r\n this.showError = false;\r\n this.clearShowErrorTimer();\r\n this.emitCuponMatchEvent();\r\n } else {\r\n if (this.codeIsTooShort === false) {\r\n this.showError = true;\r\n }\r\n if (this.showError === false && this.cuponCode.length !== 0) {\r\n if (this.errorTimer === null) {\r\n this.startShowErrorTimer();\r\n } else {\r\n this.restartShowErrorTimer();\r\n }\r\n } else {\r\n if (this.cuponCode.length === 0) {\r\n this.clearShowErrorTimer();\r\n this.showError = false;\r\n }\r\n }\r\n this.emitCuponMismatchEvent();\r\n }\r\n }\r\n\r\n private startShowErrorTimer() {\r\n this.errorTimer = setInterval(\r\n () => (this.showError = true),\r\n showErrorTimeout\r\n );\r\n }\r\n\r\n private restartShowErrorTimer() {\r\n if (this.errorTimer !== null) {\r\n clearInterval(this.errorTimer);\r\n }\r\n this.startShowErrorTimer();\r\n }\r\n\r\n private clearShowErrorTimer() {\r\n if (this.errorTimer !== null) {\r\n clearInterval(this.errorTimer);\r\n }\r\n }\r\n\r\n @Emit('cupon-match')\r\n private emitCuponMatchEvent() {\r\n return this.cuponCode;\r\n }\r\n\r\n @Emit('cupon-mismatch')\r\n private emitCuponMismatchEvent() {\r\n return;\r\n }\r\n\r\n get cuponMatchesRegex() {\r\n return this.cuponFormat.test(this.cuponCode);\r\n }\r\n\r\n get placeholderText() {\r\n return this.$t('views.enter_code.voucherbar.placeholder').toString();\r\n }\r\n\r\n get codeIsTooShort() {\r\n return this.cuponCode.length < codeLength;\r\n }\r\n\r\n get codeLengthDifference() {\r\n return codeLength - this.cuponCode.length;\r\n }\r\n\r\n get standardCodeLength() {\r\n return codeLength;\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VoucherBar.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VoucherBar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./VoucherBar.vue?vue&type=template&id=046b414b&scoped=true&\"\nimport script from \"./VoucherBar.vue?vue&type=script&lang=ts&\"\nexport * from \"./VoucherBar.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./VoucherBar.vue?vue&type=style&index=0&id=046b414b&lang=scss&scoped=true&\"\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 \"046b414b\",\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('div',{staticClass:\"voucherbarbutton__container\"},[(_vm.showError)?_c('div',{staticClass:\"error__message\"},[(_vm.showError)?_c('svg',{staticClass:\"error__symbol\",attrs:{\"fill\":\"#dd0426\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\"}},[_c('path',{attrs:{\"d\":\"M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm1 18h-2v-8h2v8zm-1-12.25c.69 0 1.25.56 1.25 1.25s-.56 1.25-1.25 1.25-1.25-.56-1.25-1.25.56-1.25 1.25-1.25z\"}})]):_vm._e(),_c('br'),_c('span',{staticClass:\"error__text\"},[_vm._v(_vm._s(_vm.$t('views.enter_code.error')))])]):_vm._e(),_c('div',{staticClass:\"recaptcha__wrapper\"},[_c('vue-recaptcha',{ref:\"recaptcha\",attrs:{\"sitekey\":_vm.siteKey},on:{\"verify\":_vm.verifyRecaptcha,\"expired\":_vm.expiredRecaptcha}})],1),_c('Button',{staticClass:\"next__button\",attrs:{\"inactive\":!_vm.recaptchaVerified,\"loading\":_vm.loading,\"text\":_vm.$t('global.button.next')},on:{\"clicked\":_vm.verifyRecipeCuponClicked}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","const apiUrl = process.env.NODE_ENV === 'production'\r\n ? 'https://kdpatterns.com/api'\r\n : 'https://localhost:5001/api';\r\nconst recaptchaKey = process.env.NODE_ENV === 'production'\r\n ? '6LeNQsQUAAAAAGpV1Koen6Rt3ipcHskZ532vzt9g'\r\n : '6LdIw7wUAAAAAFdvB3_ozNq8DCN-SBp91xVTo4OI';\r\nexport const config = {\r\n apiUrl: apiUrl,\r\n recaptchaKey: recaptchaKey\r\n};\r\n//# sourceMappingURL=config.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:\"async__button reset\",class:{ inactive: _vm.inactive, loading: _vm.loading },on:{\"click\":_vm.clicked}},[(_vm.loading)?_c('div',{staticClass:\"spinner__wrapper\"},[_c('cube-shadow',{attrs:{\"background\":'#ffffff',\"size\":'20px'}})],1):_vm._e(),(!_vm.loading)?_c('span',[_vm._v(_vm._s(_vm.text))]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from 'vue';\r\nimport Component from 'vue-class-component';\r\nimport CubeShadow from 'vue-loading-spinner/src/components/CubeShadow.vue';\r\nimport { Prop, Emit } from 'vue-property-decorator';\r\n\r\n@Component({ components: { CubeShadow } })\r\nexport default class Button extends Vue {\r\n @Prop()\r\n private text!: string;\r\n\r\n @Prop({ default: false })\r\n private inactive!: boolean;\r\n\r\n @Prop({ default: false })\r\n private loading!: boolean;\r\n\r\n private clicked() {\r\n if (this.inactive || this.loading) {\r\n return;\r\n }\r\n this.$emit('clicked');\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Button.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Button.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Button.vue?vue&type=template&id=4287f8b5&\"\nimport script from \"./Button.vue?vue&type=script&lang=ts&\"\nexport * from \"./Button.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Button.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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from 'vue';\r\nimport Component from 'vue-class-component';\r\nimport { Prop, Emit } from 'vue-property-decorator';\r\nimport VueRecaptcha from 'vue-recaptcha';\r\nimport { config } from '@/core/config';\r\nimport Button from '@/components/Button.vue';\r\n\r\n@Component({ components: { VueRecaptcha, Button } })\r\nexport default class VoucherBarButton extends Vue {\r\n public $refs!: Vue['$refs'] & {\r\n recaptcha: VueRecaptcha;\r\n };\r\n\r\n @Prop()\r\n private showError!: boolean;\r\n\r\n @Prop()\r\n private loading!: boolean;\r\n\r\n private recaptchaVerified: boolean = false;\r\n private recaptchaToken: string = '';\r\n\r\n public resetRecaptcha() {\r\n this.$refs.recaptcha.reset();\r\n this.recaptchaVerified = false;\r\n }\r\n\r\n private verifyRecaptcha(response: any) {\r\n this.recaptchaVerified = true;\r\n this.recaptchaToken = response;\r\n }\r\n\r\n private expiredRecaptcha(response: any) {\r\n this.recaptchaVerified = false;\r\n }\r\n\r\n @Emit('button-clicked')\r\n private verifyRecipeCuponClicked() {\r\n if (this.recaptchaVerified) {\r\n return this.recaptchaToken;\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n get siteKey() {\r\n return config.recaptchaKey;\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VoucherBarButton.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VoucherBarButton.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./VoucherBarButton.vue?vue&type=template&id=6d64ee94&scoped=true&\"\nimport script from \"./VoucherBarButton.vue?vue&type=script&lang=ts&\"\nexport * from \"./VoucherBarButton.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./VoucherBarButton.vue?vue&type=style&index=0&id=6d64ee94&lang=scss&scoped=true&\"\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 \"6d64ee94\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from 'vue';\r\nimport Component from 'vue-class-component';\r\nimport VoucherBar from '@/components/VoucherBar.vue';\r\nimport VoucherBarButton from '@/components/VoucherBarButton.vue';\r\nimport { State, Action } from 'vuex-class';\r\n\r\n@Component({ components: { VoucherBar, VoucherBarButton } })\r\nexport default class EnterCodeView extends Vue {\r\n public $refs!: Vue['$refs'] & {\r\n voucherbarbutton: VoucherBarButton;\r\n };\r\n\r\n @State(state => state.Authentication)\r\n private authentication!: any;\r\n\r\n @Action\r\n private verifyCuponCode: any;\r\n\r\n @Action\r\n private verifyAuthentication: any;\r\n\r\n private cuponCode: string = '';\r\n private showError: boolean = false;\r\n private loading: boolean = false;\r\n private showLanguageInfo: boolean = true;\r\n\r\n private handleCuponMismatch() {\r\n this.cuponCode = '';\r\n this.showError = false;\r\n this.showLanguageInfo = true;\r\n }\r\n\r\n private handleCuponMatch(cuponCode: string) {\r\n this.showLanguageInfo = false;\r\n this.cuponCode = cuponCode;\r\n }\r\n\r\n private async handleVoucherBarButton(recaptchaToken: string) {\r\n if (recaptchaToken === '') {\r\n return;\r\n }\r\n const cuponCode = this.cuponCode;\r\n this.loading = true;\r\n await this.verifyCuponCode({ cuponCode, recaptchaToken });\r\n this.$refs.voucherbarbutton.resetRecaptcha();\r\n this.loading = false;\r\n if (this.authentication.loggedIn) {\r\n this.$router.push({ name: 'choose_recipe' });\r\n } else {\r\n this.showError = true;\r\n }\r\n }\r\n\r\n private mounted() {\r\n this.verifyAuthentication();\r\n if (this.authentication.loggedIn) {\r\n this.$router.push({ name: 'choose_recipe' });\r\n }\r\n }\r\n\r\n get showVoucherBarButton() {\r\n return this.cuponCode !== '';\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EnterCodeView.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EnterCodeView.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EnterCodeView.vue?vue&type=template&id=74a448de&\"\nimport script from \"./EnterCodeView.vue?vue&type=script&lang=ts&\"\nexport * from \"./EnterCodeView.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./EnterCodeView.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"choose__recipe__view\"},[_c('search-bar',{on:{\"search\":_vm.handleSearch}}),_c('sign-out',{attrs:{\"signOutRouteName\":'enter_code'}}),_c('div',{staticClass:\"grid__container\"},[_c('div',{staticClass:\"recipe__scroll__view\"},_vm._l((_vm.patterns),function(category){return _c('pattern-section',{key:category.category,attrs:{\"title\":category.category,\"searchFilter\":_vm.searchFilter,\"patterns\":category.patterns},on:{\"recipe-chosen\":_vm.handleRecipeChosen}})}),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('section',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.show),expression:\"show\"}],staticClass:\"recipe__section__container\"},[_c('h1',[_vm._v(_vm._s(_vm.title))]),_c('div',{staticClass:\"recipe__grid\"},_vm._l((_vm.filteredPatterns),function(pattern){return _c('pattern-comp',{key:pattern.id,attrs:{\"pattern\":pattern,\"category\":_vm.title},on:{\"recipe-clicked\":_vm.handleRecipeClicked}})}),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:\"recipe__wrapper\"},[_c('div',{staticClass:\"recipe__container\"},[_c('img',{attrs:{\"src\":_vm.imagePath,\"alt\":\"\"}}),_c('div',{staticClass:\"info__wrapper\"},[_c('h5',[_vm._v(_vm._s(_vm.title))]),_c('div',{staticClass:\"filler\"}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isReleased),expression:\"!isReleased\"}],staticClass:\"releasetime__text\"},[_vm._v(_vm._s(_vm.releaseDate.toLocaleString()))]),_c('Button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isReleased),expression:\"isReleased\"}],staticClass:\"choose__button\",attrs:{\"text\":_vm.$t('global.button.choose')},on:{\"clicked\":_vm.recipeChosen}})],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\r\nimport Vue from 'vue';\r\nimport Component from 'vue-class-component';\r\nimport { Prop, Emit, Watch } from 'vue-property-decorator';\r\nimport { PatternDto } from '../core/interfaces';\r\nimport Button from '@/components/Button.vue';\r\n\r\nconst clockSkew: number = 1000;\r\n\r\n@Component({ components: { Button } })\r\nexport default class PatternComp extends Vue {\r\n @Prop()\r\n private readonly pattern!: PatternDto;\r\n\r\n @Prop()\r\n private readonly category!: string;\r\n\r\n private releaseDate!: Date;\r\n private releaseTimeout!: NodeJS.Timeout;\r\n private isReleased!: boolean;\r\n\r\n @Emit('recipe-clicked')\r\n private recipeChosen() {\r\n return this.pattern.id;\r\n }\r\n\r\n @Watch('pattern')\r\n private checkIfReleased(val: PatternDto, newVal: PatternDto) {\r\n this.releaseDate = new Date(newVal.releaseDate);\r\n this.isReleased = this.releaseDate.getTime() < Date.now();\r\n }\r\n\r\n private created() {\r\n this.releaseDate = new Date(this.pattern.releaseDate);\r\n this.isReleased = this.releaseDate.getTime() < Date.now();\r\n\r\n if (this.isReleased === false) {\r\n this.releaseTimeout = setInterval(\r\n this.releaseRecipe,\r\n this.timeToRelease()\r\n );\r\n }\r\n }\r\n\r\n private destroyed() {\r\n clearInterval(this.releaseTimeout);\r\n }\r\n\r\n private releaseRecipe() {\r\n clearInterval(this.releaseTimeout);\r\n this.$store.dispatch('fetchRecipes', this.$i18n.locale);\r\n this.$notify({\r\n group: 'app',\r\n duration: 10000,\r\n title: this.$t('notifications.recipe_released.title').toString(),\r\n type: 'success',\r\n text: this.$t('notifications.recipe_released.text', {\r\n title: this.pattern.title,\r\n category: this.category\r\n }).toString()\r\n });\r\n }\r\n\r\n private timeToRelease(): number {\r\n return this.releaseDate.getTime() - Date.now() + clockSkew;\r\n }\r\n\r\n get title() {\r\n return this.pattern.title;\r\n }\r\n\r\n get imagePath() {\r\n let path = '';\r\n const primaryImage = this.pattern.images.find(i => i.isPrimary);\r\n if (primaryImage !== undefined) {\r\n path = primaryImage.path;\r\n }\r\n\r\n return this.isReleased ? path : this.img;\r\n }\r\n\r\n get img() {\r\n const images = require.context('../assets/images/', false, /\\.jpg$/);\r\n return images(`./coming_soon_${this.$i18n.locale}.jpg`);\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Pattern.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Pattern.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Pattern.vue?vue&type=template&id=41f4ba04&scoped=true&\"\nimport script from \"./Pattern.vue?vue&type=script&lang=ts&\"\nexport * from \"./Pattern.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Pattern.vue?vue&type=style&index=0&id=41f4ba04&lang=scss&scoped=true&\"\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 \"41f4ba04\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from 'vue';\r\nimport { Prop, Component, Emit } from 'vue-property-decorator';\r\nimport PatternComp from '@/components/Pattern.vue';\r\nimport { PatternDto } from '../core/interfaces';\r\n\r\n@Component({ components: { PatternComp } })\r\nexport default class RecipeSection extends Vue {\r\n @Prop()\r\n private title!: string;\r\n\r\n @Prop()\r\n private patterns!: PatternDto[];\r\n\r\n @Prop()\r\n private searchFilter!: string;\r\n\r\n @Emit('recipe-chosen')\r\n private handleRecipeClicked(id: string) {\r\n return id;\r\n }\r\n\r\n @Emit('reload-recipes')\r\n private handleRecipeReleased() {\r\n return;\r\n }\r\n\r\n private showSection: boolean = true;\r\n\r\n get filteredPatterns(): PatternDto[] {\r\n if (\r\n (this.patterns.length && this.searchFilter === null) ||\r\n this.searchFilter === undefined\r\n ) {\r\n this.showSection = true;\r\n return this.patterns;\r\n }\r\n\r\n const regexFilter = new RegExp(this.searchFilter);\r\n const filteredPatterns = this.patterns.filter(pattern =>\r\n regexFilter.test(pattern.title.toLowerCase())\r\n );\r\n this.showSection = 0 < filteredPatterns.length;\r\n return filteredPatterns;\r\n }\r\n\r\n get show() {\r\n return this.showSection;\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PatternSection.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PatternSection.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PatternSection.vue?vue&type=template&id=1af00ad1&scoped=true&\"\nimport script from \"./PatternSection.vue?vue&type=script&lang=ts&\"\nexport * from \"./PatternSection.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./PatternSection.vue?vue&type=style&index=0&id=1af00ad1&lang=scss&scoped=true&\"\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 \"1af00ad1\",\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('div',[_c('input',{staticClass:\"searchbar__input\",attrs:{\"type\":\"text\",\"placeholder\":_vm.placeholderText},on:{\"input\":_vm.emitSearchEvent}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from 'vue';\r\nimport { Emit, Component } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class SearchBar extends Vue {\r\n @Emit('search')\r\n private emitSearchEvent(event: any) {\r\n return event.target.value;\r\n }\r\n\r\n get placeholderText() {\r\n return this.$t('views.choose_recipe.search_bar.placeholder');\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchBar.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchBar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SearchBar.vue?vue&type=template&id=fe66420e&scoped=true&\"\nimport script from \"./SearchBar.vue?vue&type=script&lang=ts&\"\nexport * from \"./SearchBar.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SearchBar.vue?vue&type=style&index=0&id=fe66420e&lang=scss&scoped=true&\"\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 \"fe66420e\",\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('span',{on:{\"click\":_vm.signOut}},[_vm._v(_vm._s(_vm.$t('global.button.sign_out')))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\r\nimport Vue from 'vue';\r\nimport Component from 'vue-class-component';\r\nimport { Prop } from 'vue-property-decorator';\r\nimport Button from '@/components/Button.vue';\r\n\r\n@Component({ components: { Button } })\r\nexport default class SignOut extends Vue {\r\n @Prop()\r\n private signOutRouteName!: string;\r\n\r\n private signOut() {\r\n this.$store.commit('removeToken');\r\n this.$router.replace({ name: 'enter_code' });\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SignOut.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SignOut.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SignOut.vue?vue&type=template&id=39afb516&scoped=true&\"\nimport script from \"./SignOut.vue?vue&type=script&lang=ts&\"\nexport * from \"./SignOut.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SignOut.vue?vue&type=style&index=0&id=39afb516&lang=scss&scoped=true&\"\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 \"39afb516\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from 'vue';\nimport Component from 'vue-class-component';\nimport PatternSection from '@/components/PatternSection.vue';\nimport SearchBar from '@/components/SearchBar.vue';\nimport { PatternCategoryContainer } from '@/core/interfaces';\nimport { State, Action, Getter } from 'vuex-class';\nimport { get } from 'http';\nimport SignOut from '@/components/SignOut.vue';\n\n@Component({ components: { PatternSection, SearchBar, SignOut } })\nexport default class ChooseRecipeView extends Vue {\n private searchRegex: string | null = null;\n\n @State(state => state.Patterns)\n private patterns!: PatternCategoryContainer[];\n\n @State(state => state.Authentication)\n private authentication!: any;\n\n @Action\n private fetchRecipes: any;\n\n private handleRecipeChosen(recipeId: string) {\n this.$router.push({ name: 'confirm_choice', params: { recipeId } });\n }\n\n private async mounted() {\n await this.fetchRecipes(this.$i18n.locale);\n }\n\n private handleSearch(searchString: string) {\n if (3 <= searchString.length) {\n this.searchRegex = `.*${searchString.toLowerCase()}.*`;\n } else {\n this.searchRegex = null;\n }\n }\n\n get searchFilter() {\n return this.searchRegex;\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChooseRecipeView.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChooseRecipeView.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ChooseRecipeView.vue?vue&type=template&id=7795c8f3&\"\nimport script from \"./ChooseRecipeView.vue?vue&type=script&lang=ts&\"\nexport * from \"./ChooseRecipeView.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ChooseRecipeView.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"confirm__choice__view\"},[_c('div',{staticClass:\"chosen__recipe__wrapper\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('views.confirm_choice.headline')))]),_c('ChosenPattern',{staticClass:\"chosen__recipe\",attrs:{\"title\":_vm.chosenRecipeTitle,\"imagePath\":_vm.chosenRecipeImagePath,\"chosen\":true},on:{\"remove-recipe\":_vm.handleRecipeRemove}}),_c('Button',{staticClass:\"remove__button\",attrs:{\"text\":_vm.$t('global.button.remove')},on:{\"clicked\":_vm.handleRecipeRemove}})],1),_c('div',{staticClass:\"form__wrapper\"},[_c('div',{staticClass:\"form__description\"},[_vm._v(_vm._s(_vm.$t('views.confirm_choice.form_description')))]),_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.handleFormSubmit($event)}}},[_c('p',[_c('label',{attrs:{\"for\":\"email\"}},[_vm._v(_vm._s(_vm.$t('global.label.email')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.email),expression:\"email\"}],attrs:{\"id\":\"email\",\"type\":\"email\",\"name\":\"email\",\"minlength\":\"5\",\"required\":\"\"},domProps:{\"value\":(_vm.email)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.email=$event.target.value}}})]),_c('p',[_c('label',{attrs:{\"for\":\"verifyEmail\",\"pattern\":_vm.email}},[_vm._v(_vm._s(_vm.$t('global.label.verify_email')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.verifyEmail),expression:\"verifyEmail\"}],attrs:{\"id\":\"verifyEmail\",\"type\":\"email\",\"name\":\"verifyEmail\",\"pattern\":_vm.email,\"title\":_vm.verifyEmailInvalidText,\"minlength\":\"5\",\"required\":\"\"},domProps:{\"value\":(_vm.verifyEmail)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.verifyEmail=$event.target.value}}})]),_c('p',{staticClass:\"terms\"},[_c('label',{staticClass:\"container\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.acceptedTermsAndConditions),expression:\"acceptedTermsAndConditions\"}],attrs:{\"type\":\"checkbox\",\"name\":\"termsAndConditions\",\"required\":\"\"},domProps:{\"checked\":Array.isArray(_vm.acceptedTermsAndConditions)?_vm._i(_vm.acceptedTermsAndConditions,null)>-1:(_vm.acceptedTermsAndConditions)},on:{\"change\":function($event){var $$a=_vm.acceptedTermsAndConditions,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.acceptedTermsAndConditions=$$a.concat([$$v]))}else{$$i>-1&&(_vm.acceptedTermsAndConditions=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.acceptedTermsAndConditions=$$c}}}}),_c('span',{staticClass:\"checkmark\"})]),_vm._v(\"\\n \"+_vm._s(_vm.$t('views.confirm_choice.terms.accept'))+\"\\n \"),_c('router-link',{staticClass:\"dark terms__link\",attrs:{\"to\":{name: 'terms'}}},[_vm._v(_vm._s(_vm.$t('global.terms.specific_plural')))]),_vm._v(\".\\n \")],1),_c('Button',{staticClass:\"confirm__button\",attrs:{\"type\":\"submit\",\"inactive\":!_vm.formValid,\"loading\":_vm.loading,\"text\":_vm.$t('global.button.redeem_code')}})],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { config } from '@/core/config';\r\nexport const tokenKey = 'token';\r\nexport const backendService = {\r\n getCuponCodeToken,\r\n getRecipes,\r\n redeemCuponCode,\r\n sendSupportEmail\r\n};\r\nfunction getCuponCodeToken(recipeCuponCode, recaptchaToken) {\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify({ code: recipeCuponCode })\r\n };\r\n return fetch(`${config.apiUrl}/cupons/token?recaptchaToken=${recaptchaToken}`, requestOptions)\r\n .then(handleResponse)\r\n .then((res) => {\r\n if (res.token) {\r\n localStorage.setItem(tokenKey, res.token);\r\n }\r\n return res.token;\r\n });\r\n}\r\nfunction redeemCuponCode(customerEmail, patternId, lang) {\r\n const token = localStorage.getItem(tokenKey);\r\n if (token === undefined || token === null) {\r\n return Promise.reject('Unauthorized');\r\n }\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: {\r\n Authorization: `Bearer ${token}`,\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify({\r\n email: customerEmail,\r\n id: patternId,\r\n languagecode: lang\r\n })\r\n };\r\n return fetch(`${config.apiUrl}/cupons/redeem`, requestOptions)\r\n .then(handleResponse)\r\n .catch(reason => {\r\n return reason;\r\n });\r\n}\r\nfunction sendSupportEmail(recaptchaToken, message, browserInfo) {\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'x-browser-name': browserInfo.name,\r\n 'x-browser-version': browserInfo.version,\r\n 'x-browser-ua': browserInfo.ua\r\n },\r\n body: JSON.stringify(message)\r\n };\r\n return fetch(`${config.apiUrl}/admin/contact?recaptchaToken=${recaptchaToken}`, requestOptions)\r\n .then(handleResponse)\r\n .catch(reason => {\r\n return reason;\r\n });\r\n}\r\nfunction getRecipes(lang) {\r\n const token = localStorage.getItem(tokenKey);\r\n if (token === undefined || token === null) {\r\n return Promise.reject('Unauthorized');\r\n }\r\n const requestOptions = {\r\n method: 'GET',\r\n headers: {\r\n Authorization: `Bearer ${token}`\r\n }\r\n };\r\n return fetch(`${config.apiUrl}/cupons/patterns?lang=${lang}`, requestOptions)\r\n .then(handleResponse)\r\n .then(recipes => {\r\n return recipes;\r\n });\r\n}\r\nfunction removeToken() {\r\n localStorage.removeItem(tokenKey);\r\n}\r\nfunction handleResponse(response) {\r\n return response.text().then((text) => {\r\n const data = text && JSON.parse(text);\r\n if (!response.ok) {\r\n if (response.status === 401) {\r\n removeToken();\r\n location.reload(true);\r\n }\r\n const error = data || response.statusText;\r\n return Promise.reject(error);\r\n }\r\n if (response.status === 204) {\r\n return 'nocontent';\r\n }\r\n return data;\r\n });\r\n}\r\n//# sourceMappingURL=backendService.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"recipe__container\"},[_c('img',{attrs:{\"src\":_vm.imagePath,\"alt\":\"\"}}),_c('div',{staticClass:\"recipe__title\"},[_vm._v(_vm._s(_vm.title))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\r\nimport Vue from 'vue';\r\nimport Component from 'vue-class-component';\r\nimport { Prop, Emit } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class ChosenPattern extends Vue {\r\n @Prop()\r\n private readonly title!: string;\r\n\r\n @Prop()\r\n private readonly imagePath!: string;\r\n\r\n @Emit('remove-recipe')\r\n private removeRecipe() {\r\n return;\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChosenPattern.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChosenPattern.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ChosenPattern.vue?vue&type=template&id=7c93c5e8&scoped=true&\"\nimport script from \"./ChosenPattern.vue?vue&type=script&lang=ts&\"\nexport * from \"./ChosenPattern.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ChosenPattern.vue?vue&type=style&index=0&id=7c93c5e8&lang=scss&scoped=true&\"\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 \"7c93c5e8\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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 Vue from 'vue';\nimport Component from 'vue-class-component';\nimport { Prop } from 'vue-property-decorator';\nimport { State, Action, Getter } from 'vuex-class';\nimport { PatternDto } from '@/core/interfaces';\nimport { backendService } from '@/services/backendService';\nimport ChosenPattern from '@/components/ChosenPattern.vue';\nimport Button from '@/components/Button.vue';\n\n@Component({ components: { ChosenPattern, Button } })\nexport default class ConfirmChoiceView extends Vue {\n @Prop()\n private recipeId!: string;\n\n @State(state => state.Authentication)\n private authentication!: any;\n\n @Action\n private verifyAuthentication: any;\n\n @Getter\n private getRecipe!: (id: string) => PatternDto;\n\n private chosenPattern: PatternDto | null | undefined = null;\n private email: string = '';\n private verifyEmail: string = '';\n private acceptedTermsAndConditions: boolean = false;\n private loading: boolean = false;\n\n private handleRecipeRemove() {\n this.$router.replace({ name: 'choose_recipe' });\n }\n\n private async handleFormSubmit() {\n if (this.email !== this.verifyEmail || this.email === '') {\n return;\n }\n\n if (this.acceptedTermsAndConditions === false) {\n return;\n }\n\n this.loading = true;\n const res = await backendService.redeemCuponCode(\n this.email,\n this.recipeId,\n this.$i18n.locale\n );\n this.loading = false;\n\n if (res === 'nocontent') {\n this.$store.commit('saveSuccessDetails', {\n email: this.email,\n title: this.chosenRecipeTitle\n });\n this.$router.replace({ name: 'success' });\n } else {\n this.$store.commit('saveErrorDetails', {\n email: this.email,\n title: this.chosenRecipeTitle\n });\n this.$router.replace({ name: 'error' });\n }\n }\n\n get chosenRecipeImagePath() {\n return this.chosenPattern === null || this.chosenPattern === undefined\n ? ''\n : this.chosenPattern.images[0].path;\n }\n\n get chosenRecipeTitle() {\n return this.chosenPattern === null || this.chosenPattern === undefined\n ? ''\n : this.chosenPattern.title;\n }\n\n get formValid() {\n return this.acceptedTermsAndConditions && this.email;\n }\n\n private async mounted() {\n this.chosenPattern = this.getRecipe(this.recipeId);\n\n if (this.chosenPattern === undefined || this.chosenPattern === null) {\n this.$router.replace({ name: 'choose_recipe' });\n return;\n }\n }\n\n get verifyEmailInvalidText() {\n return this.$t('global.error_messages.verify_email').toString();\n }\n}\n","export var CodeErrorType;\r\n(function (CodeErrorType) {\r\n CodeErrorType[CodeErrorType[\"TooShort\"] = 0] = \"TooShort\";\r\n CodeErrorType[CodeErrorType[\"WrongFormat\"] = 1] = \"WrongFormat\";\r\n})(CodeErrorType || (CodeErrorType = {}));\r\nexport var ErrorType;\r\n(function (ErrorType) {\r\n ErrorType[ErrorType[\"NoError\"] = 0] = \"NoError\";\r\n ErrorType[ErrorType[\"Email\"] = 1] = \"Email\";\r\n ErrorType[ErrorType[\"Server\"] = 2] = \"Server\";\r\n})(ErrorType || (ErrorType = {}));\r\n//# sourceMappingURL=interfaces.js.map","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmChoiceView.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmChoiceView.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ConfirmChoiceView.vue?vue&type=template&id=a39b4152&scoped=true&\"\nimport script from \"./ConfirmChoiceView.vue?vue&type=script&lang=ts&\"\nexport * from \"./ConfirmChoiceView.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ConfirmChoiceView.vue?vue&type=style&index=0&id=a39b4152&lang=scss&scoped=true&\"\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 \"a39b4152\",\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('div',{staticClass:\"success__view\"},[_c('i18n',{attrs:{\"path\":\"views.success.message\",\"tag\":\"div\"},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('span',[_vm._v(_vm._s(_vm.recipeTitle))])]},proxy:true},{key:\"customerEmail\",fn:function(){return [_c('span',[_vm._v(_vm._s(_vm.customerEmail))])]},proxy:true},{key:\"doubleSpacer\",fn:function(){return [_c('br'),_c('br')]},proxy:true},{key:\"wrongEmail\",fn:function(){return [_c('span',{staticClass:\"link__lookalike\",on:{\"click\":_vm.handleWrongEmail}},[_vm._v(_vm._s(_vm.$t('views.success.click_here')))])]},proxy:true},{key:\"header\",fn:function(){return [_c('span',[_vm._v(_vm._s(_vm.$t('views.success.headline')))])]},proxy:true},{key:\"spacer\",fn:function(){return [_c('br')]},proxy:true}])})],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\r\nimport Vue from 'vue';\r\nimport Component from 'vue-class-component';\r\nimport { State, Getter } from 'vuex-class';\r\nimport { ErrorType, ErrorDetails } from '../core/interfaces';\r\n\r\n@Component({ components: {} })\r\nexport default class SuccessView extends Vue {\r\n @State(state => state.SuccessDetails)\r\n private details!: any;\r\n\r\n @Getter\r\n private getCuponCode!: () => string;\r\n\r\n private cuponCode: string = '';\r\n\r\n private mounted() {\r\n if (this.details.email === '' || this.details.recipeTitle === '') {\r\n this.$router.replace({ name: 'enter_code' });\r\n }\r\n this.cuponCode = this.getCuponCode();\r\n this.$store.commit('removeToken');\r\n }\r\n\r\n private destroyed() {\r\n this.$store.commit('removeSuccessDetails');\r\n }\r\n\r\n private handleWrongEmail() {\r\n const details: ErrorDetails = {\r\n email: this.customerEmail,\r\n title: this.recipeTitle,\r\n cuponCode: this.cuponCode,\r\n type: ErrorType.Email\r\n };\r\n this.$store.commit('saveErrorDetails', details);\r\n this.$router.replace({ name: 'contact' });\r\n }\r\n\r\n get recipeTitle() {\r\n return this.details.recipeTitle;\r\n }\r\n\r\n get customerEmail() {\r\n return this.details.email;\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SuccessView.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SuccessView.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SuccessView.vue?vue&type=template&id=34174745&scoped=true&\"\nimport script from \"./SuccessView.vue?vue&type=script&lang=ts&\"\nexport * from \"./SuccessView.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SuccessView.vue?vue&type=style&index=0&id=34174745&lang=scss&scoped=true&\"\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 \"34174745\",\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('div',{staticClass:\"error__view\"},[_c('i18n',{attrs:{\"path\":\"views.error.message\",\"tag\":\"div\"},scopedSlots:_vm._u([{key:\"customerEmail\",fn:function(){return [_c('span',[_vm._v(_vm._s(_vm.customerEmail))])]},proxy:true},{key:\"doubleSpacer\",fn:function(){return [_c('br'),_c('br')]},proxy:true},{key:\"contactFormular\",fn:function(){return [_c('span',{staticClass:\"link__lookalike\",on:{\"click\":_vm.goToContactFormular}},[_vm._v(_vm._s(_vm.$t('views.error.formular')))])]},proxy:true},{key:\"header\",fn:function(){return [_c('span',[_vm._v(_vm._s(_vm.$t('views.success.headline')))])]},proxy:true},{key:\"spacer\",fn:function(){return [_c('br')]},proxy:true}])})],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\r\nimport Vue from 'vue';\r\nimport Component from 'vue-class-component';\r\nimport { Getter, State } from 'vuex-class';\r\nimport { ErrorType, ErrorDetails } from '@/core/interfaces';\r\n\r\n@Component\r\nexport default class ErrorView extends Vue {\r\n @State(state => state.ErrorDetails)\r\n private details!: ErrorDetails;\r\n\r\n @Getter\r\n private getCuponCode!: () => string;\r\n\r\n private cuponCode: string = '';\r\n\r\n private created() {\r\n this.cuponCode = this.getCuponCode();\r\n this.$store.commit('removeToken');\r\n }\r\n\r\n private goToContactFormular() {\r\n const details: ErrorDetails = {\r\n email: this.details.email,\r\n title: this.details.title,\r\n cuponCode: this.cuponCode,\r\n type: ErrorType.Server\r\n };\r\n this.$store.commit('saveErrorDetails', details);\r\n this.$router.replace({ name: 'contact' });\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ErrorView.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ErrorView.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ErrorView.vue?vue&type=template&id=bc5bf942&scoped=true&\"\nimport script from \"./ErrorView.vue?vue&type=script&lang=ts&\"\nexport * from \"./ErrorView.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ErrorView.vue?vue&type=style&index=0&id=bc5bf942&lang=scss&scoped=true&\"\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 \"bc5bf942\",\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('div',{staticClass:\"contact__view\"},[_c('div',{staticClass:\"contact__wrapper\"},[_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.handleFormSubmit($event)}}},[_c('div',{staticClass:\"form__group\"},[_c('label',{attrs:{\"for\":\"subject\"}},[_vm._v(_vm._s(_vm.$t('global.label.subject')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.subject),expression:\"subject\"}],attrs:{\"id\":\"subject\",\"type\":\"text\",\"name\":\"subject\",\"required\":\"\"},domProps:{\"value\":(_vm.subject)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.subject=$event.target.value}}})]),_c('div',{staticClass:\"form__group\"},[_c('label',{attrs:{\"for\":\"name\"}},[_vm._v(_vm._s(_vm.$t('global.label.name')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.name),expression:\"name\"}],attrs:{\"id\":\"name\",\"type\":\"text\",\"name\":\"name\",\"required\":\"\"},domProps:{\"value\":(_vm.name)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.name=$event.target.value}}})]),_c('div',{staticClass:\"form__group\"},[_c('label',{attrs:{\"for\":\"email\"}},[_vm._v(_vm._s(_vm.$t('global.label.contact_email')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.email),expression:\"email\"}],attrs:{\"id\":\"email\",\"type\":\"email\",\"name\":\"email\",\"required\":\"\"},domProps:{\"value\":(_vm.email)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.email=$event.target.value}}})]),_c('div',{staticClass:\"form__group\"},[_c('label',{attrs:{\"for\":\"verifyEmail\"}},[_vm._v(_vm._s(_vm.$t('global.label.verify_contact_email')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.verifyEmail),expression:\"verifyEmail\"}],attrs:{\"id\":\"verifyEmail\",\"type\":\"email\",\"name\":\"verifyEmail\",\"pattern\":_vm.email,\"title\":_vm.verifyEmailInvalidText,\"required\":\"\"},domProps:{\"value\":(_vm.verifyEmail)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.verifyEmail=$event.target.value}}})]),_c('div',{staticClass:\"form__group\"},[_c('label',{attrs:{\"for\":\"message\"}},[_vm._v(_vm._s(_vm.$t('global.label.message')))]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.message),expression:\"message\"}],attrs:{\"id\":\"message\",\"name\":\"message\",\"rows\":\"10\",\"minlength\":\"1\",\"required\":\"\"},domProps:{\"value\":(_vm.message)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.message=$event.target.value}}})]),_c('div',{staticClass:\"form__group send__group last\"},[_c('div',{staticClass:\"recaptcha__wrapper\"},[_c('vue-recaptcha',{ref:\"recaptcha\",attrs:{\"sitekey\":_vm.siteKey},on:{\"verify\":_vm.verifyRecaptcha,\"expired\":_vm.expiredRecaptcha}})],1),_c('Button',{staticClass:\"send__message__button\",attrs:{\"type\":\"submit\",\"inactive\":!_vm.formValid,\"loading\":_vm.loading,\"text\":_vm.$t('global.button.send_message')}})],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\r\nimport Vue from 'vue';\r\nimport Component from 'vue-class-component';\r\nimport VueRecaptcha from 'vue-recaptcha';\r\nimport { backendService } from '@/services/backendService';\r\nimport { State } from 'vuex-class';\r\nimport { ErrorDetails, SupportMessage, ErrorType, BrowserInformation } from '../core/interfaces';\r\nimport { config } from '@/core/config';\r\nimport Button from '@/components/Button.vue';\r\n\r\n@Component({ components: { VueRecaptcha, Button } })\r\nexport default class ContactView extends Vue {\r\n public $refs!: Vue['$refs'] & {\r\n recaptcha: VueRecaptcha;\r\n };\r\n\r\n @State(state => state.ErrorDetails)\r\n private details!: ErrorDetails;\r\n\r\n private email: string = '';\r\n private verifyEmail: string = '';\r\n private subject: string = '';\r\n private name: string = '';\r\n private message: string = '';\r\n\r\n private recaptchaVerified: boolean = false;\r\n private recaptchaToken: string = '';\r\n\r\n private loading: boolean = false;\r\n\r\n public resetRecaptcha() {\r\n this.$refs.recaptcha.reset();\r\n this.recaptchaVerified = false;\r\n }\r\n\r\n private verifyRecaptcha(response: any) {\r\n this.recaptchaVerified = true;\r\n this.recaptchaToken = response;\r\n }\r\n\r\n private expiredRecaptcha(response: any) {\r\n this.recaptchaVerified = false;\r\n }\r\n\r\n private async handleFormSubmit() {\r\n if (this.formValid === false) {\r\n return;\r\n }\r\n\r\n const message: SupportMessage = {\r\n name: this.name,\r\n email: this.email,\r\n subject: this.subject,\r\n message: this.message\r\n };\r\n\r\n const browserInfo: BrowserInformation = {\r\n name:'',\r\n version: '',\r\n ua:''\r\n }\r\n\r\n this.loading = true;\r\n const res = await backendService.sendSupportEmail(\r\n this.recaptchaToken,\r\n message,\r\n browserInfo\r\n );\r\n this.loading = false;\r\n\r\n if (res === 'nocontent') {\r\n this.$notify({\r\n group: 'app',\r\n duration: 8000,\r\n title: this.$t('notifications.support.success.title').toString(),\r\n type: 'success',\r\n text: this.$t('notifications.support.success.text').toString()\r\n });\r\n this.clearForm();\r\n } else {\r\n this.$notify({\r\n group: 'app',\r\n duration: 8000,\r\n title: this.$t('notifications.support.error.title').toString(),\r\n type: 'error',\r\n text: this.$t('notifications.support.error.text').toString()\r\n });\r\n }\r\n\r\n this.resetRecaptcha();\r\n }\r\n\r\n private clearForm() {\r\n this.email = '';\r\n this.verifyEmail = '';\r\n this.subject = '';\r\n this.name = '';\r\n this.message = '';\r\n }\r\n\r\n get formValid() {\r\n return (\r\n this.email &&\r\n this.subject &&\r\n this.name &&\r\n this.message &&\r\n this.recaptchaVerified\r\n );\r\n }\r\n\r\n get emailInvalidText() {\r\n return this.$t('global.error_messages.verify_email').toString();\r\n }\r\n\r\n get verifyEmailInvalidText() {\r\n return this.$t('global.error_messages.verify_email').toString();\r\n }\r\n\r\n get siteKey() {\r\n return config.recaptchaKey;\r\n }\r\n\r\n private created() {\r\n if (this.details.cuponCode !== '') {\r\n if (this.details.type === ErrorType.Email) {\r\n this.subject = this.$i18n\r\n .t('views.contact.error_email', { cuponCode: this.details.cuponCode })\r\n .toString();\r\n } else {\r\n this.subject = this.$i18n\r\n .t('views.contact.error_server', {\r\n cuponCode: this.details.cuponCode\r\n })\r\n .toString();\r\n }\r\n }\r\n }\r\n\r\n private destroyed() {\r\n this.$store.commit('removeErrorDetails');\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContactView.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContactView.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ContactView.vue?vue&type=template&id=12336529&scoped=true&\"\nimport script from \"./ContactView.vue?vue&type=script&lang=ts&\"\nexport * from \"./ContactView.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ContactView.vue?vue&type=style&index=0&id=12336529&lang=scss&scoped=true&\"\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 \"12336529\",\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('div',{staticClass:\"privacy__policy__view\"},[_c('div',{staticClass:\"scroll__view\"},[_c('h1',[_vm._v(_vm._s(_vm.$t('views.privacy_policy.headline')))]),_c('section',{staticClass:\"group\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('views.privacy_policy.data_collection.headline')))]),_c('i18n',{attrs:{\"path\":\"views.privacy_policy.data_collection.content\",\"tag\":\"p\"},scopedSlots:_vm._u([{key:\"doubleSpacer\",fn:function(){return [_c('br'),_c('br')]},proxy:true},{key:\"spacer\",fn:function(){return [_c('br')]},proxy:true}])})],1),_c('section',{staticClass:\"group\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('views.privacy_policy.data_protection.headline')))]),_c('i18n',{attrs:{\"path\":\"views.privacy_policy.data_protection.content\",\"tag\":\"p\"},scopedSlots:_vm._u([{key:\"doubleSpacer\",fn:function(){return [_c('br'),_c('br')]},proxy:true},{key:\"spacer\",fn:function(){return [_c('br')]},proxy:true}])})],1),_c('section',{staticClass:\"group\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('views.privacy_policy.cookies.headline')))]),_c('p',[_vm._v(_vm._s(_vm.$t('views.privacy_policy.cookies.content')))])]),_c('section',{staticClass:\"group\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('views.privacy_policy.consent.headline')))]),_c('p',[_vm._v(_vm._s(_vm.$t('views.privacy_policy.consent.content')))])])])])}\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\r\nimport Vue from 'vue';\r\nimport Component from 'vue-class-component';\r\n\r\n@Component\r\nexport default class PrivacyPolicyView extends Vue {}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrivacyPolicyView.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrivacyPolicyView.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PrivacyPolicyView.vue?vue&type=template&id=a37c63a2&scoped=true&\"\nimport script from \"./PrivacyPolicyView.vue?vue&type=script&lang=ts&\"\nexport * from \"./PrivacyPolicyView.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./PrivacyPolicyView.vue?vue&type=style&index=0&id=a37c63a2&lang=scss&scoped=true&\"\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 \"a37c63a2\",\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('div',{staticClass:\"terms__view\"},[_c('div',{staticClass:\"scroll__view\"},[_c('h1',[_vm._v(_vm._s(_vm.$t('views.terms_and_conditions.headline')))]),_c('section',{staticClass:\"group\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('views.terms_and_conditions.payment.headline')))]),_c('p',[_vm._v(_vm._s(_vm.$t('views.terms_and_conditions.payment.content')))])]),_c('section',{staticClass:\"group\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('views.terms_and_conditions.delivery.headline')))]),_c('p',[_vm._v(_vm._s(_vm.$t('views.terms_and_conditions.delivery.content')))])]),_c('section',{staticClass:\"group\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('views.terms_and_conditions.warranty.headline')))]),_c('i18n',{attrs:{\"path\":\"views.terms_and_conditions.warranty.content\",\"tag\":\"p\"},scopedSlots:_vm._u([{key:\"doubleSpacer\",fn:function(){return [_c('br'),_c('br')]},proxy:true},{key:\"spacer\",fn:function(){return [_c('br')]},proxy:true}])})],1),_c('section',{staticClass:\"group\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('views.terms_and_conditions.cancellation.headline')))]),_c('p',[_vm._v(_vm._s(_vm.$t('views.terms_and_conditions.cancellation.content')))]),_c('div',{staticClass:\"sub__group\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('views.terms_and_conditions.cancellation.exception.headline')))]),_c('p',[_vm._v(_vm._s(_vm.$t('views.terms_and_conditions.cancellation.exception.content')))])])]),_c('section',{staticClass:\"group\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('views.terms_and_conditions.contact.headline')))]),_c('i18n',{attrs:{\"path\":\"views.terms_and_conditions.contact.content\",\"tag\":\"p\"},scopedSlots:_vm._u([{key:\"doubleSpacer\",fn:function(){return [_c('br'),_c('br')]},proxy:true},{key:\"spacer\",fn:function(){return [_c('br')]},proxy:true}])})],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\r\nimport Vue from 'vue';\r\nimport Component from 'vue-class-component';\r\n\r\n@Component\r\nexport default class TermsView extends Vue {}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TermsView.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TermsView.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TermsView.vue?vue&type=template&id=7b776f6b&scoped=true&\"\nimport script from \"./TermsView.vue?vue&type=script&lang=ts&\"\nexport * from \"./TermsView.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TermsView.vue?vue&type=style&index=0&id=7b776f6b&lang=scss&scoped=true&\"\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 \"7b776f6b\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\r\nimport Vuex from 'vuex';\r\nimport { tokenKey, backendService } from '@/services/backendService';\r\nimport { ErrorType } from '@/core/interfaces';\r\nimport JwtDecode from 'jwt-decode';\r\nVue.use(Vuex);\r\nconst token = localStorage.getItem(tokenKey) || '';\r\nexport default new Vuex.Store({\r\n state: {\r\n Authentication: {\r\n loggedIn: token !== '',\r\n cuponToken: token\r\n },\r\n Patterns: Array(),\r\n ErrorDetails: {\r\n email: '',\r\n title: '',\r\n cuponCode: '',\r\n errorType: ErrorType.NoError\r\n },\r\n SuccessDetails: {\r\n email: '',\r\n recipeTitle: ''\r\n }\r\n },\r\n mutations: {\r\n saveToken(state, recipeCuponToken) {\r\n state.Authentication.loggedIn = true;\r\n state.Authentication.cuponToken = recipeCuponToken;\r\n },\r\n removeToken(state) {\r\n state.Authentication.loggedIn = false;\r\n state.Authentication.cuponToken = '';\r\n localStorage.removeItem(tokenKey);\r\n },\r\n saveRecipes(state, recipes) {\r\n state.Patterns = recipes;\r\n },\r\n removeRecipes(state) {\r\n state.Patterns = [];\r\n },\r\n saveSuccessDetails(state, details) {\r\n state.SuccessDetails.email = details.email;\r\n state.SuccessDetails.recipeTitle = details.title;\r\n },\r\n removeSuccessDetails(state) {\r\n state.SuccessDetails.email = '';\r\n state.SuccessDetails.recipeTitle = '';\r\n },\r\n saveErrorDetails(state, details) {\r\n state.ErrorDetails.email = details.email;\r\n state.ErrorDetails.title = details.title;\r\n state.ErrorDetails.cuponCode = details.cuponCode;\r\n state.ErrorDetails.errorType = details.type;\r\n },\r\n removeErrorDetails(state) {\r\n state.ErrorDetails.email = '';\r\n state.ErrorDetails.title = '';\r\n state.ErrorDetails.cuponCode = '';\r\n state.ErrorDetails.errorType = ErrorType.NoError;\r\n }\r\n },\r\n actions: {\r\n async verifyCuponCode({ commit }, { cuponCode, recaptchaToken }) {\r\n await backendService.getCuponCodeToken(cuponCode, recaptchaToken).then(recipeCuponToken => {\r\n commit('saveToken', recipeCuponToken);\r\n }, error => {\r\n commit('removeToken');\r\n });\r\n },\r\n async fetchRecipes({ commit }, lang) {\r\n await backendService.getRecipes(lang).then(recipes => {\r\n commit('saveRecipes', recipes);\r\n }, error => {\r\n commit('removeRecipes');\r\n });\r\n },\r\n verifyAuthentication({ commit }) {\r\n const cuponCodeToken = localStorage.getItem(tokenKey) || '';\r\n if (cuponCodeToken === '') {\r\n commit('removeToken');\r\n return;\r\n }\r\n const decodedJwt = JwtDecode(cuponCodeToken);\r\n const now = Date.now() / 1000;\r\n const exp = decodedJwt.exp;\r\n if (exp < now) {\r\n commit('removeToken');\r\n return;\r\n }\r\n commit('saveToken', cuponCodeToken);\r\n }\r\n },\r\n getters: {\r\n getRecipe: state => (id) => {\r\n if (state.Patterns === null ||\r\n state.Patterns === undefined ||\r\n state.Patterns.length === 0) {\r\n return null;\r\n }\r\n const recipes = state.Patterns.flatMap(container => container.patterns);\r\n return recipes.find(recipeDto => recipeDto.id === id);\r\n },\r\n getRecipes: state => () => {\r\n return state.Patterns;\r\n },\r\n getCuponCode: state => () => {\r\n const cuponCodeToken = localStorage.getItem(tokenKey) || '';\r\n if (cuponCodeToken === '') {\r\n return null;\r\n }\r\n const decodedJwt = JwtDecode(cuponCodeToken);\r\n return decodedJwt.cuponcode;\r\n }\r\n }\r\n});\r\n//# sourceMappingURL=store.js.map","import Vue from 'vue';\r\nimport VueI18n from 'vue-i18n';\r\nVue.use(VueI18n);\r\nconst lang = localStorage.getItem('lang');\r\nfunction loadLocaleMessages() {\r\n const locales = require.context('./locales', true, /[A-Za-z0-9-_,\\s]+\\.json$/i);\r\n const messages = {};\r\n locales.keys().forEach(key => {\r\n const matched = key.match(/([A-Za-z0-9-_]+)\\./i);\r\n if (matched && matched.length > 1) {\r\n const locale = matched[1];\r\n messages[locale] = locales(key);\r\n }\r\n });\r\n return messages;\r\n}\r\nexport default new VueI18n({\r\n locale: lang || process.env.VUE_APP_I18N_LOCALE || 'en',\r\n fallbackLocale: process.env.VUE_APP_I18N_FALLBACK_LOCALE || 'en',\r\n messages: loadLocaleMessages()\r\n});\r\n//# sourceMappingURL=i18n.js.map","import Vue from 'vue';\r\nimport Router from 'vue-router';\r\nimport EnterCodeView from '@/views/EnterCodeView.vue';\r\nimport ChooseRecipeView from '@/views/ChooseRecipeView.vue';\r\nimport ConfirmChoiceView from '@/views/ConfirmChoiceView.vue';\r\nimport SuccessView from '@/views/SuccessView.vue';\r\nimport ErrorView from '@/views/ErrorView.vue';\r\nimport ContactView from '@/views/ContactView.vue';\r\nimport PrivacyPolicyView from '@/views/PrivacyPolicyView.vue';\r\nimport TermsView from '@/views/TermsView.vue';\r\nimport store from '@/store';\r\nimport i18n from '@/i18n';\r\nVue.use(Router);\r\nconst authenticatedRoutes = ['choose_recipe', 'confirm_choice'];\r\nconst router = new Router({\r\n mode: 'history',\r\n base: process.env.BASE_URL,\r\n routes: [\r\n {\r\n path: '/',\r\n name: 'enter_code',\r\n component: EnterCodeView\r\n },\r\n {\r\n path: '/choose',\r\n name: 'choose_recipe',\r\n component: ChooseRecipeView\r\n },\r\n {\r\n path: '/confirm/:recipeId',\r\n name: 'confirm_choice',\r\n component: ConfirmChoiceView,\r\n props: true\r\n },\r\n {\r\n path: '/success',\r\n name: 'success',\r\n component: SuccessView,\r\n props: true\r\n },\r\n {\r\n path: '/error',\r\n name: 'error',\r\n component: ErrorView,\r\n props: true\r\n },\r\n {\r\n path: '/contact',\r\n name: 'contact',\r\n component: ContactView,\r\n props: true\r\n },\r\n {\r\n path: '/terms',\r\n name: 'terms',\r\n component: TermsView,\r\n props: true\r\n },\r\n {\r\n path: '/privacypolicy',\r\n name: 'privacypolicy',\r\n component: PrivacyPolicyView,\r\n props: true\r\n }\r\n ]\r\n});\r\nrouter.beforeEach((to, from, next) => {\r\n if (authenticatedRoutes.includes(to.name || '') === false) {\r\n next();\r\n return;\r\n }\r\n store.dispatch('verifyAuthentication');\r\n if (store.state.Authentication.loggedIn === false) {\r\n Vue.notify({\r\n group: 'app',\r\n duration: 8000,\r\n title: i18n.t('notifications.session_expired.title').toString(),\r\n type: 'warn',\r\n text: i18n.t('notifications.session_expired.text').toString()\r\n });\r\n next('/');\r\n return;\r\n }\r\n if (to.name === 'enter_code') {\r\n next('/choose');\r\n return;\r\n }\r\n next();\r\n});\r\nexport default router;\r\n//# sourceMappingURL=router.js.map","import Vue from 'vue';\r\nimport App from './App.vue';\r\nimport router from './router';\r\nimport store from './store';\r\nimport Notifications from 'vue-notification';\r\nimport i18n from './i18n';\r\n// import browserDetect from 'vue-browser-detect-plugin';\r\n\r\nVue.config.productionTip = false;\r\n\r\nVue.use(Notifications);\r\n// Vue.use(browserDetect);\r\n\r\nnew Vue({\r\n router,\r\n store,\r\n i18n,\r\n render: h => h(App)\r\n}).$mount('#app');\r\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LanguagePicker.vue?vue&type=style&index=0&id=6308369a&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LanguagePicker.vue?vue&type=style&index=0&id=6308369a&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SuccessView.vue?vue&type=style&index=0&id=34174745&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SuccessView.vue?vue&type=style&index=0&id=34174745&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Help.vue?vue&type=style&index=0&id=5422861e&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Help.vue?vue&type=style&index=0&id=5422861e&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Breadcrumb.vue?vue&type=style&index=0&id=386bbc06&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Breadcrumb.vue?vue&type=style&index=0&id=386bbc06&lang=scss&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/kd-logo.6bff3760.jpg\";","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContactView.vue?vue&type=style&index=0&id=12336529&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContactView.vue?vue&type=style&index=0&id=12336529&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrivacyPolicyView.vue?vue&type=style&index=0&id=a37c63a2&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrivacyPolicyView.vue?vue&type=style&index=0&id=a37c63a2&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Button.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Button.vue?vue&type=style&index=0&lang=scss&\""],"sourceRoot":""}