{"version":3,"file":"js/app.7ade1003.js","mappings":"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","sources":["webpack://jakob/./src/App.vue","webpack://jakob/./src/components/disclaimer.vue","webpack://jakob/src/components/disclaimer.vue","webpack://jakob/./src/components/disclaimer.vue?6570","webpack://jakob/./src/components/disclaimer.vue?313d","webpack://jakob/./src/components/NavBar.vue","webpack://jakob/src/components/NavBar.vue","webpack://jakob/./src/components/NavBar.vue?5ff5","webpack://jakob/./src/components/NavBar.vue?3457","webpack://jakob/src/App.vue","webpack://jakob/./src/App.vue?b495","webpack://jakob/./src/App.vue?0e40","webpack://jakob/./src/views/Home.vue","webpack://jakob/src/views/Home.vue","webpack://jakob/./src/views/Home.vue?c3e9","webpack://jakob/./src/views/Home.vue?8611","webpack://jakob/./src/views/NotYetImplemented.vue","webpack://jakob/src/views/NotYetImplemented.vue","webpack://jakob/./src/views/NotYetImplemented.vue?ba75","webpack://jakob/./src/views/NotYetImplemented.vue?8757","webpack://jakob/./src/router/index.js","webpack://jakob/./src/store/index.js","webpack://jakob/./src/plugins/vuetify.js","webpack://jakob/./src/main.js","webpack://jakob/webpack/bootstrap","webpack://jakob/webpack/runtime/chunk loaded","webpack://jakob/webpack/runtime/compat get default export","webpack://jakob/webpack/runtime/define property getters","webpack://jakob/webpack/runtime/ensure chunk","webpack://jakob/webpack/runtime/get javascript chunk filename","webpack://jakob/webpack/runtime/get mini-css chunk filename","webpack://jakob/webpack/runtime/global","webpack://jakob/webpack/runtime/hasOwnProperty shorthand","webpack://jakob/webpack/runtime/load script","webpack://jakob/webpack/runtime/make namespace object","webpack://jakob/webpack/runtime/publicPath","webpack://jakob/webpack/runtime/css loading","webpack://jakob/webpack/runtime/jsonp chunk loading","webpack://jakob/webpack/startup"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-app',[(_vm.notStartPage)?_c('nav-bar'):_vm._e(),_c('v-main',{staticClass:\"fill-height\"},[_c('router-view'),_c('disclaimer')],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-snackbar',{scopedSlots:_vm._u([{key:\"action\",fn:function({ attrs }){return [_c('v-btn',_vm._b({attrs:{\"text\":\"\"},on:{\"click\":function($event){_vm.snackbar = false}}},'v-btn',attrs,false),[_vm._v(\" Close \")])]}}]),model:{value:(_vm.snackbar),callback:function ($$v) {_vm.snackbar=$$v},expression:\"snackbar\"}},[_vm._v(\" This website uses cookies to enable Google Analytics. By continuing to use this website you agree to Google storing cookies on your computer. \"),_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":_vm.hideDisclaimer}},[_vm._v(\" more info \")])],1),_c('v-overlay',{attrs:{\"value\":_vm.showDisclaimer,\"z-index\":\"14\"}},[_c('v-card',[_c('v-card-title',[_vm._v(\" Use of cookies to enable Google Analytics \")]),_c('v-card-text',[_vm._v(\" This website uses Google Analytics, a web analytics service provided by Google, Inc. (“Google”). Google Analytics uses “cookies”, which are text files placed on your computer, to help the website analyze how users use the site. The information generated by the cookie about your use of the website (including your IP address) will be transmitted to and stored by Google on servers in the United States. In case of activation of the IP anonymization, Google will truncate/anonymize the last octet of the IP address for Member States of the European Union as well as for other parties to the Agreement on the European Economic Area. Only in exceptional cases, the full IP address is sent to and shortened by Google servers in the USA. On behalf of the website provider Google will use this information for the purpose of evaluating your use of the website, compiling reports on website activity for website operators and providing other services relating to website activity and internet usage to the website provider. Google will not associate your IP address with any other data held by Google. You may refuse the use of cookies by selecting the appropriate settings on your browser. However, please note that if you do this, you may not be able to use the full functionality of this website. Furthermore you can prevent Google’s collection and use of data (cookies and IP address) by downloading and installing the browser plug-in available under https://tools.google.com/dlpage/gaoptout?hl=en-GB. \")]),_c('v-card-actions',[_c('v-btn',{on:{\"click\":_vm.hideDisclaimer}},[_vm._v(\" close \")])],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./disclaimer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./disclaimer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./disclaimer.vue?vue&type=template&id=f392ef18\"\nimport script from \"./disclaimer.vue?vue&type=script&lang=js\"\nexport * from \"./disclaimer.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return _c('v-app-bar',[_c('v-btn',{attrs:{\"to\":{ name: 'Home' },\"fab\":_vm.$vuetify.breakpoint.smAndDown,\"small\":\"\",\"absolute\":\"\"}},[_c('v-icon',[_vm._v(\"mdi-arrow-left\")]),(!_vm.$vuetify.breakpoint.smAndDown)?_c('span',[_vm._v(\"back\")]):_vm._e()],1),_c('v-row',[_c('v-col',{staticClass:\"pa-0 ma-0 d-flex flex-row-reverse\",attrs:{\"cols\":\"6\"}},[_c('v-menu',{attrs:{\"offset-x\":\"\",\"left\":\"\",\"rounded\":\"l-lg r-0\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-sheet',_vm._g(_vm._b({staticClass:\"my-auto mx-0 pa-2 white rounded-l text-right\",class:_vm.select == 'jakob' ? 'font-weight-bold' : '',attrs:{\"width\":\"60px\",\"elevation\":\"3\"},on:{\"click\":function($event){return _vm.changeSelect('jakob')}}},'v-sheet',attrs,false),on),[_vm._v(\" jakob \")])]}}])},[_c('v-list',{staticClass:\"ma-0 pa-0 white\",class:_vm.$vuetify.breakpoint.mdAndUp ? 'd-flex align-start' : '',attrs:{\"nav\":\"\"}},_vm._l((_vm.jakobMenu),function(m,index){return _c('v-list-item',{key:index,staticClass:\"ma-0\",staticStyle:{\"min-height\":\"0px !important\",\"height\":\"40px !important\"},attrs:{\"height\":\"auto\",\"to\":m.link}},[_vm._v(\" \"+_vm._s(m.title)+\" \")])}),1)],1)],1),_c('v-col',{staticClass:\"pa-0 ma-0 d-flex\",attrs:{\"cols\":\"6\"}},[_c('v-menu',{attrs:{\"offset-x\":\"\",\"rounded\":\"r-lg l-0\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-sheet',_vm._g(_vm._b({staticClass:\"my-auto mx-0 pa-2 black white--text rounded-r\",class:_vm.select == 'design' ? 'font-weight-bold' : '',attrs:{\"width\":\"60px\",\"elevation\":\"3\"},on:{\"click\":function($event){return _vm.changeSelect('design')}}},'v-sheet',attrs,false),on),[_vm._v(\" design \")])]}}])},[_c('v-list',{staticClass:\"ma-0 pa-0 black\",class:_vm.$vuetify.breakpoint.mdAndUp ? 'd-flex align-start' : '',attrs:{\"nav\":\"\"}},_vm._l((_vm.designMenu),function(m,index){return _c('v-list-item',{key:index,staticClass:\"ma-0 px-2 white--text\",staticStyle:{\"min-height\":\"0px !important\",\"height\":\"40px !important\",\"width\":\"80px\"},attrs:{\"height\":\"auto\",\"to\":m.link}},[_vm._v(\" \"+_vm._s(m.title)+\" \")])}),1)],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./NavBar.vue?vue&type=template&id=f321a094\"\nimport script from \"./NavBar.vue?vue&type=script&lang=js\"\nexport * from \"./NavBar.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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","import mod from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=99fc2ea4\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=99fc2ea4&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return _c('v-row',{staticClass:\"ma-0 pa-0\",staticStyle:{\"height\":\"100%\"}},[_c('v-col',{staticClass:\"ma-0 pa-0 align-center\",staticStyle:{\"position\":\"relative\"},attrs:{\"fill-height\":\"\",\"cols\":_vm.jakobCols}},[_c('transition',{attrs:{\"name\":\"fade\"}},[_c('v-img',{key:_vm.jakobImage.url,staticStyle:{\"height\":\"100%\",\"max-height\":\"100%\",\"position\":\"fixed\"},attrs:{\"src\":_vm.jakobImage.url,\"alt\":_vm.jakobImage.description,\"lazy-src\":_vm.jakobImage.thumbUrl,\"cover\":\"\",\"position\":\"center center\"},on:{\"click\":function($event){_vm.select = null}}})],1),_c('v-row',{staticStyle:{\"height\":\"100%\"},attrs:{\"align\":_vm.portrait ? 'end' : 'center',\"justify\":_vm.portrait ? 'center' : 'end',\"no-gutters\":\"\"}},[_c('v-menu',{attrs:{\"offset-x\":!_vm.portrait,\"left\":!_vm.portrait,\"top\":_vm.portrait,\"offset-y\":_vm.portrait,\"eager\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-sheet',_vm._g(_vm._b({class:[\n 'my-auto',\n 'mx-0',\n 'pa-2',\n 'white',\n 'black--text',\n 'text-md-h1',\n 'text-h3',\n _vm.portrait ? 'rounded-t' : 'rounded-l',\n ],style:(_vm.portrait\n ? 'position:absolute;'\n : 'position:absolute; right:0px;'),on:{\"click\":function($event){_vm.select = 'jakob'}}},'v-sheet',attrs,false),on),[_vm._v(\" jakob \")])]}}])},[_c('v-list',_vm._l((_vm.jakobMenu),function(item,index){return _c('v-list-item',{key:index,attrs:{\"to\":item.link},on:{\"mouseover\":function($event){return _vm.setJakobImage(item.image)}}},[_c('v-list-item-title',{staticClass:\"pa-5 text-md-h3 text-h6\"},[_vm._v(\" \"+_vm._s(item.title)+\" \")])],1)}),1)],1),_c('v-sheet',{staticClass:\"homeImageText ma-1 pa-1 white text--black text-caption\",style:(_vm.portrait ? 'top:0px; bottom:auto; right:0px;' : 'left:0px;'),attrs:{\"absolute\":\"\",\"rounded\":\"\",\"elevation\":\"3\"}},[_vm._v(\" \"+_vm._s(_vm.jakobImage.description)+\" \")])],1)],1),_c('v-col',{staticClass:\"ma-0 pa-0\",staticStyle:{\"background-color\":\"white\"},attrs:{\"fill-height\":\"\",\"cols\":_vm.designCols}},[_c('transition',{attrs:{\"name\":\"fade\"}},[_c('v-img',{key:_vm.designImage.url,staticStyle:{\"height\":\"100%\",\"max-height\":\"100%\",\"position\":\"fixed\"},attrs:{\"src\":_vm.designImage.url,\"alt\":_vm.designImage.description,\"lazy-src\":_vm.designImage.thumbUrl,\"cover\":\"\",\"position\":\"center center\"},on:{\"click\":function($event){_vm.select = null}}})],1),_c('v-row',{staticStyle:{\"height\":\"100%\"},attrs:{\"align\":_vm.portrait ? 'start' : 'center',\"justify\":_vm.portrait ? 'center' : 'start',\"no-gutters\":\"\"}},[_c('v-menu',{attrs:{\"offset-x\":!_vm.portrait,\"offset-y\":_vm.portrait,\"bottom\":_vm.portrait},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-sheet',_vm._g(_vm._b({class:[\n _vm.portrait ? '' : 'my-auto',\n 'mx-0 pa-2',\n 'black',\n 'white--text',\n 'text-md-h1',\n 'text-h3',\n _vm.portrait ? 'rounded-b' : 'rounded-r',\n ],staticStyle:{\"z-index\":\"10\"},on:{\"click\":function($event){_vm.select = 'design'}}},'v-sheet',attrs,false),on),[_vm._v(\" design \")])]}}])},[_c('v-list',{staticClass:\"black white--text\"},_vm._l((_vm.designMenu),function(item,index){return _c('v-list-item',{key:index,attrs:{\"to\":item.link},on:{\"mouseover\":function($event){return _vm.setDesignImage(item.image)}}},[_c('v-list-item-title',{staticClass:\"black white--text text-md-h3 text-h6 pa-5\"},[_vm._v(\" \"+_vm._s(item.title)+\" \")])],1)}),1)],1),_c('v-sheet',{staticClass:\"homeImageText ma-1 pa-1 white text--black text-caption\",staticStyle:{\"right\":\"0px\"},attrs:{\"absolute\":\"\",\"rounded\":\"\",\"elevation\":\"3\"}},[_vm._v(\" \"+_vm._s(_vm.designImage.description)+\" \")])],1)],1),_c('v-dialog',{attrs:{\"hide-overlay\":\"\",\"persistent\":\"\",\"width\":\"300\"},model:{value:(_vm.showContact),callback:function ($$v) {_vm.showContact=$$v},expression:\"showContact\"}},[_c('v-card',{staticClass:\"pa-10\"},[_c('v-car-title',[_vm._v(\" Contact: \")]),_c('v-card-text',{staticClass:\"pa-0\"},[_vm._v(\" Jakob R. Müller \"),_c('br'),_vm._v(\" jakobramonmueller@gmail.com \"),_c('br'),_vm._v(\" +46 767 602143 \"),_c('v-divider'),_c('p',{staticClass:\"text-caption\"},[_vm._v(\" Jakob R. Müller is the author, and as such responsible, for all contents on this website if not specifically declared differently. \")])],1),_c('v-card-actions',[_c('v-btn',{attrs:{\"to\":{ name: 'Home' }}},[_vm._v(\" close \")]),_c('v-btn',{on:{\"click\":_vm.showDisclaimer}},[_vm._v(\" Data privacy \")])],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=13cfbabf&scoped=true\"\nimport script from \"./Home.vue?vue&type=script&lang=js\"\nexport * from \"./Home.vue?vue&type=script&lang=js\"\nimport style0 from \"./Home.vue?vue&type=style&index=0&id=13cfbabf&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"13cfbabf\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"pa-0 ma-0\",staticStyle:{\"width\":\"100vw\",\"height\":\"100vh\",\"max-width\":\"100000px\"}},[_c('v-img',{staticClass:\"ma-0\",staticStyle:{\"height\":\"100%\",\"width\":\"100%\"},attrs:{\"src\":_vm.notYetImplemented.file,\"cover\":\"\",\"position\":\"center center\"}},[_c('v-sheet',{staticClass:\"ma-5 pa-5 white text--black text-caption\",staticStyle:{\"left\":\"0px\"},attrs:{\"absolute\":\"\",\"rounded\":\"\",\"elevation\":\"3\"}},[_vm._v(\" This page is currently still under construction. \"),_c('v-btn',{attrs:{\"to\":{ name: 'Home' }}},[_vm._v(\" back to home \")])],1),_c('v-sheet',{staticClass:\"homeImageText ma-5 pa-5 white text--black text-caption\",staticStyle:{\"left\":\"0px\"},attrs:{\"absolute\":\"\",\"rounded\":\"\",\"elevation\":\"3\"}},[_vm._v(\" \"+_vm._s(_vm.notYetImplemented.description)+\" \")])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./NotYetImplemented.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./NotYetImplemented.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./NotYetImplemented.vue?vue&type=template&id=4ffe743c&scoped=true\"\nimport script from \"./NotYetImplemented.vue?vue&type=script&lang=js\"\nexport * from \"./NotYetImplemented.vue?vue&type=script&lang=js\"\nimport style0 from \"./NotYetImplemented.vue?vue&type=style&index=0&id=4ffe743c&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4ffe743c\",\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\nimport VueRouter from \"vue-router\";\nimport Home from \"../views/Home.vue\";\nimport NotYetImplemented from \"../views/NotYetImplemented.vue\";\n\nVue.use(VueRouter);\n\nconst routes = [\n {\n path: \"/\",\n name: \"Home\",\n component: Home,\n },\n {\n path: \"/vita\",\n name: \"vita\",\n // route level code-splitting\n // this generates a separate chunk (about.[hash].js) for this route\n // // which is lazy-loaded when the route is visited.\n component: () =>\n import(/* webpackChunkName: \"about\" */ \"../views/vita.vue\"),\n // component: NotYetImplemented\n },\n {\n path: \"/academic\",\n name: \"academic\",\n // route level code-splitting\n // this generates a separate chunk (about.[hash].js) for this route\n // // which is lazy-loaded when the route is visited.\n component: () =>\n import(/* webpackChunkName: \"about\" */ \"../views/academic.vue\"),\n // component: NotYetImplemented\n },\n {\n path: \"/travel\",\n name: \"travel\",\n // route level code-splitting\n // this generates a separate chunk (about.[hash].js) for this route\n // // which is lazy-loaded when the route is visited.\n component: () =>\n import(/* webpackChunkName: \"about\" */ \"../views/travel.vue\"),\n // component: NotYetImplemented\n },\n {\n path: \"/contact\",\n name: \"contact\",\n props: { showContact: true },\n // route level code-splitting\n // this generates a separate chunk (about.[hash].js) for this route\n // // which is lazy-loaded when the route is visited.\n // component: () =>\n // import(/* webpackChunkName: \"about\" */ \"../views/NotYetImplemented.vue\"),\n component: Home,\n },\n {\n path: \"/van\",\n name: \"van\",\n // route level code-splitting\n // this generates a separate chunk (about.[hash].js) for this route\n // // which is lazy-loaded when the route is visited.\n component: () =>\n import(/* webpackChunkName: \"about\" */ \"../views/vanBuild.vue\"),\n // component: NotYetImplemented\n },\n {\n path: \"/fabric\",\n name: \"fabric\",\n // route level code-splitting\n // this generates a separate chunk (about.[hash].js) for this route\n // // which is lazy-loaded when the route is visited.\n component: () =>\n import(/* webpackChunkName: \"about\" */ \"../views/fabric.vue\"),\n // component: NotYetImplemented\n },\n {\n path: \"/sketches\",\n name: \"sketches\",\n // route level code-splitting\n // this generates a separate chunk (about.[hash].js) for this route\n // // which is lazy-loaded when the route is visited.\n component: () =>\n import(/* webpackChunkName: \"about\" */ \"../views/sketches.vue\"),\n },\n {\n path: \"/web\",\n name: \"web\",\n // route level code-splitting\n // this generates a separate chunk (about.[hash].js) for this route\n // // which is lazy-loaded when the route is visited.\n // component: () =>\n // import(/* webpackChunkName: \"about\" */ \"../views/NotYetImplemented.vue\"),\n component: NotYetImplemented,\n },\n {\n path: \"\",\n name: \"web\",\n // route level code-splitting\n // this generates a separate chunk (about.[hash].js) for this route\n // // which is lazy-loaded when the route is visited.\n // component: () =>\n // import(/* webpackChunkName: \"about\" */ \"../views/NotYetImplemented.vue\"),\n component: NotYetImplemented,\n },\n {\n path: \"/404\",\n alias: \"*\",\n name: \"notFound\",\n component: () =>\n import(/* webpackChunkName: \"notFound\" */ \"../views/notFound.vue\"),\n },\n];\n\nconst router = new VueRouter({\n mode: \"history\",\n base: process.env.BASE_URL,\n routes,\n});\n\nexport default router;\n","import Vue from \"vue\";\nimport Vuex from \"vuex\";\n\nfunction random_s4() {\n // returns a random 4 digit alphanumeric\n return Math.floor((1 + Math.random()) * 0x10000)\n .toString(16)\n .substring(1);\n}\n\nVue.use(Vuex);\n\nconst dataStore = {\n state: {\n // START IMAGES -----------------------------\n jakobImages: [\n {\n file: \"https://files.jakob.design/img/jakob/GOPR2111_1620940001401.jpg\",\n description: \"Rock climbing Patos de la Moncloe 7b+, in Forada, Spain\",\n image: \"slug\",\n },\n {\n file: \"https://files.jakob.design/img/jakob/DSC06336.jpg\",\n description: \"In front of Alicante, Spain. Photo by Elena Malz\",\n },\n {\n file: \"https://files.jakob.design/img/jakob/DSC04713.jpg\",\n description: \"In Åre, Sweden. Photo by Elena Malz\",\n },\n {\n file: \"https://files.jakob.design/img/jakob/20210224_114603.jpg\",\n description: \"In Åre, Sweden. Photo by Elena Malz\",\n },\n ],\n designImages: [\n // {\n // file: \"https://files.jakob.design/img/design/20200905_153512.jpg\",\n // description: \"Cardboard model and sketches for a van conversion\",\n // },\n // {\n // file: \"https://files.jakob.design/img/design/DSC05329.jpg\",\n // description:\n // \"Photograph of an acrobat in the Ciudad des Artes y Sciences, Valencia, Spain\",\n // },\n // {\n // file: \"https://files.jakob.design/img/design/20200606_234943.jpg\",\n // description: \"Fabric case for camera, render and final product\",\n // },\n // {\n // file: \"https://files.jakob.design/img/design/20191108_223432.jpg\",\n // description: \"Render of a sailboat in pencil, marker and digital\",\n // },\n // {\n // file: \"https://files.jakob.design/img/design/20200525_231452.jpg\",\n // description: \"Fabric cases for camera and tele-lens\",\n // },\n ],\n // MENUS -------------------------------------------------------------\n designMenu: [\n {\n title: \"van build\",\n link: { name: \"van\" },\n image: \"van_sunset\",\n },\n {\n title: \"fabric\",\n link: { name: \"fabric\" },\n image: \"2camerabags\",\n },\n {\n title: \"sketches\",\n link: { name: \"sketches\" },\n image: \"sketch_boat\",\n },\n {\n title: \"web\",\n link: { name: \"web\" },\n image: \"coffee\",\n },\n ],\n jakobMenu: [\n {\n title: \"vita\",\n link: { name: \"vita\" },\n image: \"jakob_snowcoffee\",\n },\n {\n title: \"academic\",\n link: { name: \"academic\" },\n image: \"jakob_academic\",\n },\n {\n title: \"travel\",\n link: { name: \"travel\" },\n image: \"jakob_travel\",\n },\n {\n title: \"contact\",\n link: { name: \"contact\" },\n image: \"jakob_contact\",\n },\n ],\n emptyCoffeePic: {\n url: \"https://files.jakob.design/img/20210624_091553.jpg\",\n file: \"https://files.jakob.design/img/20210624_091553.jpg\",\n description:\n \"This element has sadly not yet been implemented. But we are working on it as soon as we have coffee again...\",\n },\n pictures: [],\n },\n getters: {\n jakobImageRandom: (state) => {\n // returns a random picture url from jakobImages\n let index = Math.floor(Math.random() * Number(state.jakobImages.length));\n console.log(index);\n return state.jakobImages[index];\n },\n designImageRandom: (state) => {\n // returns a random picture url from jakobImages\n let index = Math.floor(Math.random() * Number(state.designImages.length));\n console.log(index);\n console.log(index);\n return state.designImages[index];\n },\n designMenu: (state) => {\n return state.designMenu;\n },\n jakobMenu: (state) => {\n return state.jakobMenu;\n },\n notYetImplemented: (state) => {\n return state.emptyCoffeePic;\n },\n designImages: (state) => {\n return state.jakobImages;\n },\n // pictures from DB\n pictureBySlug: (state) => (slug) => {\n let img = state.pictures.find((p) => p.slug == slug);\n // if (img) {\n return img;\n // } else {\n // return state.emptyCoffeePic;\n // }\n },\n pictureByKey: (state) => (key) => {\n return state.pictures.find((p) => p.key == key);\n },\n picturesByCategory: (state) => (cat) => {\n return state.pictures.filter((p) => p.category == cat);\n },\n },\n mutations: {\n setAllPictures(state, payload) {\n console.log(payload);\n state.pictures = payload;\n },\n },\n actions: {\n async loadData({ dispatch }) {\n await dispatch(\"getPictures\");\n },\n async getPictures({ commit, dispatch }) {\n console.log(\"about to load all pictures\");\n let allPictures = await dispatch(\n \"apiCall\",\n {\n url: \"images/\",\n method: \"GET\",\n },\n { root: true }\n );\n // in case error, so it's not \"undefined\" but empty array\n if (!allPictures) {\n allPictures = [];\n }\n commit(\"setAllPictures\", allPictures);\n console.log(\"loaded all pictures\");\n },\n },\n modules: {},\n};\n\nexport default new Vuex.Store({\n state: {\n loginSessionDuration: 30 * 60 * 1000, // time until logout\n token: null,\n backendURL: \"https://jakobdesigndeta-1-p2611277.deta.app/\",\n // backendURL: \"https://4ohx4r.deta.dev/\", //old deta server\n //backendURL: 'http://127.0.0.1:8000/',\n messages: [],\n // {\n // type: warning, error or info (info standard)\n // message: String,\n // component: string - component name, default 'general'\n // id: 4-digit-random-alphanumerical\n // }\n loading: false, // bool for login loading process, should be reworked\n APIloaded: false, // indicates whether the backend data has been loaded\n apps: [], // which apps are used in this frontend ; filled from backend based on settings\n dataDisclaimer: false,\n },\n getters: {\n getUser: (state) => {\n // returns the user object as set from backend\n return state.user;\n },\n getUserScope: (state) => {\n if (state.user) {\n return state.user.scopes;\n } else {\n return null;\n }\n },\n getAuthToken: (state) => {\n if (state.token) {\n return state.token;\n } else {\n return {\n token: sessionStorage.getItem(\"access_token\"),\n token_type: sessionStorage.getItem(\"token_type\"),\n };\n }\n },\n loggedIn: (state, getters) => {\n // returns true or false\n let deltaT = state.loginSessionDuration;\n let token = getters.getAuthToken;\n\n if (\n // check if we have sessionStorage auth\n token.access_token &&\n token.token_type\n // check if the 30min session is over:\n // (sessionStorage.getItem(\"loginTime\") +deltaT) > Date.now()\n ) {\n console.log(\"found session storage auth\");\n return true;\n } else {\n console.log(\"login check failed\");\n console.log(sessionStorage.getItem(\"token_type\"));\n console.log(sessionStorage.getItem(\"access_token\"));\n console.log(sessionStorage.getItem(\"loginTime\") > Date.now() - deltaT);\n return false;\n }\n },\n getAllMessages: (state) => {\n // returns an array of all messages\n return state.messages;\n },\n getErrorsOfComponent: (state) => (componentName) => {\n // returns an array of all errors\n // used to display error messages in App.vue\n return state.messages.filter((e) => e.component == componentName);\n },\n isLoading: (state) => {\n return state.loading;\n },\n allApps: (state) => {\n return state.apps;\n },\n backendURL: (state) => {\n return state.backendURL;\n },\n showDisclaimer: (state) => {\n return state.dataDisclaimer;\n },\n },\n mutations: {\n logout(state) {\n // remove user-related objects from store:\n state.apps = [];\n state.user = null;\n sessionStorage.removeItem(\"token_type\");\n sessionStorage.removeItem(\"access_token\");\n this.commit(\"setAuthToken\", null);\n this.commit(\"goodNews\", \"you have been logged out!\");\n console.log(\"logged out...\");\n },\n setAuthToken(state, token) {\n state.token = token;\n if (token) {\n // sessionStorage.setItem(\"access_token\", token[\"access_token\"]);\n // sessionStorage.setItem(\"token_type\", token[\"token_type\"]);\n sessionStorage.setItem(\"loginTime\", Date.now());\n }\n },\n registerError(state, payload) {\n // registers a new error\n // payload either string as error message or object, see states\n\n // first generate an ID\n let errorID = random_s4();\n while (state.messages.filter((e) => e.id == errorID).length) {\n // generate new one\n errorID = random_s4();\n }\n\n var error = {\n type: \"error\",\n id: errorID,\n };\n if (typeof payload === String) {\n error.message = payload;\n error.component = \"general\";\n } else {\n error.message = payload.message;\n error.component = payload.component;\n }\n console.log(\"error by \" + error.component + \": \" + error.message);\n state.messages.push(error);\n },\n removeMessage(state, errorID) {\n // removes errors by array index; used in ErrorMessage.vue to dismiss not only the error but remove it\n state.messages = state.messages.filter((e) => e.id != errorID);\n },\n clearMessages(state, componentName) {\n // use with caution when component = ''\n // otherwise to clear all errors of a component, e.g. 'LoginProcess'\n if (componentName) {\n console.log(\"deleting errors of \" + componentName);\n state.messages = state.messages.filter(\n (e) => e.component != componentName\n );\n } else {\n console.log(\"deleting ALL messages\");\n state.messages = [];\n }\n },\n goodNews(state, payload) {\n console.log(\"good news: \" + payload);\n // first create ID\n let newsID = random_s4();\n while (state.messages.filter((e) => e.id == newsID).length) {\n // generate new one\n newsID = random_s4();\n }\n const news = {\n type: \"info\",\n component: \"\",\n message: payload,\n id: newsID,\n };\n state.messages.push(news);\n },\n startLoading(state) {\n state.loading = true;\n },\n stopLoading(state) {\n state.loading = false;\n },\n // USER MGMT\n setUserMe(state, payload) {\n state.user = payload;\n },\n // APPS\n addAPP(state, payload) {\n state.apps.push(payload);\n },\n removeAllApps(state) {\n state.apps = [];\n },\n showHideDisclaimer(state) {\n state.dataDisclaimer = !state.dataDisclaimer;\n },\n },\n actions: {\n async login({ getters, commit }, user) {\n commit(\"startLoading\"); // loading window\n // the login process\n commit(\"clearMessages\", \"loginProcess\");\n\n const backend = getters.backendURL;\n // create form body for oauth2 login scheme\n var formBody = [];\n for (var property in user) {\n var encodedKey = encodeURIComponent(property);\n var encodedValue = encodeURIComponent(user[property]);\n formBody.push(encodedKey + \"=\" + encodedValue);\n }\n formBody = formBody.join(\"&\");\n\n try {\n // commit to backend:\n const response = await fetch(backend + \"core/auth/token/\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/x-www-form-urlencoded;charset=UTF-8\",\n },\n body: formBody,\n });\n\n const status = response.status;\n const data = await response.json();\n\n // in case of success:\n if (status === 200) {\n commit(\"goodNews\", \"Log in sucessful!\");\n // success!\n let token = {\n access_token: data.access_token,\n token_type: data.token_type,\n };\n commit(\"setAuthToken\", token);\n console.log(\"set auth credentials to storage\");\n\n commit(\"stopLoading\");\n return true;\n } else if (status === 400) {\n commit(\"auth_error\");\n commit(\"registerError\", {\n message: \"Could not log in; wrong username or password\",\n component: \"loginProcess\",\n });\n // throw \"Could not log in; wrong username or password\";\n } else {\n console.error(status, data);\n commit(\"auth_error\");\n commit(\"registerError\", {\n message: \"error \" + status + \" please try again later\",\n component: \"loginProcess\",\n });\n // throw \"error \" + status + \" please try again later\";\n }\n } catch (error) {\n console.error(error);\n commit(\"auth_error\");\n commit(\"registerError\", {\n message: \"server error while logging in; please try again later\",\n component: \"loginProcess\",\n });\n // throw \"server error; please try again later\";\n }\n commit(\"stopLoading\");\n },\n async apiCall(\n { commit, getters },\n { url, query = [], method = \"GET\", objectData = null }\n ) {\n // generalised apiCall to the backend, can be used for GET/POST/PUT/DELETE\n commit(\"startLoading\"); // loading icon\n\n console.log(url);\n console.log(method);\n console.log(objectData);\n\n let returnValue = false;\n\n const backend = getters.backendURL;\n\n try {\n ////////////////////////////////////////////////////////////\n // assembling URL\n let urlToFetch = String(backend + url);\n if (query.length) {\n // console.log(query)\n urlToFetch = urlToFetch + \"?\";\n for (let q of query) {\n // console.log(q)\n urlToFetch = urlToFetch + q.query + \"=\" + q.value + \"&\";\n }\n }\n ////////////////////////////////////////////////////////////\n // assembling message data:\n let messageData = {};\n let messageHeader = {};\n if (getters.loggedIn) {\n const token = getters.getAuthToken;\n // in case of logged in we want to add authorisation\n // doesn't hurt if it is not requried...\n console.log(\"logged in, adding auth\");\n messageHeader = Object.assign(messageHeader, {\n Authorization: token.token_type + \" \" + token.access_token,\n });\n }\n if (method != \"GET\") {\n // If we have another method\n messageData = Object.assign(messageData, {\n method: method,\n });\n }\n\n if (objectData && method != \"GET\") {\n // need to add content to header\n messageHeader = Object.assign(messageHeader, {\n \"Content-Type\": \"application/json\",\n });\n // need to attach body\n messageData = Object.assign(messageData, {\n body: JSON.stringify(objectData),\n });\n }\n\n if (messageHeader) {\n // add header if not empty\n messageData = Object.assign(messageData, {\n headers: messageHeader,\n });\n }\n\n console.log(messageData);\n // console.log(settings.backend)\n console.log(urlToFetch);\n\n const response = await fetch(urlToFetch, messageData);\n\n //const data = await response.json()\n if (response.status === 200) {\n //console.log(response.json())\n returnValue = await response.json();\n console.log(returnValue);\n // console.log(returnValue)\n if (!returnValue) {\n // in case of e.g. deletion where there is only 200 as response\n returnValue = true;\n }\n } else {\n returnValue = await response.json();\n console.log(returnValue);\n commit(\"registerError\", {\n message:\n \"Error \" +\n response.status +\n \" from backend: \" +\n returnValue.detail,\n component: \"APIcall\",\n });\n }\n // } else if (response.status === 401) {\n // // commit(\"logout\");\n // commit(\"registerError\", {\n // message:\n // \"You are not logged in or don't have permission for this function\",\n // component: \"APIcall\",\n // });\n // } else if (response.status === 404) {\n // commit(\"registerError\", {\n // message: \"Element couold not be found\",\n // component: \"APIcall\",\n // });\n // returnValue = 404; // identifier for a 404\n // } else {\n // commit(\"registerError\", {\n // message:\n // \"Error \" +\n // response.status +\n // ' Could not perform API call for: url=\"' +\n // url +\n // '\", method=\"' +\n // method +\n // '\", data=\"' +\n // JSON.stringify(objectData) +\n // '\".',\n // component: \"APIcall\",\n // });\n // }\n } catch (error) {\n console.error(error);\n commit(\"registerError\", {\n message: \"APIcall produced an error: \" + error,\n component: \"APIcall\",\n });\n }\n commit(\"stopLoading\");\n return returnValue;\n },\n },\n modules: {\n data: dataStore,\n },\n});\n","import Vue from \"vue\";\nimport Vuetify from \"vuetify/lib/framework\";\n\nVue.use(Vuetify);\n\nexport default new Vuetify({});\n","import Vue from \"vue\";\nimport App from \"./App.vue\";\nimport router from \"./router\";\nimport store from \"./store\";\nimport vuetify from \"./plugins/vuetify\";\nimport VueGtag from \"vue-gtag\";\nimport VueMeta from \"vue-meta\";\n\nVue.config.productionTip = false;\n\n// Configuration VueAnalytics\nVue.use(VueGtag, {\n config: { id: \"G-E4WBJ63YQC\" },\n});\nVue.use(VueMeta, {\n // optional pluginOptions\n refreshOnceOnNavigation: true,\n});\n\nnew Vue({\n router,\n store,\n vuetify,\n render: (h) => h(App),\n}).$mount(\"#app\");\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + {\"594\":\"about\",\"722\":\"notFound\"}[chunkId] + \".\" + {\"594\":\"ab22023d\",\"722\":\"8e6b3e27\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + {\"594\":\"about\",\"722\":\"notFound\"}[chunkId] + \".\" + {\"594\":\"6ef247b7\",\"722\":\"0a96ceac\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"jakob:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = function(chunkId, fullhref, oldTag, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tif (__webpack_require__.nc) {\n\t\tlinkTag.nonce = __webpack_require__.nc;\n\t}\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && event.type;\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + errorType + \": \" + realHref + \")\");\n\t\t\terr.name = \"ChunkLoadError\";\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t524: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"594\":1,\"722\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t524: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\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\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkjakob\"] = self[\"webpackChunkjakob\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [504], function() { return __webpack_require__(9984); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["staticClass","staticRenderFns","render","attrs","on","snackbar","expression","_v","name","data","disclaimer","computed","showDisclaimer","$store","getters","methods","hideDisclaimer","commit","component","scopedSlots","_vm","fn","_c","key","staticStyle","link","m","select","mapGetters","changeSelect","components","NavBar","Disclaimer","metaInfo","title","titleTemplate","htmlAttrs","lang","amp","meta","charset","content","notStartPage","console","log","$route","path","beforeMount","dispatch","jakobImage","portrait","style","item","setJakobImage","designCols","designImage","designMenu","model","showContact","callback","jakobImageSlug","designImageSlug","isPortraitMode","props","default","jakobCols","pictureBySlug","imageSlideshow","jakobIndex","designIndex","menuItemsJ","jakobMenu","menuItemsD","image","setDesignImage","newIndexJ","length","newIndexD","imgSlug","handleOrientationChange","orientation","window","screen","type","$router","push","mounted","addEventListener","notYetImplemented","Vue","use","VueRouter","routes","Home","NotYetImplemented","alias","router","mode","base","process","random_s4","Math","floor","random","toString","substring","Vuex","dataStore","state","jakobImages","file","description","designImages","emptyCoffeePic","url","pictures","jakobImageRandom","index","Number","designImageRandom","slug","img","find","p","pictureByKey","picturesByCategory","cat","filter","category","mutations","setAllPictures","payload","actions","loadData","getPictures","allPictures","method","root","modules","loginSessionDuration","token","backendURL","messages","loading","APIloaded","apps","dataDisclaimer","getUser","user","getUserScope","scopes","getAuthToken","sessionStorage","getItem","token_type","loggedIn","deltaT","access_token","Date","now","getAllMessages","getErrorsOfComponent","componentName","e","isLoading","allApps","logout","removeItem","this","setAuthToken","setItem","registerError","errorID","id","error","String","message","removeMessage","clearMessages","goodNews","newsID","news","startLoading","stopLoading","setUserMe","addAPP","removeAllApps","showHideDisclaimer","login","backend","formBody","property","encodedKey","encodeURIComponent","encodedValue","join","response","fetch","headers","body","status","json","apiCall","query","objectData","returnValue","urlToFetch","q","value","messageData","messageHeader","Object","assign","Authorization","JSON","stringify","detail","Vuetify","config","productionTip","VueGtag","VueMeta","refreshOnceOnNavigation","store","vuetify","h","App","$mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","call","deferred","O","result","chunkIds","priority","notFulfilled","Infinity","i","fulfilled","j","keys","every","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","f","chunkId","Promise","all","reduce","promises","u","miniCssF","g","globalThis","Function","obj","prop","prototype","hasOwnProperty","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","target","head","appendChild","Symbol","toStringTag","createStylesheet","fullhref","oldTag","resolve","reject","linkTag","rel","nonce","onLinkComplete","errorType","realHref","href","err","Error","code","request","insertBefore","nextSibling","findStylesheet","existingLinkTags","tag","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","then","installedChunks","installedChunkData","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}