{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/App.vue?7e02","webpack:///./src/services/productService.ts","webpack:///./src/App.vue?b69a","webpack:///./src/App.vue","webpack:///./src/App.vue?0ab4","webpack:///./src/App.vue?bff9","webpack:///./src/router/index.ts","webpack:///./src/main.ts","webpack:///./src/assets/home/Foodin_Brand_Clean@4x.png"],"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","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","GetProductsCategory","categoryParam","a","params","id","response","GetProduct","productId","postProduct","product","post","log","updateProduct","put","deleteProduct","delete","GetProductsByProductIds","productIds","join","loadNext","ordering","categoryId","loadPrevious","SearchProducts","input","moveUpProduct","moveDownProduct","_vm","this","_h","$createElement","_c","_self","attrs","staticClass","_v","_s","user","_e","on","openModal","staticStyle","directives","rawName","cookieProducts","expression","scopedSlots","_u","fn","proxy","model","callback","$$v","modalShow","label","row","$event","setFavorite","item","sendMail","$bvModal","hide","$route","fullPath","staticRenderFns","refreshUser","$auth","getUser","keyName","cookieValue","$cookies","favoriteProducts","JSON","parse","filter","el","newCookie","index","indexOf","objIndex","findIndex","obj","set","stringify","body","products","map","productNumber","replace","concat","toString","open","location","origin","component","config","issuer","clientId","redirectUri","scopes","use","routes","path","meta","requiresAuth","handleCallback","router","base","add","productionTip","initializeApp","apiKey","authDomain","projectId","storageBucket","messagingSenderId","appId","measurementId","render","h","App","$mount"],"mappings":"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","file":"js/app.fd413d6a.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 CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\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// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-2bb76546\":\"dcc5772f\",\"chunk-098a8d97\":\"033cd842\",\"chunk-74ec8f30\":\"0d3c3be0\",\"chunk-3b2db39f\":\"7132d702\",\"chunk-6259bd8c\":\"ad9c7434\",\"chunk-e80df27c\":\"71c0ea04\"}[chunkId] + \".js\"\n \t}\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 \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-2bb76546\":1,\"chunk-098a8d97\":1,\"chunk-74ec8f30\":1,\"chunk-3b2db39f\":1,\"chunk-6259bd8c\":1,\"chunk-e80df27c\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-2bb76546\":\"5aa1a64b\",\"chunk-098a8d97\":\"4116125b\",\"chunk-74ec8f30\":\"d790149d\",\"chunk-3b2db39f\":\"7606ee18\",\"chunk-6259bd8c\":\"3ca3b52f\",\"chunk-e80df27c\":\"f45458d6\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\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 \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\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","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../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=css&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../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=css&\"","import axios from 'axios'\r\nimport { Product } from '@/types/types'\r\n\r\nexport default {\r\n async GetProductsCategory(categoryParam: Number): Promise {\r\n let response = await axios.get('/api/Products/Category/', { params: { id: categoryParam } });\r\n return response.data as Array;\r\n },\r\n async GetProduct(productId: Number): Promise {\r\n let response = await axios.get('/api/Products/' + productId);\r\n return response.data as Product;\r\n },\r\n async postProduct(product: Product): Promise {\r\n let response = await axios.post('/api/Products', product)\r\n console.log(response); //eslint-disable-line no-console\r\n return response.data;\r\n },\r\n async updateProduct(product: Product): Promise {\r\n let response = await axios.put('/api/Products/' + product.id, product)\r\n console.log(response); //eslint-disable-line no-console\r\n return response.data;\r\n },\r\n async deleteProduct(productId: Number): Promise {\r\n let response = await axios.delete('/api/Products/' + productId)\r\n console.log(response); //eslint-disable-line no-console\r\n return response.data;\r\n },\r\n async GetProductsByProductIds(productIds: Number[]): Promise {\r\n let response = await axios.get('/api/Products/Ids/', { params: { productIds: productIds.join() } });\r\n console.log(response); //eslint-disable-line no-console\r\n return response.data as Array;\r\n },\r\n async loadNext(ordering: Number, categoryId: Number): Promise {\r\n let response = await axios.get('/api/Products/Next/', { params: { ordering: ordering, categoryId: categoryId } });\r\n console.log(response); //eslint-disable-line no-console\r\n return response.data as Product;\r\n },\r\n async loadPrevious(ordering: Number, categoryId: Number): Promise {\r\n let response = await axios.get('/api/Products/Previous/', { params: { ordering: ordering, categoryId: categoryId } });\r\n console.log(response); //eslint-disable-line no-console\r\n return response.data as Product;\r\n },\r\n async SearchProducts(input: string): Promise {\r\n let response = await axios.get('/api/Products/Search/', { params: { input: input } });\r\n return response.data as Array;\r\n },\r\n async moveUpProduct(productId: Number): Promise {\r\n let response = await axios.get('/api/Products/MoveUp', { params: { id: productId } });\r\n return response.data;\r\n },\r\n async moveDownProduct(productId: Number): Promise {\r\n let response = await axios.get('/api/Products/MoveDown', { params: { id: productId } });\r\n return response.data;\r\n },\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('b-navbar',{attrs:{\"toggleable\":\"lg\",\"type\":\"light\",\"variant\":\"light\"}},[_c('b-navbar-nav',{attrs:{\"to\":\"/\"}},[_c('b-nav-item',{staticClass:\"mr-auto\",attrs:{\"to\":\"/\"}},[_c('img',{staticClass:\"fit-above\",attrs:{\"src\":require('@/assets/home/Foodin_Brand_Clean@4x.png'),\"alt\":\"foodin logo\"}})])],1),_c('b-navbar-toggle',{attrs:{\"target\":\"nav-collapse\"}}),_c('b-collapse',{attrs:{\"id\":\"nav-collapse\",\"is-nav\":\"\"}},[_c('b-navbar-nav',[(_vm.user)?_c('b-nav-item',{staticClass:\"mr-auto\",attrs:{\"to\":\"/dashboard\"}},[_vm._v(\"Dashboard voor \"+_vm._s(_vm.user.name))]):_vm._e()],1),_c('b-navbar-nav',{staticClass:\"ml-auto\"},[_c('b-nav-item',{staticClass:\"mr-auto\",on:{\"click\":_vm.openModal}},[_c('span',{staticStyle:{\"float\":\"left\",\"margin-right\":\"5px\"}},[_vm._v(\"Ask for more info\")]),_c('font-awesome-layers',{staticStyle:{\"float\":\"right\",\"min-width\":\"40px\"},attrs:{\"title\":\"Get in touch with Foodin!\"}},[_c('font-awesome-icon',{staticClass:\"fa-3x surround-circle\",attrs:{\"icon\":\"circle\"}}),_c('font-awesome-icon',{staticClass:\"fa-2x favorite-icon-wishlist-menu\",attrs:{\"icon\":\"heart\"}}),_c('font-awesome-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.cookieProducts.length > 0),expression:\"cookieProducts.length > 0\"}],staticClass:\"notification-circle\",attrs:{\"icon\":\"circle\"}})],1)],1),_c('b-nav-item',{staticClass:\"mr-auto\",attrs:{\"to\":\"/categories\"}},[_vm._v(\"Catalogue\")]),_c('b-nav-item',{staticClass:\"mr-auto\",attrs:{\"to\":\"/\"}},[_vm._v(\"About Foodin\")]),_c('b-nav-item',{staticClass:\"mr-auto\",attrs:{\"href\":\"/#products\"}},[_vm._v(\"Products\")]),_c('b-nav-item',{staticClass:\"mr-auto\",attrs:{\"href\":\"/#food-safety\"}},[_vm._v(\"Food Safety\")]),_c('b-nav-item',{staticClass:\"mr-auto\",attrs:{\"href\":\"/#contact\"}},[_vm._v(\"Contact\")])],1)],1)],1),_c('b-modal',{attrs:{\"id\":\"bv-modal-example\",\"hide-footer\":\"\"},scopedSlots:_vm._u([{key:\"modal-title\",fn:function(){return [_vm._v(\" Your favorite products \")]},proxy:true}]),model:{value:(_vm.modalShow),callback:function ($$v) {_vm.modalShow=$$v},expression:\"modalShow\"}},[_c('div',{staticClass:\"d-block text-center\"},[_c('b-table',{staticStyle:{\"padding\":\"5px\"},attrs:{\"striped\":\"\",\"hover\":\"\",\"items\":_vm.cookieProducts,\"fields\":['name', { key: 'edit', label: 'Edit' }]},scopedSlots:_vm._u([{key:\"cell(edit)\",fn:function(row){return [_c('font-awesome-icon',{staticClass:\"delete-icon\",attrs:{\"icon\":\"times\"},on:{\"click\":function($event){return _vm.setFavorite(row.item)}}})]}}])})],1),_c('b-button',{staticClass:\"mt-3\",attrs:{\"block\":\"\",\"variant\":\"success\"},on:{\"click\":_vm.sendMail}},[_vm._v(\"Request information from Foodin\")]),_c('b-button',{staticClass:\"mt-3\",attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.$bvModal.hide('bv-modal-example')}}},[_vm._v(\"Close\")])],1),_c('router-view',{key:_vm.$route.fullPath})],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\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport ProductApi from '@/services/productService';\nimport { Product } from '@/types/types';\n\n@Component({\n \n})\nexport default class HomePage extends Vue {\n //Data\n cookieProducts: Product[] = [];\n modalShow: boolean = false;\n user = null;\n //End Data\n\n //Create and Mount\n async created() { }\n\n async mounted() {\n // every time a route is changed refresh the user details\n await this.refreshUser();\n }\n //Finish Create and Mount\n\n //Methods\n async refreshUser() {\n // get new user details and store it to user object\n this.user = await this.$auth.getUser();\n }\n\n async getAllCookies() {\n let keyName = 'favorite-foodin-products'\n let cookieValue = this.$cookies.get(keyName);\n\n if (cookieValue) {\n let favoriteProducts = JSON.parse(cookieValue);\n\n favoriteProducts = favoriteProducts.filter(function (el: string) {\n return el != null;\n });\n\n if (favoriteProducts.length > 0) {\n this.cookieProducts = await ProductApi.GetProductsByProductIds(favoriteProducts);\n } else {\n this.cookieProducts = [];\n }\n }\n }\n\n async setFavorite(product: Product) {\n var keyName = 'favorite-foodin-products'\n var cookieValue = this.$cookies.get(keyName);\n var newCookie = []\n\n //Check if the cookie is already set\n if (cookieValue) {\n //Remove if value was already in there\n newCookie = JSON.parse(cookieValue)\n\n var index = newCookie.indexOf(product.id);\n newCookie.splice(index, 1);\n\n let objIndex = this.cookieProducts.findIndex((obj => obj.id == product.id));\n this.cookieProducts.splice(objIndex, 1);\n }\n\n this.$cookies.set(keyName, JSON.stringify(newCookie));\n }\n\n async openModal() {\n this.modalShow = !this.modalShow;\n }\n\n async sendMail() {\n let body: string;\n body = 'I would like some more information regarding the following products:';\n let products = this.cookieProducts.map(function (item) {\n let productNumber = item['number'];\n if (productNumber) {\n productNumber = productNumber.replace('&', '%26');\n }\n\n return '%0D%0A' + '- [' + productNumber + '] ' + item['name'].replace('&', '%26') + ' (' + item['category']['name'].replace('&', '%26') + ')';\n });\n\n body = body.concat('%0D%0A', products.toString());\n\n window.open('mailto:info@foodin.nl?subject=Information%20Request&body=' + body);\n }\n\n getBaseUrl() {\n return window.location.origin;\n }\n//End Methods\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=132fcbd0&\"\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=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\r\nimport VueRouter, { RouteConfig } from 'vue-router'\r\nimport Auth from '@okta/okta-vue';\r\n\r\nconst config = {\r\n issuer: 'https://dev-324804.okta.com/oauth2/default',\r\n clientId: '0oa1r706n2ctWgO4a4x7',\r\n //redirectUri: 'http://localhost:50597/implicit/callback',\r\n redirectUri: 'https://foodin.nl/implicit/callback',\r\n scopes: ['openid', 'profile', 'email']\r\n}\r\n\r\nVue.use(Auth, config);\r\nVue.use(VueRouter)\r\n\r\nconst routes: Array = [\r\n {\r\n path: '/',\r\n name: 'Home',\r\n component: () => import('../views/Home.vue')\r\n },\r\n {\r\n path: '/categories',\r\n name: 'Categories',\r\n component: () => import('../views/Categories.vue'),\r\n meta: {\r\n requiresAuth: true\r\n }\r\n },\r\n {\r\n path: '/category/:id',\r\n name: 'Category',\r\n component: () => import('../views/Category.vue')\r\n },\r\n {\r\n path: '/product/:id',\r\n name: 'Product',\r\n component: () => import('../views/Product.vue')\r\n },\r\n {\r\n path: '/dashboard',\r\n name: 'Dashboard',\r\n component: () => import('../views/Dashboard.vue'),\r\n meta: {\r\n requiresAuth: true,\r\n }\r\n },\r\n {\r\n path: '/implicit/callback',\r\n component: Auth.handleCallback()\r\n },\r\n]\r\n\r\nconst router = new VueRouter({\r\n mode: 'history',\r\n base: process.env.BASE_URL,\r\n routes\r\n})\r\n\r\n//router.beforeEach(Vue.prototype.$auth.authRedirectGuard());\r\n\r\nexport default router\r\n","import Vue from 'vue'\r\nimport App from './App.vue'\r\nimport router from './router'\r\nimport firebase from 'firebase'\r\n\r\n//bootstrap\r\nimport { BootstrapVue } from 'bootstrap-vue'\r\n\r\nimport 'bootstrap/dist/css/bootstrap.css'\r\nimport 'bootstrap-vue/dist/bootstrap-vue.css'\r\n\r\nVue.use(BootstrapVue);\r\n//End bootstrap\r\n\r\n//FontAwesome\r\nimport { library } from '@fortawesome/fontawesome-svg-core'\r\nimport {\r\n faCircle, faHeart, faStar, faPhone, faEnvelope, faUtensilSpoon,\r\n faLeaf, faTint, faCubes, faCheck, faPencilAlt, faTimes,\r\n faCertificate, faArrowUp, faArrowDown\r\n} from '@fortawesome/free-solid-svg-icons'\r\nimport { FontAwesomeIcon, FontAwesomeLayers, FontAwesomeLayersText } from '@fortawesome/vue-fontawesome'\r\n\r\nlibrary.add(faCircle);\r\nlibrary.add(faHeart);\r\nlibrary.add(faStar);\r\nlibrary.add(faPhone);\r\nlibrary.add(faEnvelope);\r\nlibrary.add(faUtensilSpoon);\r\nlibrary.add(faLeaf);\r\nlibrary.add(faTint);\r\nlibrary.add(faCubes);\r\nlibrary.add(faCheck);\r\nlibrary.add(faPencilAlt);\r\nlibrary.add(faTimes);\r\nlibrary.add(faCertificate);\r\nlibrary.add(faArrowUp);\r\nlibrary.add(faArrowDown);\r\nVue.component('font-awesome-icon', FontAwesomeIcon)\r\nVue.component('font-awesome-layers', FontAwesomeLayers)\r\nVue.component('font-awesome-layers-text', FontAwesomeLayersText)\r\n//End FontAwesome\r\n\r\n//Vue Cookies\r\nimport VueCookies from 'vue-cookies'\r\nVue.use(VueCookies);\r\n\r\nVue.$cookies.config('28d')\r\n//End Vue Cookies\r\n\r\nVue.config.productionTip = false\r\n\r\nfirebase.initializeApp({\r\n apiKey: \"AIzaSyBzcWoiPIVDO3iOAxuKEK-T3k7q2y1SACM\",\r\n authDomain: \"foodin-storage.firebaseapp.com\",\r\n projectId: \"foodin-storage\",\r\n storageBucket: \"foodin-storage.appspot.com\",\r\n messagingSenderId: \"1077778940128\",\r\n appId: \"1:1077778940128:web:d1c6a9fb676768ecbe1085\",\r\n measurementId: \"G-KZ9YT2HPRF\"\r\n})\r\n\r\nnew Vue({\r\n router,\r\n render: h => h(App)\r\n}).$mount('#app')\r\n","module.exports = __webpack_public_path__ + \"img/Foodin_Brand_Clean@4x.43ca490d.png\";"],"sourceRoot":""}