{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/general/ViewTransition.vue?73d1","webpack:///./src/home/views/Home.vue?005e","webpack:///./src/geowar/views/GeoWar.vue?9b40","webpack:///./src/general/view-transition-type.ts","webpack:///./src/App.vue?f531","webpack:///./src/general/ViewTransition.vue?67a2","webpack:///./src/general/ViewTransition.vue","webpack:///./src/general/ViewTransition.vue?7c8f","webpack:///./src/general/ViewTransition.vue?2e0b","webpack:///./src/App.vue","webpack:///./src/App.vue?4dbd","webpack:///./src/App.vue?4195","webpack:///./src/plugins/vuetify.ts","webpack:///./src/notan/views/Notan.vue?5e8c","webpack:///./src/general/Imprint.vue?eef7","webpack:///./src/general/Imprint.vue","webpack:///./src/notan/NotanLayout.vue?ad6a","webpack:///./src/general/GenericHeader.vue?e7a6","webpack:///./src/general/GenericHeader.vue","webpack:///./src/general/GenericHeader.vue?19f5","webpack:///./src/general/GenericHeader.vue?4290","webpack:///./src/general/GenericFooter.vue?cb83","webpack:///./src/general/GenericFooter.vue","webpack:///./src/general/GenericFooter.vue?6849","webpack:///./src/general/GenericFooter.vue?345d","webpack:///./src/notan/NotanLayout.vue","webpack:///./src/notan/NotanLayout.vue?4f24","webpack:///./src/notan/NotanLayout.vue?c6ad","webpack:///./src/notan/views/Notan.vue","webpack:///./src/notan/views/Notan.vue?58e7","webpack:///./src/notan/views/Notan.vue?31a0","webpack:///./src/notan/views/NotanPrivacy.vue?4c73","webpack:///./src/notan/views/NotanPrivacy.vue","webpack:///./src/api.ts","webpack:///./src/notan/views/NotanPrivacy.vue?e811","webpack:///./src/notan/views/NotanPrivacy.vue?2e88","webpack:///./src/notan/views/NotanContact.vue?a315","webpack:///./src/general/ContactForm.vue?b66a","webpack:///./src/general/ContactForm.vue","webpack:///./src/general/ContactForm.vue?78fc","webpack:///./src/general/ContactForm.vue?5aff","webpack:///./src/notan/views/NotanContact.vue","webpack:///./src/notan/views/NotanContact.vue?c761","webpack:///./src/notan/views/NotanContact.vue?2811","webpack:///./src/notan/views/NotanImprint.vue?295c","webpack:///./src/notan/views/NotanImprint.vue","webpack:///./src/notan/views/NotanImprint.vue?ddd7","webpack:///./src/notan/views/NotanImprint.vue?2e8a","webpack:///./src/home/views/Home.vue?a6ca","webpack:///./src/home/components/HomeFooter.vue?7a4e","webpack:///./src/home/components/HomeFooter.vue","webpack:///./src/home/components/HomeFooter.vue?a731","webpack:///./src/home/components/HomeFooter.vue?d494","webpack:///./src/home/components/SectionContact.vue?d0d0","webpack:///./src/home/components/SectionContainer.vue?5b0c","webpack:///./src/home/components/SectionContainer.vue","webpack:///./src/home/components/SectionContainer.vue?8411","webpack:///./src/home/components/SectionContainer.vue?e49b","webpack:///./src/home/components/SectionContact.vue","webpack:///./src/home/components/SectionContact.vue?237e","webpack:///./src/home/components/SectionContact.vue?c82b","webpack:///./src/home/components/SectionProjects.vue?334a","webpack:///./src/home/components/product-list.ts","webpack:///./src/home/components/SectionProjects.vue","webpack:///./src/home/components/SectionProjects.vue?dce5","webpack:///./src/home/components/SectionProjects.vue?18bb","webpack:///./src/home/components/SectionPortfolio.vue?5e82","webpack:///./src/home/components/SectionPortfolio.vue","webpack:///./src/home/components/SectionPortfolio.vue?2d95","webpack:///./src/home/components/SectionPortfolio.vue?3128","webpack:///./src/home/components/SectionAboutMe.vue?6e23","webpack:///./src/home/components/SectionAboutMe.vue","webpack:///./src/home/components/SectionAboutMe.vue?1568","webpack:///./src/home/components/SectionAboutMe.vue?a360","webpack:///./src/home/components/AnimatedText.vue?4ae1","webpack:///./src/home/components/AnimatedText.vue","webpack:///./src/home/views/Home.vue","webpack:///./src/home/components/AnimatedText.vue?4b3a","webpack:///./src/home/components/AnimatedText.vue?4199","webpack:///./src/home/views/Home.vue?2e18","webpack:///./src/home/views/Home.vue?9ca2","webpack:///./src/home/views/HomePrivacy.vue?35d8","webpack:///./src/home/HomeLayout.vue?71ce","webpack:///./src/home/HomeLayout.vue","webpack:///./src/home/HomeLayout.vue?d542","webpack:///./src/home/HomeLayout.vue?2810","webpack:///./src/home/views/HomePrivacy.vue","webpack:///./src/home/views/HomePrivacy.vue?09f6","webpack:///./src/home/views/HomePrivacy.vue?a632","webpack:///./src/home/views/HomeContact.vue?1d44","webpack:///./src/home/views/HomeContact.vue","webpack:///./src/home/views/HomeContact.vue?cc2d","webpack:///./src/home/views/HomeContact.vue?b906","webpack:///./src/home/views/HomeImprint.vue?c39b","webpack:///./src/home/views/HomeImprint.vue","webpack:///./src/home/views/HomeImprint.vue?3c93","webpack:///./src/home/views/HomeImprint.vue?a5ee","webpack:///./src/home/views/Special.vue?fa59","webpack:///./src/home/views/Special.vue","webpack:///./src/geowar/views/GeoWar.vue?8fb3","webpack:///./src/geowar/GeoWarLayout.vue?0b18","webpack:///./src/geowar/GeoWarLayout.vue","webpack:///./src/geowar/GeoWarLayout.vue?ac27","webpack:///./src/geowar/GeoWarLayout.vue?a97a","webpack:///./src/geowar/views/GeoWar.vue","webpack:///./src/geowar/views/GeoWar.vue?2c30","webpack:///./src/geowar/views/GeoWar.vue?bc47","webpack:///./src/geowar/views/GeoWarPrivacy.vue?b7c1","webpack:///./src/geowar/views/GeoWarPrivacy.vue","webpack:///./src/geowar/views/GeoWarPrivacy.vue?fe49","webpack:///./src/geowar/views/GeoWarPrivacy.vue?bd32","webpack:///./src/geowar/views/GeoWarContact.vue?071e","webpack:///./src/geowar/views/GeoWarContact.vue","webpack:///./src/geowar/views/GeoWarContact.vue?fcac","webpack:///./src/geowar/views/GeoWarContact.vue?f981","webpack:///./src/geowar/views/GeoWarImprint.vue?5c4b","webpack:///./src/geowar/views/GeoWarImprint.vue","webpack:///./src/geowar/views/GeoWarImprint.vue?d92f","webpack:///./src/geowar/views/GeoWarImprint.vue?ac2b","webpack:///./src/router.ts","webpack:///./src/main.ts","webpack:///./src/home/components/SectionProjects.vue?60a6","webpack:///./src/notan/views/Notan.vue?d82e"],"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","ViewTransitionType","_vm","this","_h","$createElement","_c","_self","attrs","homeVisited","on","visitHome","viewTransition","transition","_e","staticRenderFns","staticClass","class","wrapperClass","style","backgroundColor","transitionType","staticStyle","_v","HOME","NOTAN","GEOWAR","required","component","setTimeout","components","ViewTransition","VApp","use","type","$emit","scopedSlots","_u","fn","proxy","_m","script","ref","href","navigate","_t","hasHeader","_s","title","toHome","e","preventDefault","$router","VSheet","currYear","privacyUrl","linkClass","contactUrl","imprintUrl","Date","getFullYear","VFooter","$slots","header","GenericFooter","GenericHeader","VCard","NotanLayout","Imprint","VCol","VRow","Module","color","highlightColor","model","callback","$$v","expression","email","phone","content","captchaToken","captchaTheme","tokenVerified","sendContact","API_URL","makeRequest","method","route","body","params","url","URL","document","location","propName","undefined","search","URLSearchParams","toString","fetch","JSON","stringify","headers","response","status","text","parse","sendContactRequest","request","sent","token","captcha","VueHcaptcha","VBtn","VIcon","VTextField","VTextarea","ContactForm","repeatIntro","scrollToTop","isHighlighted","$event","scrollTo","mobile","_l","item","index","icon","hasIntro","marginTop","intro","items","SectionContainer","OpenType","product","logo","sub","coWorker","worker","badge","openProject","getOpenString","tech","img","width","reduce","prev","curr","library","tag","info","techMap","workerMap","niels","productMap","doppelSpalt","badges","java","swing","open","DOWNLOAD","finvote","kotlin","spring","postgreSQL","jwt","graphQL","javascript","react","alexander","jonas","OPEN","geowar","libGDX","nodeJS","mongoDB","socketIO","homepage","vue","typescript","rust","docker","localSend","flutter","dart","notan","sqlite","ovgu","sharkbench","sportbench","python","tailwind","stephaneum","mySQL","nginx","tictactoe","dominik","aleksa","libraryMap","slang","tags","pub","github","rhttp","refena","productList","libraryList","products","libraries","insertStyleSheetRule","ruleText","sheets","styleSheets","createElement","appendChild","createTextNode","head","sheet","insertRule","rules","cssRules","lists","getElementsByClassName","innerHTML","margin","children","marginLeft","parseInt","nextElementSibling","animation","VCardText","VCardTitle","group","stack","groups","favoriteStack","ItemIcon","date","education","company","domProps","EDUCATION","WORK","VCardSubtitle","VTimeline","VTimelineItem","timerId","wordIndex","forward","letterIndex","waitIndex","setInterval","showCursor","Math","floor","span","innerText","substr","clearInterval","Section","navStartY","section","NONE","desktopLandingVisible","$nextTick","scrollBehavior","behavior","block","ABOUT_ME","sectionAboutMePre","scrollIntoView","PORTFOLIO","sectionPortfolioPre","PROJECTS","sectionProjectsPre","CONTACT","sectionContactPre","top","$vuetify","breakpoint","smAndDown","pageYOffset","homeNav","classList","add","opacity","remove","isViewed","sectionContact","$el","sectionProjects","sectionPortfolio","el","rect","getBoundingClientRect","vh","percent","h","max","documentElement","clientHeight","innerHeight","onResize","offsetTop","addEventListener","scrollHandler","passive","removeEventListener","AnimatedText","SectionAboutMe","SectionPortfolio","SectionProjects","SectionContact","HomeFooter","VMain","HomeLayout","HOMEPAGE","GeoWarLayout","routes","path","encodeURIComponent","Special","router","base","x","y","config","productionTip","vuetify","render","$mount"],"mappings":"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","file":"js/app.9067e1fc.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","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!./ViewTransition.vue?vue&type=style&index=0&id=457036e8&scoped=true&lang=css&\"","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!./Home.vue?vue&type=style&index=0&lang=css&\"","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!./GeoWar.vue?vue&type=style&index=0&id=4577bdb2&scoped=true&lang=css&\"","export enum ViewTransitionType {\n HOME = 'HOME',\n NOTAN = 'NOTAN', // string constant used in template\n GEOWAR = 'GEOWAR'\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app',[_c('router-view',{attrs:{\"home-visited\":_vm.homeVisited},on:{\"visit-home\":_vm.visitHome,\"view-transition\":_vm.viewTransition}}),(_vm.transition)?_c('ViewTransition',{attrs:{\"transition-type\":_vm.transition}}):_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:\"transition-wrapper\",class:_vm.wrapperClass,style:({ backgroundColor: _vm.backgroundColor })},[_c('div',{staticClass:\"transition-content\"},[(_vm.transitionType === 'NOTAN')?_c('div',{staticStyle:{\"text-align\":\"center\"}},[_c('p',{staticClass:\"text-h1 white--text\"},[_vm._v(\"Notan\")])]):(_vm.transitionType === 'GEOWAR')?_c('div',{staticStyle:{\"text-align\":\"center\"}},[_c('p',{staticClass:\"text-h1 white--text mt-12\"},[_vm._v(\"GeoWar\")])]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {Component, Prop, Vue} from 'vue-property-decorator';\nimport {ViewTransitionType} from \"@/general/view-transition-type\";\n\n@Component\nexport default class ViewTransition extends Vue {\n\n @Prop({required: true})\n readonly transitionType!: ViewTransitionType;\n\n get backgroundColor(): string {\n switch (this.transitionType) {\n case ViewTransitionType.HOME:\n return '#01579B';\n case ViewTransitionType.NOTAN:\n return '#303030';\n case ViewTransitionType.GEOWAR:\n return '#222222';\n default:\n return ''\n }\n }\n\n get wrapperClass(): string {\n switch (this.transitionType) {\n case ViewTransitionType.HOME:\n return 'transition-wrapper-from-left';\n case ViewTransitionType.NOTAN:\n case ViewTransitionType.GEOWAR:\n return 'transition-wrapper-from-right';\n default:\n return ''\n }\n }\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!./ViewTransition.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!./ViewTransition.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ViewTransition.vue?vue&type=template&id=457036e8&scoped=true&\"\nimport script from \"./ViewTransition.vue?vue&type=script&lang=ts&\"\nexport * from \"./ViewTransition.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ViewTransition.vue?vue&type=style&index=0&id=457036e8&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"457036e8\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport ViewTransition from \"@/general/ViewTransition.vue\";\nimport {ViewTransitionType} from \"@/general/view-transition-type\";\n\n@Component({\n components: {\n ViewTransition\n },\n})\nexport default class App extends Vue {\n\n homeVisited = false; // whether or not home ('/') has been visited (only show animation once) <-- not used anymore (always animate)\n transition: ViewTransitionType | null = null; // show view transition if not null\n\n visitHome() {\n this.homeVisited = true;\n }\n\n viewTransition(t: ViewTransitionType) {\n this.transition = t;\n setTimeout(() => {\n this.transition = null;\n }, 1100);\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=2cf0fdd2&\"\nimport script from \"./App.vue?vue&type=script&lang=ts&\"\nexport * from \"./App.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VApp } from 'vuetify/lib/components/VApp';\ninstallComponents(component, {VApp})\n","import Vue from 'vue';\nimport Vuetify from 'vuetify/lib/framework';\n\nVue.use(Vuetify);\n\nexport default new Vuetify({\n});\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('NotanLayout',{attrs:{\"title\":\"Notan\"},on:{\"view-transition\":function (type) { return _vm.$emit('view-transition', type); }},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('div',{staticStyle:{\"text-align\":\"center\"}},[_c('img',{attrs:{\"src\":\"/static/notan/icon-transparent-256.png\"}}),_c('p',{staticClass:\"text-h1 white--text\"},[_vm._v(\"Notan\")]),_c('p',{staticClass:\"text-h4 white--text\"},[_vm._v(\"Die universale Notenapp\")])])]},proxy:true}])},[_c('div',{staticClass:\"pa-4\"},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('img',{staticClass:\"screenshot\",attrs:{\"src\":\"/static/notan/screenshots/en_homescreen_1.jpg\",\"alt\":\"screenshot\"}})]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('img',{staticClass:\"screenshot\",attrs:{\"src\":\"/static/notan/screenshots/en_subject.jpg\",\"alt\":\"screenshot\"}})]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('img',{staticClass:\"screenshot\",attrs:{\"src\":\"/static/notan/screenshots/en_summary.jpg\",\"alt\":\"screenshot\"}})]),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\"}},[_c('img',{staticClass:\"screenshot\",attrs:{\"src\":\"/static/notan/screenshots/en_grade_groups.jpg\",\"alt\":\"screenshot\"}})])],1)],1),_c('div',{staticClass:\"mt-12\",staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"justify-content\":\"space-evenly\"}},[_c('a',{staticStyle:{\"text-decoration\":\"none\"},attrs:{\"target\":\"_blank\",\"href\":\"https://play.google.com/store/apps/details?id=de.tiendonam.notan&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1\"}},[_c('img',{staticStyle:{\"height\":\"120px\"},attrs:{\"id\":\"googleplay\",\"alt\":\"Get it on Google Play\",\"src\":\"https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png\"}})]),_c('a',{staticStyle:{\"text-decoration\":\"none\"},attrs:{\"target\":\"_blank\",\"href\":\"https://apps.apple.com/us/app/notan/id1487338991\"}},[_c('img',{staticStyle:{\"padding\":\"20px\",\"height\":\"130px\"},attrs:{\"id\":\"applestore\",\"alt\":\"Download on the App Store\",\"src\":\"/static/img/apple-store-badge.svg\"}})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h4',[_vm._v(\"Impressum\")]),_vm._v(\" Angaben gemäß § 5 TMG\"),_c('br'),_vm._v(\" Tien Do Nam\"),_c('br'),_vm._v(\" Gotlandstraße 7\"),_c('br'),_vm._v(\" 10439 Berlin\"),_c('br'),_c('h5',[_vm._v(\"Vertreten durch:\")]),_c('br'),_vm._v(\"Tien Do Nam\"),_c('br'),_c('h5',[_vm._v(\"Kontakt:\")]),_c('br'),_vm._v(\" E-Mail: \"),_c('a',{staticStyle:{\"text-decoration\":\"underline\",\"color\":\"black\"},attrs:{\"href\":\"mailto:dev.tien.donam@gmail.com\"}},[_vm._v(\"dev.tien.donam@gmail.com\")]),_c('br'),_vm._v(\" oder zum \"),_c('a',{staticStyle:{\"text-decoration\":\"underline\",\"color\":\"black\"},attrs:{\"href\":\"contact\"}},[_vm._v(\"Kontaktformular\")]),_c('h5',[_vm._v(\"Haftungsausschluss: \")]),_c('br'),_c('br'),_c('h5',[_vm._v(\"Haftung für Inhalte\")]),_c('br'),_c('br'),_vm._v(\" Die Inhalte unserer Seiten wurden mit größter Sorgfalt erstellt. Für die Richtigkeit, Vollständigkeit und Aktualität der Inhalte können wir jedoch keine Gewähr übernehmen. Als Diensteanbieter sind wir gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen Seiten nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 TMG sind wir als Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte fremde Informationen zu überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige Tätigkeit hinweisen. Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach den allgemeinen Gesetzen bleiben hiervon unberührt. Eine diesbezügliche Haftung ist jedoch erst ab dem Zeitpunkt der Kenntnis einer konkreten Rechtsverletzung möglich. Bei Bekanntwerden von entsprechenden Rechtsverletzungen werden wir diese Inhalte umgehend entfernen.\"),_c('br'),_c('br'),_c('h5',[_vm._v(\"Haftung für Links\")]),_c('br'),_c('br'),_vm._v(\" Unser Angebot enthält Links zu externen Webseiten Dritter, auf deren Inhalte wir keinen Einfluss haben. Deshalb können wir für diese fremden Inhalte auch keine Gewähr übernehmen. Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten verantwortlich. Die verlinkten Seiten wurden zum Zeitpunkt der Verlinkung auf mögliche Rechtsverstöße überprüft. Rechtswidrige Inhalte waren zum Zeitpunkt der Verlinkung nicht erkennbar. Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist jedoch ohne konkrete Anhaltspunkte einer Rechtsverletzung nicht zumutbar. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Links umgehend entfernen.\"),_c('br'),_c('br'),_c('h5',[_vm._v(\"Urheberrecht\")]),_c('br'),_c('br'),_vm._v(\" Die durch die Seitenbetreiber erstellten Inhalte und Werke auf diesen Seiten unterliegen dem deutschen Urheberrecht. Die Vervielfältigung, Bearbeitung, Verbreitung und jede Art der Verwertung außerhalb der Grenzen des Urheberrechtes bedürfen der schriftlichen Zustimmung des jeweiligen Autors bzw. Erstellers. Downloads und Kopien dieser Seite sind nur für den privaten, nicht kommerziellen Gebrauch gestattet. Soweit die Inhalte auf dieser Seite nicht vom Betreiber erstellt wurden, werden die Urheberrechte Dritter beachtet. Insbesondere werden Inhalte Dritter als solche gekennzeichnet. Sollten Sie trotzdem auf eine Urheberrechtsverletzung aufmerksam werden, bitten wir um einen entsprechenden Hinweis. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Inhalte umgehend entfernen.\"),_c('br'),_c('br'),_c('h5',[_vm._v(\"Datenschutz\")]),_c('br'),_c('br'),_vm._v(\" Die Nutzung unserer Webseite ist in der Regel ohne Angabe personenbezogener Daten möglich. Soweit auf unseren Seiten personenbezogene Daten (beispielsweise Name, Anschrift oder eMail-Adressen) erhoben werden, erfolgt dies, soweit möglich, stets auf freiwilliger Basis. Diese Daten werden ohne Ihre ausdrückliche Zustimmung nicht an Dritte weitergegeben. \"),_c('br'),_vm._v(\" Wir weisen darauf hin, dass die Datenübertragung im Internet (z.B. bei der Kommunikation per E-Mail) Sicherheitslücken aufweisen kann. Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist nicht möglich. \"),_c('br'),_vm._v(\" Der Nutzung von im Rahmen der Impressumspflicht veröffentlichten Kontaktdaten durch Dritte zur Übersendung von nicht ausdrücklich angeforderter Werbung und Informationsmaterialien wird hiermit ausdrücklich widersprochen. Die Betreiber der Seiten behalten sich ausdrücklich rechtliche Schritte im Falle der unverlangten Zusendung von Werbeinformationen, etwa durch Spam-Mails, vor.\"),_c('br'),_c('br'),_vm._v(\" Website Impressum erstellt durch \"),_c('a',{staticStyle:{\"text-decoration\":\"underline\",\"color\":\"black\"},attrs:{\"href\":\"https://www.impressum-generator.de\"}},[_vm._v(\"impressum-generator.de\")]),_vm._v(\" von der \"),_c('a',{staticStyle:{\"text-decoration\":\"underline\",\"color\":\"black\"},attrs:{\"href\":\"https://www.kanzlei-hasselbach.de/\"}},[_vm._v(\"Kanzlei Hasselbach\")])])}]\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./Imprint.vue?vue&type=template&id=3d59eab3&\"\nvar script = {}\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',[_c('GenericHeader',{staticClass:\"grey darken-3\",on:{\"view-transition\":function (type) { return _vm.$emit('view-transition', type); }}},[_c('router-link',{attrs:{\"to\":\"/notan\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar href = ref.href;\nvar navigate = ref.navigate;\nreturn [_c('a',{staticClass:\"white--text text-h6\",staticStyle:{\"text-decoration\":\"none\",\"display\":\"flex\",\"align-items\":\"center\"},attrs:{\"href\":href},on:{\"click\":navigate}},[_c('img',{attrs:{\"src\":\"/static/notan/icon-transparent-256.png\",\"width\":\"25\",\"height\":\"25\"}}),_c('span',{staticClass:\"ml-1\"},[_vm._v(\"Notan\")])])]}}])})],1),_c('div',{staticStyle:{\"min-height\":\"100vh\",\"background-color\":\"#303030\",\"display\":\"flex\",\"justify-content\":\"center\",\"padding\":\"150px 0 150px\"}},[_c('div',{staticStyle:{\"max-width\":\"1200px\",\"width\":\"100%\"}},[_vm._t(\"header\"),(!_vm.hasHeader)?_c('p',{staticClass:\"text-h3 white--text\"},[_vm._v(_vm._s(_vm.title))]):_vm._e(),_c('v-card',{staticClass:\"pa-4 grey\",staticStyle:{\"margin-top\":\"70px\"}},[_vm._t(\"default\")],2)],2)]),_c('GenericFooter',{attrs:{\"privacy-url\":\"/notan/privacy\",\"contact-url\":\"/notan/contact\",\"imprint-url\":\"/notan/imprint\",\"link-class\":\"green--text text--lighten-2\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-sheet',{staticClass:\"pa-4\",staticStyle:{\"position\":\"fixed\",\"top\":\"0\",\"width\":\"100%\",\"z-index\":\"999\",\"display\":\"flex\",\"align-items\":\"center\"},attrs:{\"elevation\":\"2\"}},[_c('a',{staticClass:\"white--text text-h6\",staticStyle:{\"text-decoration\":\"none\"},attrs:{\"href\":\"/\"},on:{\"click\":_vm.toHome}},[_vm._v(\"tienisto.com\")]),_c('span',{staticClass:\"white--text ml-4 mr-4 text-h6\"},[_vm._v(\"/\")]),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport {ViewTransitionType} from \"@/general/view-transition-type\";\n\n@Component\nexport default class GenericHeader extends Vue {\n\n toHome(e: Event) {\n e.preventDefault();\n this.$emit('view-transition', ViewTransitionType.HOME);\n setTimeout(() => {\n this.$router.push('/');\n }, 600);\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!./GenericHeader.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!./GenericHeader.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./GenericHeader.vue?vue&type=template&id=0495c852&\"\nimport script from \"./GenericHeader.vue?vue&type=script&lang=ts&\"\nexport * from \"./GenericHeader.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSheet } from 'vuetify/lib/components/VSheet';\ninstallComponents(component, {VSheet})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-footer',{staticClass:\"grey darken-3 pt-8 white--text\",staticStyle:{\"flex-direction\":\"column\",\"align-items\":\"center\",\"justify-content\":\"start\",\"min-height\":\"300px\"},attrs:{\"padless\":\"\"}},[_c('span',[_vm._v(\"© \"+_vm._s(_vm.currYear)+\" Tien Do Nam\")]),_c('div',[_c('router-link',{attrs:{\"to\":_vm.privacyUrl},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar href = ref.href;\nvar navigate = ref.navigate;\nreturn [_c('a',{class:_vm.linkClass,staticStyle:{\"text-decoration\":\"none\"},attrs:{\"href\":href},on:{\"click\":navigate}},[_vm._v(\"Datenschutz\")])]}}])}),_c('span',{staticStyle:{\"color\":\"white\"}},[_vm._v(\" | \")]),_c('router-link',{attrs:{\"to\":_vm.contactUrl},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar href = ref.href;\nvar navigate = ref.navigate;\nreturn [_c('a',{class:_vm.linkClass,staticStyle:{\"text-decoration\":\"none\"},attrs:{\"href\":href},on:{\"click\":navigate}},[_vm._v(\"Kontakt\")])]}}])}),_c('span',{staticStyle:{\"color\":\"white\"}},[_vm._v(\" | \")]),_c('router-link',{attrs:{\"to\":_vm.imprintUrl},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar href = ref.href;\nvar navigate = ref.navigate;\nreturn [_c('a',{class:_vm.linkClass,staticStyle:{\"text-decoration\":\"none\"},attrs:{\"href\":href},on:{\"click\":navigate}},[_vm._v(\"Impressum\")])]}}])})],1),_c('div',{staticClass:\"pt-12\"},[_vm._v(\" powered by \"),_c('a',{class:_vm.linkClass,staticStyle:{\"text-decoration\":\"none\"},attrs:{\"href\":\"https://vuejs.org/\",\"target\":\"_blank\"}},[_vm._v(\"Vue\")]),_c('span',[_vm._v(\", \")]),_c('a',{class:_vm.linkClass,staticStyle:{\"text-decoration\":\"none\"},attrs:{\"href\":\"https://vuetifyjs.com/\",\"target\":\"_blank\"}},[_vm._v(\"Vuetify\")]),_c('span',[_vm._v(\" and \")]),_c('a',{class:_vm.linkClass,staticStyle:{\"text-decoration\":\"none\"},attrs:{\"href\":\"https://www.typescriptlang.org/\",\"target\":\"_blank\"}},[_vm._v(\"TypeScript\")])])])}\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\nimport {Component, Prop, Vue} from 'vue-property-decorator';\n\n@Component\nexport default class GenericFooter extends Vue {\n\n @Prop({required: true})\n readonly privacyUrl!: string;\n\n @Prop({required: true})\n readonly contactUrl!: string;\n\n @Prop({required: true})\n readonly imprintUrl!: string;\n\n @Prop({required: true})\n readonly linkClass!: string;\n\n get currYear(): number {\n return new Date().getFullYear();\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!./GenericFooter.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!./GenericFooter.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./GenericFooter.vue?vue&type=template&id=1b91998a&\"\nimport script from \"./GenericFooter.vue?vue&type=script&lang=ts&\"\nexport * from \"./GenericFooter.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VFooter } from 'vuetify/lib/components/VFooter';\ninstallComponents(component, {VFooter})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {Component, Prop, Vue} from 'vue-property-decorator';\nimport GenericHeader from \"@/general/GenericHeader.vue\";\nimport GenericFooter from \"@/general/GenericFooter.vue\";\n\n\n@Component({\n components: {\n GenericFooter,\n GenericHeader\n },\n})\nexport default class HomeLayout extends Vue {\n\n @Prop({required: true})\n readonly title!: string;\n\n get hasHeader() {\n return this.$slots.header;\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!./NotanLayout.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!./NotanLayout.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NotanLayout.vue?vue&type=template&id=83a13c62&\"\nimport script from \"./NotanLayout.vue?vue&type=script&lang=ts&\"\nexport * from \"./NotanLayout.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\ninstallComponents(component, {VCard})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from \"vue-property-decorator\";\nimport Imprint from \"@/general/Imprint.vue\";\nimport NotanLayout from \"@/notan/NotanLayout.vue\";\n\n@Component({\n components: {\n NotanLayout,\n Imprint\n },\n})\nexport default class Notan extends Vue {}\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!./Notan.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!./Notan.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Notan.vue?vue&type=template&id=277b927f&scoped=true&\"\nimport script from \"./Notan.vue?vue&type=script&lang=ts&\"\nexport * from \"./Notan.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Notan.vue?vue&type=style&index=0&id=277b927f&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"277b927f\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('NotanLayout',{attrs:{\"title\":\"Datenschutz\"},on:{\"view-transition\":function (type) { return _vm.$emit('view-transition', type); }}},[_c('h4',[_vm._v(\"Datenschutzerklärung\")]),_c('h5',[_vm._v(\"Verantwortlicher\")]),_vm._v(\" Tien Do Nam\"),_c('br'),_vm._v(\" Gotlandstraße 7\"),_c('br'),_vm._v(\" 10439 Berlin\"),_c('br'),_vm._v(\" Deutschland\"),_c('br'),_c('br'),_vm._v(\" E-Mail: dev.tien.donam@gmail.com \"),_c('h5',[_vm._v(\"Verarbeitetende Daten\")]),_vm._v(\" Notan sammelt, speichert oder verteilt keinerlei persönliche Informationen. \")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from \"vue-property-decorator\";\nimport NotanLayout from \"@/notan/NotanLayout.vue\";\n\n@Component({\n components: {\n NotanLayout\n },\n})\nexport default class NotanPrivacy extends Vue {}\n","const API_URL = '/api';\n\ninterface RequestParameter {\n method: 'GET' | 'POST';\n route: string;\n body?: object;\n params?: { [key: string]: any };\n}\n\nasync function makeRequest({ method, route, body, params }: RequestParameter): Promise {\n const url = new URL(API_URL+'/'+route, document.location.href);\n\n if (params) {\n // add query params\n for (const propName in params) {\n if (params[propName] === null || params[propName] === undefined) {\n delete params[propName];\n }\n }\n\n url.search = new URLSearchParams(params).toString();\n }\n\n const response = await fetch(url.toString(), {\n method,\n body: JSON.stringify(body),\n headers: { \"Content-Type\": \"application/json\" },\n });\n\n // handle errors\n if(response.status >= 400) {\n throw response.status;\n }\n\n // return the result\n return JSON.parse((await response.text()) || \"{}\");\n}\n\n// string values are used for API\nexport enum Module {\n HOMEPAGE = \"HOMEPAGE\",\n GEOWAR = \"GEOWAR\",\n NOTAN = \"NOTAN\"\n}\n\ninterface ContactRequest {\n captcha: string;\n module: Module;\n name: string;\n email: string;\n phone: string;\n content: string;\n}\n\nexport async function sendContactRequest(request: ContactRequest) {\n return await makeRequest({\n route: 'contact',\n method: 'POST',\n body: request\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!./NotanPrivacy.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!./NotanPrivacy.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NotanPrivacy.vue?vue&type=template&id=8fba291c&\"\nimport script from \"./NotanPrivacy.vue?vue&type=script&lang=ts&\"\nexport * from \"./NotanPrivacy.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('NotanLayout',{attrs:{\"title\":\"Kontakt\"},on:{\"view-transition\":function (type) { return _vm.$emit('view-transition', type); }}},[_c('ContactForm',{attrs:{\"module\":_vm.module,\"highlight-color\":\"#616161\",\"captcha-theme\":\"dark\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._v(\" Meine E-Mail: \"),_c('a',{staticStyle:{\"text-decoration\":\"none\"},style:({ color: _vm.highlightColor }),attrs:{\"href\":\"mailto:dev.tien.donam@gmail.com\",\"target\":\"_blank\"}},[_vm._v(\"dev.tien.donam@gmail.com\")]),_c('br'),(_vm.sent)?_c('div',{staticStyle:{\"text-align\":\"center\"}},[_c('p',{staticClass:\"text-h4\",staticStyle:{\"margin\":\"50px 0 50px\"}},[_vm._v(\"Vielen Dank für die Anfrage.\")])]):_c('div',[_c('p',{staticClass:\"mt-12\"},[_vm._v(\"Kontaktformular:\")]),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-text-field',{attrs:{\"filled\":\"\",\"label\":\"Name\",\"prepend-inner-icon\":\"mdi-account\",\"color\":_vm.highlightColor},model:{value:(_vm.name),callback:function ($$v) {_vm.name=$$v},expression:\"name\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-text-field',{attrs:{\"filled\":\"\",\"label\":\"E-Mail\",\"prepend-inner-icon\":\"mdi-email\",\"color\":_vm.highlightColor},model:{value:(_vm.email),callback:function ($$v) {_vm.email=$$v},expression:\"email\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-text-field',{attrs:{\"filled\":\"\",\"label\":\"Telefon\",\"prepend-inner-icon\":\"mdi-phone\",\"color\":_vm.highlightColor},model:{value:(_vm.phone),callback:function ($$v) {_vm.phone=$$v},expression:\"phone\"}})],1)],1),_c('v-textarea',{attrs:{\"filled\":\"\",\"label\":\"Inhalt\",\"color\":_vm.highlightColor},model:{value:(_vm.content),callback:function ($$v) {_vm.content=$$v},expression:\"content\"}}),_c('div',{staticStyle:{\"text-align\":\"right\"}},[(!_vm.captchaToken)?_c('vue-hcaptcha',{staticClass:\"mb-4\",attrs:{\"sitekey\":\"b0bd92f7-ca5c-4353-acd7-b03c5541c3d3\",\"theme\":_vm.captchaTheme},on:{\"verify\":_vm.tokenVerified}}):_vm._e(),_c('v-btn',{staticClass:\"green darken-3 white--text\",attrs:{\"large\":\"\",\"disabled\":!_vm.captchaToken},on:{\"click\":_vm.sendContact}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-send\")]),_vm._v(\" Senden \")],1)],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {Component, Prop, Vue} from 'vue-property-decorator';\nimport {Module, sendContactRequest} from \"@/api\";\nimport VueHcaptcha from '@hcaptcha/vue-hcaptcha';\n\n@Component({\n components: {\n VueHcaptcha\n }\n})\nexport default class ContactForm extends Vue {\n\n @Prop({required: true})\n readonly module!: Module;\n\n @Prop({required: true})\n readonly highlightColor!: Module;\n\n @Prop({required: true})\n readonly captchaTheme!: 'light' | 'dark';\n\n name = '';\n email = '';\n phone = '';\n content = '';\n sent = false;\n captchaToken: string | null = null;\n\n tokenVerified(token: string) {\n this.captchaToken = token;\n }\n\n sendContact() {\n\n if (!this.captchaToken)\n return;\n\n sendContactRequest({\n captcha: this.captchaToken,\n module: this.module,\n name: this.name,\n email: this.email,\n phone: this.phone,\n content: this.content\n })\n\n this.sent = true;\n this.captchaToken = null;\n }\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!./ContactForm.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!./ContactForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ContactForm.vue?vue&type=template&id=0874b62d&\"\nimport script from \"./ContactForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./ContactForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VTextField,VTextarea})\n","\n\n\n\n\n\n\nimport { Component, Vue } from \"vue-property-decorator\";\nimport ContactForm from \"@/general/ContactForm.vue\";\nimport {Module} from \"@/api\";\nimport NotanLayout from \"@/notan/NotanLayout.vue\";\n\n@Component({\n components: {\n NotanLayout,\n ContactForm\n },\n})\nexport default class NotanContact extends Vue {\n\n readonly module = Module.NOTAN;\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!./NotanContact.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!./NotanContact.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NotanContact.vue?vue&type=template&id=11498710&\"\nimport script from \"./NotanContact.vue?vue&type=script&lang=ts&\"\nexport * from \"./NotanContact.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('NotanLayout',{attrs:{\"title\":\"Impressum\"},on:{\"view-transition\":function (type) { return _vm.$emit('view-transition', type); }}},[_c('Imprint')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport { Component, Vue } from \"vue-property-decorator\";\nimport Imprint from \"@/general/Imprint.vue\";\nimport NotanLayout from \"@/notan/NotanLayout.vue\";\n\n@Component({\n components: {\n NotanLayout,\n Imprint,\n },\n})\nexport default class NotanImprint extends Vue {}\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!./NotanImprint.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!./NotanImprint.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NotanImprint.vue?vue&type=template&id=e9148caa&\"\nimport script from \"./NotanImprint.vue?vue&type=script&lang=ts&\"\nexport * from \"./NotanImprint.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-main',[_c('div',{staticClass:\"hidden-md-and-up light-blue darken-4\",staticStyle:{\"text-align\":\"center\"}},[_c('img',{staticClass:\"elevation-2 mt-12\",staticStyle:{\"border-radius\":\"150px\"},attrs:{\"src\":\"/static/home/profile.jpg\",\"width\":\"150\",\"height\":\"150\"}}),_c('div',{staticClass:\"text-h3 white--text mt-8\"},[_vm._v(\"Tien Do Nam\")]),_c('div',{staticClass:\"text-subtitle-1 white--text mt-2\"},[_vm._v(\"Softwareentwickler\")])]),(_vm.desktopLandingVisible)?_c('div',{staticClass:\"hidden-sm-and-down light-blue darken-4\",staticStyle:{\"height\":\"100vh\",\"display\":\"flex\",\"flex-direction\":\"column\",\"align-items\":\"center\",\"justify-content\":\"space-evenly\"}},[_c('div',{staticStyle:{\"position\":\"absolute\",\"top\":\"-50px\",\"right\":\"10px\"},attrs:{\"id\":\"home-repeat-btn-animation\"}},[_c('v-btn',{attrs:{\"icon\":\"\",\"dark\":\"\",\"large\":\"\"},on:{\"click\":_vm.repeatIntro}},[_c('v-icon',[_vm._v(\"mdi-restore\")])],1)],1),_c('div',{staticStyle:{\"display\":\"flex\"}},[_c('img',{staticClass:\"home-logo-animation elevation-2\",staticStyle:{\"border-radius\":\"25px\"},attrs:{\"src\":\"/static/home/profile.jpg\",\"width\":\"170\",\"height\":\"170\"}}),_c('div',{staticClass:\"home-title-animation\",staticStyle:{\"display\":\"flex\",\"flex-direction\":\"column\",\"justify-content\":\"center\"}},[_c('span',{staticClass:\"text-h1 white--text mb-3\",staticStyle:{\"white-space\":\"nowrap\"}},[_vm._v(\" Tien Do Nam \")]),_c('span',{staticClass:\"text-h4 white--text pl-4\",staticStyle:{\"white-space\":\"nowrap\"}},[_c('AnimatedText',{attrs:{\"text\":['Softwareentwickler', 'Appentwickler', 'Full-Stack-Entwickler']}})],1)])]),_c('div',{ref:\"homeNav\",staticClass:\"home-nav\"},[_c('div',{staticStyle:{\"align-items\":\"center\",\"position\":\"fixed\",\"top\":\"0\",\"left\":\"0\"},attrs:{\"id\":\"home-nav-title\"}},[_c('a',{staticClass:\"ml-4 mt-4 white--text text-h6\",staticStyle:{\"text-decoration\":\"none\"},on:{\"click\":_vm.scrollToTop}},[_vm._v(\"tienisto.com\")])]),_c('div',{staticClass:\"home-nav-panel\"},[_c('v-btn',{staticClass:\"home-nav-btn\",class:_vm.isHighlighted(0) ? ['orange'] : [],attrs:{\"rounded\":\"\",\"large\":\"\"},on:{\"click\":function($event){return _vm.scrollTo(0)}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-account\")]),_vm._v(\" Über mich \")],1),_c('v-btn',{staticClass:\"home-nav-btn\",class:_vm.isHighlighted(1) ? ['orange'] : [],attrs:{\"rounded\":\"\",\"large\":\"\"},on:{\"click\":function($event){return _vm.scrollTo(1)}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-briefcase\")]),_vm._v(\" Portfolio \")],1),_c('v-btn',{staticClass:\"home-nav-btn\",class:_vm.isHighlighted(2) ? ['orange'] : [],attrs:{\"rounded\":\"\",\"large\":\"\"},on:{\"click\":function($event){return _vm.scrollTo(2)}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-flag\")]),_vm._v(\" Projekte \")],1),_c('v-btn',{staticClass:\"home-nav-btn\",class:_vm.isHighlighted(3) ? ['orange'] : [],attrs:{\"rounded\":\"\",\"large\":\"\"},on:{\"click\":function($event){return _vm.scrollTo(3)}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-email\")]),_vm._v(\" Kontakt \")],1)],1)])]):_c('div',{staticClass:\"hidden-sm-and-down light-blue darken-4\",staticStyle:{\"height\":\"100vh\"}}),_c('div',{ref:\"sectionAboutMePre\",staticClass:\"home-spacer\"}),_c('SectionAboutMe'),_c('div',{ref:\"sectionPortfolioPre\",staticClass:\"home-spacer\"}),_c('SectionPortfolio',{ref:\"sectionPortfolio\",attrs:{\"mobile\":_vm.mobile}}),_c('div',{ref:\"sectionProjectsPre\",staticClass:\"home-spacer\"}),_c('SectionProjects',{ref:\"sectionProjects\",attrs:{\"mobile\":_vm.mobile},on:{\"view-transition\":function (type) { return _vm.$emit('view-transition', type); }}}),_c('div',{ref:\"sectionContactPre\",staticClass:\"home-spacer\"}),_c('SectionContact',{ref:\"sectionContact\",attrs:{\"mobile\":_vm.mobile}})],1),_c('HomeFooter')],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('GenericFooter',{attrs:{\"privacy-url\":\"/privacy\",\"contact-url\":\"/contact\",\"imprint-url\":\"/imprint\",\"link-class\":\"blue--text text--lighten-3\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator';\nimport GenericFooter from \"@/general/GenericFooter.vue\";\n\n@Component({\n components: {\n GenericFooter\n },\n})\nexport default class HomeFooter extends Vue {\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!./HomeFooter.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!./HomeFooter.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./HomeFooter.vue?vue&type=template&id=ff96e11e&\"\nimport script from \"./HomeFooter.vue?vue&type=script&lang=ts&\"\nexport * from \"./HomeFooter.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('SectionContainer',{attrs:{\"title\":\"Kontakt.\"},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_vm._l((_vm.items),function(item,index){return _c('div',{key:index,staticClass:\"mb-2\",staticStyle:{\"display\":\"flex\",\"align-items\":\"center\"},style:(_vm.mobile ? {'justify-content': 'center'} : {})},[_c('v-icon',{staticClass:\"white--text\",attrs:{\"size\":\"30px\",\"left\":\"\"}},[_vm._v(_vm._s(item.icon))]),_c('a',{staticClass:\"white--text ml-2\",staticStyle:{\"font-size\":\"20px\",\"text-decoration\":\"none\"},attrs:{\"href\":item.href,\"target\":\"_blank\"}},[_vm._v(_vm._s(item.text))])],1)}),_c('div',{style:(_vm.mobile ? { 'text-align': 'center' } : {})},[_c('router-link',{attrs:{\"to\":\"/contact\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar href = ref.href;\nvar navigate = ref.navigate;\nreturn [_c('v-btn',{staticClass:\"mt-12\",attrs:{\"href\":href,\"large\":\"\"},on:{\"click\":navigate}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-send\")]),_vm._v(\" Kontaktformular \")],1)]}}])})],1),_c('div',{staticStyle:{\"height\":\"100px\"}})]},proxy:true}])})}\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:\"light-blue darken-4\",staticStyle:{\"min-height\":\"50vh\",\"display\":\"flex\",\"justify-content\":\"center\"}},[_c('div',{staticClass:\"pl-2 pr-2\",staticStyle:{\"width\":\"100%\",\"max-width\":\"1400px\"}},[_c('v-row',[_c('v-col',{staticStyle:{\"text-align\":\"center\"},attrs:{\"cols\":\"12\",\"sm\":\"12\",\"md\":\"4\",\"lg\":\"3\",\"xl\":\"3\"}},[_c('span',{staticClass:\"text-h4 text-sm-h4 text-md-h2 text white--text\"},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")])]),_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":\"12\",\"sm\":\"12\",\"md\":\"8\",\"lg\":\"9\",\"xl\":\"9\"}},[_c('div',{staticClass:\"ma-4\"},[(_vm.hasIntro)?_c('div',{staticClass:\"white--text\"},[_c('div',{staticClass:\"hidden-md-and-up\",staticStyle:{\"text-align\":\"center\"}},[_vm._t(\"intro\")],2),_c('div',{staticClass:\"hidden-sm-and-down\"},[_vm._t(\"intro\")],2)]):_vm._e(),_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"center\",\"box-sizing\":\"border-box\"},style:(_vm.hasIntro ? { marginTop: '50px' } : {})},[_c('div',{staticStyle:{\"width\":\"100%\"}},[_vm._t(\"body\")],2)])])])],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop } from 'vue-property-decorator';\n\n@Component\nexport default class SectionContainer extends Vue {\n\n @Prop({required: true})\n readonly title!: string;\n\n get hasIntro() {\n return this.$slots.intro;\n }\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!./SectionContainer.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!./SectionContainer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SectionContainer.vue?vue&type=template&id=64a97e2a&\"\nimport script from \"./SectionContainer.vue?vue&type=script&lang=ts&\"\nexport * from \"./SectionContainer.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {Component, Prop, Vue} from 'vue-property-decorator';\nimport SectionContainer from \"@/home/components/SectionContainer.vue\";\n\ninterface ContactItem {\n icon: string;\n text: string;\n href: string;\n}\n\n@Component({\n components: {\n SectionContainer\n },\n})\nexport default class SectionContact extends Vue {\n\n @Prop({required: true})\n readonly mobile!: boolean;\n\n items: Array = [\n {\n icon: 'mdi-email',\n text: 'dev.tien.donam@gmail.com',\n href: 'mailto:dev.tien.donam@gmail.com'\n },\n {\n icon: 'mdi-linkedin',\n text: 'linkedin.com/in/tien-do-nam',\n href: 'https://linkedin.com/in/tien-do-nam'\n },\n {\n icon: 'mdi-github-circle',\n text: 'github.com/Tienisto',\n href: 'https://github.com/Tienisto'\n },\n {\n icon: 'mdi-mastodon',\n text: 'mastodon.social/@tienisto',\n href: 'https://mastodon.social/@tienisto'\n }\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!./SectionContact.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!./SectionContact.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SectionContact.vue?vue&type=template&id=646d825a&\"\nimport script from \"./SectionContact.vue?vue&type=script&lang=ts&\"\nexport * from \"./SectionContact.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VIcon})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('SectionContainer',{attrs:{\"title\":\"Projekte.\"},scopedSlots:_vm._u([{key:\"intro\",fn:function(){return [_vm._v(\" Ich habe eigene Apps auf dem Markt gebracht, die insgesamt über 1.200.000 monatlich aktive Nutzer (MAU) haben. \"),_c('br'),_vm._v(\" Hervorzuheben sind die Apps \\\"LocalSend\\\" mit über 700.000 MAU und \\\"Notan\\\" mit über 500.000 MAU. \"),_c('br'),_vm._v(\" Darüber hinaus entwickelte ich die Uni-App \\\"Welcome to OVGU\\\", die weiterhin von der Otto-von-Guericke-Universität Magdeburg betrieben wird. \"),_c('br'),_vm._v(\" Aktuell arbeite ich an der \\\"Sportbench\\\"-App als technischer Co-Founder. \")]},proxy:true},{key:\"body\",fn:function(){return [_vm._l((_vm.products),function(product,index){return _c('v-card',{key:'p'+index,class:_vm.mobile ? ['mb-6'] : ['mb-10']},[_c('v-card-text',{staticClass:\"black--text\"},[_c('div',{staticClass:\"hidden-md-and-up\"},[_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"center\"}},[(product.logo)?_c('img',{staticStyle:{\"width\":\"50px\"},attrs:{\"src\":'/static/home/logo/' + product.logo,\"alt\":product.name}}):_c('v-icon',{staticClass:\"black--text\",staticStyle:{\"font-size\":\"50px\"}},[_vm._v(_vm._s(product.icon))]),_c('div',{staticClass:\"pl-2\",staticStyle:{\"display\":\"flex\",\"flex-direction\":\"column\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(product.name))]),_c('span',[_vm._v(_vm._s(product.sub))])])],1),(product.coWorker.length !== 0)?_c('div',{staticClass:\"mt-2\"},[_c('b',[_vm._v(\"Mitentwickler: \")]),_vm._l((product.coWorker),function(worker,index){return [_c('a',{key:'a'+worker.name,staticClass:\"blue--text text--darken-4\",staticStyle:{\"text-decoration\":\"none\"},attrs:{\"href\":worker.url,\"target\":\"_blank\"}},[_vm._v(_vm._s(worker.name))]),(index !== product.coWorker.length -1)?_c('span',{key:'s'+worker.name},[_vm._v(\", \")]):_vm._e()]})],2):_vm._e(),_c('div',{staticClass:\"mt-2\",staticStyle:{\"display\":\"flex\",\"align-items\":\"center\"}},[_c('div',{staticStyle:{\"flex\":\"1\"}},_vm._l((product.badges),function(badge){return _c('span',{key:badge,staticClass:\"product-badge\",staticStyle:{\"font-size\":\"0.8em\"}},[_vm._v(_vm._s(badge))])}),0),(product.open)?_c('v-btn',{staticClass:\"green darken-3 theme--dark\",attrs:{\"href\":product.url,\"target\":\"_blank\"},on:{\"click\":function (e) { return _vm.openProject(product, e); }}},[_vm._v(\" \"+_vm._s(_vm.getOpenString(product))+\" \")]):_vm._e()],1)]),_c('div',{staticClass:\"hidden-sm-and-down\",staticStyle:{\"display\":\"flex\",\"align-items\":\"center\"}},[(product.logo)?_c('img',{staticStyle:{\"width\":\"125px\"},attrs:{\"src\":'/static/home/logo/' + product.logo,\"alt\":product.name}}):_c('v-icon',{staticClass:\"black--text\",staticStyle:{\"font-size\":\"125px\"}},[_vm._v(_vm._s(product.icon))]),_c('div',{staticStyle:{\"flex\":\"1\",\"align-self\":\"stretch\",\"position\":\"relative\"}},[_c('div',{staticClass:\"tech-list-container\"},[_c('div',{staticClass:\"tech-list\"},_vm._l((product.tech),function(tech,index){return _c('div',{key:'t'+index,staticStyle:{\"margin-left\":\"50px\",\"margin-right\":\"50px\"}},[_c('a',{attrs:{\"href\":tech.url,\"target\":\"_blank\"}},[_c('img',{attrs:{\"src\":'/static/home/tech/' + tech.img,\"width\":tech.width+'px',\"alt\":tech.name}})])])}),0),_c('div',{staticStyle:{\"display\":\"none\"}},[_vm._v(_vm._s(product.tech.reduce(function (prev, curr) { return prev + curr.width; }, 0)))])]),_c('div',{staticClass:\"product-info\"},[_c('div',[_c('p',{staticClass:\"text-h5 mb-1\"},[_vm._v(_vm._s(product.name))]),_vm._v(\" \"+_vm._s(product.sub)+\" \"),(product.coWorker.length !== 0)?_c('div',[_c('b',[_vm._v(\"Mitentwickler: \")]),_vm._l((product.coWorker),function(worker,index){return [_c('a',{key:'a'+worker.name,staticClass:\"blue--text text--darken-4\",staticStyle:{\"text-decoration\":\"none\"},attrs:{\"href\":worker.url,\"target\":\"_blank\"}},[_vm._v(_vm._s(worker.name))]),(index !== product.coWorker.length -1)?_c('span',{key:'s'+worker.name},[_vm._v(\", \")]):_vm._e()]})],2):_vm._e(),_c('div',{staticClass:\"mt-2\"},_vm._l((product.badges),function(badge){return _c('span',{key:badge,staticClass:\"product-badge\",staticStyle:{\"font-size\":\"0.8em\"}},[_vm._v(_vm._s(badge))])}),0)])]),_c('div',{staticStyle:{\"position\":\"absolute\",\"width\":\"100px\",\"height\":\"100%\",\"top\":\"0\",\"right\":\"0\",\"background\":\"linear-gradient(to left, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0))\"}})]),(product.open)?_c('v-btn',{staticClass:\"green darken-3 theme--dark\",attrs:{\"href\":product.url,\"target\":\"_blank\",\"large\":\"\"},on:{\"click\":function (e) { return _vm.openProject(product, e); }}},[_vm._v(\" \"+_vm._s(_vm.getOpenString(product))+\" \")]):_vm._e()],1)])],1)}),_c('div',{staticClass:\"white--text mt-12\",class:_vm.mobile ? ['text-h5'] : ['text-h4'],style:(_vm.mobile ? {'text-align': 'center'} : {})},[_vm._v(\" Open-Source Bibliotheken \")]),_c('v-row',{staticClass:\"mt-4\"},_vm._l((_vm.libraries),function(library,index){return _c('v-col',{key:'l'+index,attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-card',{staticClass:\"d-flex flex-column\",staticStyle:{\"height\":\"100%\"}},[_c('v-card-title',{staticClass:\"orange\"},[_vm._v(_vm._s(library.name))]),_c('v-card-text',{staticClass:\"flex-grow-1 pa-4\"},[_c('div',{staticClass:\"d-flex flex-column\",staticStyle:{\"height\":\"100%\"}},[_c('div',{staticClass:\"flex-grow-1\"},[_c('div',_vm._l((library.tags),function(tag){return _c('span',{key:tag,staticClass:\"product-badge\",staticStyle:{\"font-size\":\"0.8em\"}},[_vm._v(_vm._s(tag))])}),0),_c('br'),_vm._v(\" \"+_vm._s(library.info)+\" \"),_c('br'),_c('br')]),_c('div',[(library.pub)?_c('a',{attrs:{\"href\":(\"https://pub.dev/packages/\" + (library.pub)),\"target\":\"_blank\"}},[_c('img',{attrs:{\"src\":(\"https://img.shields.io/pub/v/\" + (library.pub))}})]):_vm._e(),(library.github)?_c('object',{staticStyle:{\"margin-left\":\"10px\"},attrs:{\"data\":(\"https://img.shields.io/github/stars/\" + (library.github) + \"?style=social\")}}):_vm._e()])])])],1)],1)}),1)]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import {ViewTransitionType} from \"@/general/view-transition-type\";\n\ninterface Tech {\n name: string;\n img: string;\n url: string;\n width: number;\n}\n\ninterface CoWorker {\n name: string;\n url?: string;\n}\n\nexport enum OpenType {\n OPEN = -1,\n DOWNLOAD = -2\n}\n\nexport interface Product {\n name: string;\n logo?: string;\n icon?: string;\n sub: string;\n badges: Array;\n tech: Array;\n coWorker: Array;\n open?: OpenType;\n url?: string;\n transitionType?: ViewTransitionType;\n}\n\nexport interface Library {\n name: string;\n tags: Array;\n info: string;\n pub?: string;\n github?: string;\n}\n\nconst techMap = {\n // languages\n \"dart\": {\n \"name\": \"Dart\",\n \"img\": \"dart.png\",\n \"url\": \"https://dart.dev\",\n \"width\": 100\n },\n \"java\": {\n \"name\": \"Java\",\n \"img\": \"java.svg\",\n \"url\": \"http://java.com\",\n \"width\": 45\n },\n \"javascript\": {\n \"name\": \"JavaScript\",\n \"img\": \"javascript.svg\",\n \"url\": \"http://wikipedia.org/wiki/JavaScript\",\n \"width\": 60\n },\n \"kotlin\": {\n \"name\": \"Kotlin\",\n \"img\": \"kotlin.png\",\n \"url\": \"http://kotlinlang.org\",\n \"width\": 120\n },\n \"python\":{\n \"name\": \"Python\",\n \"img\": \"python.webp\",\n \"url\": \"https://www.python.org\",\n \"width\": 180\n },\n \"rust\": {\n \"name\": \"Rust\",\n \"img\": \"rust.png\",\n \"url\": \"https://www.rust-lang.org\",\n \"width\": 120\n },\n \"typescript\": {\n \"name\": \"Rust\",\n \"img\": \"typescript.png\",\n \"url\": \"https://www.typescriptlang.org\",\n \"width\": 70\n },\n\n // frameworks\n \"flutter\": {\n \"name\": \"Flutter\",\n \"img\": \"flutter.png\",\n \"url\": \"https://flutter.dev\",\n \"width\": 130\n },\n \"graphQL\": {\n \"name\": \"GraphQL\",\n \"img\": \"graphql.png\",\n \"url\": \"https://graphql.org\",\n \"width\": 160\n },\n \"libGDX\": {\n \"name\": \"LibGDX\",\n \"img\": \"libgdx.png\",\n \"url\": \"http://libgdx.badlogicgames.com\",\n \"width\": 120\n },\n \"react\": {\n \"name\": \"React\",\n \"img\": \"react.png\",\n \"url\": \"https://reactjs.org/\",\n \"width\": 120\n },\n \"socketIO\": {\n \"name\": \"Socket.IO\",\n \"img\": \"socketio.svg\",\n \"url\": \"https://socket.io\",\n \"width\": 150\n },\n \"spring\": {\n \"name\": \"Spring\",\n \"img\": \"spring.png\",\n \"url\": \"http://spring.io\",\n \"width\": 120\n },\n \"swing\": {\n \"name\": \"Swing\",\n \"img\": \"swing.png\",\n \"url\": \"http://docs.oracle.com/javase/7/docs/api/javax/swing/package-summary.html\",\n \"width\": 160\n },\n \"tailwind\":{\n \"name\": \"Tailwind CSS\",\n \"img\": \"tailwind.svg\",\n \"url\": \"https://tailwindcss.com\",\n \"width\": 200\n },\n \"vue\": {\n \"name\": \"Vue\",\n \"img\": \"vue.png\",\n \"url\": \"https://vuejs.org\",\n \"width\": 140\n },\n\n // other\n \"docker\": {\n \"name\": \"Docker\",\n \"img\": \"docker.png\",\n \"url\": \"https://www.docker.com\",\n \"width\": 160\n },\n \"jwt\": {\n \"name\": \"JWT\",\n \"img\": \"jwt.png\",\n \"url\": \"https://jwt.io\",\n \"width\": 130\n },\n \"mongoDB\": {\n \"name\": \"MongoDB\",\n \"img\": \"mongodb.png\",\n \"url\": \"https://www.mongodb.com\",\n \"width\": 150\n },\n \"mySQL\": {\n \"name\": \"MySQL\",\n \"img\": \"mysql.png\",\n \"url\": \"https://www.mysql.com\",\n \"width\": 120\n },\n \"nginx\": {\n \"name\": \"NGINX\",\n \"img\": \"nginx.png\",\n \"url\": \"http://www.nginx.com\",\n \"width\": 120\n },\n \"nodeJS\": {\n \"name\": \"NodeJS\",\n \"img\": \"nodejs.png\",\n \"url\": \"https://nodejs.org\",\n \"width\": 100\n },\n \"postgreSQL\": {\n \"name\": \"PostgreSQL\",\n \"img\": \"postgresql.png\",\n \"url\": \"https://www.postgresql.org/\",\n \"width\": 100\n },\n \"sqlite\": {\n \"name\": \"SQLite\",\n \"img\": \"sqlite.gif\",\n \"url\": \"https://www.sqlite.org\",\n \"width\": 100\n },\n \"tomcat\": {\n \"name\": \"Tomcat\",\n \"img\": \"tomcat.png\",\n \"url\": \"http://tomcat.apache.org\",\n \"width\": 120\n }\n}\n\nconst workerMap = {\n \"alexander\": {\n \"name\": \"Alexander Babel\",\n \"url\": \"https://alexbabel.com/\"\n },\n \"jonas\": {\n \"name\": \"Jonas Embach\",\n \"url\": \"https://bit-production.com\"\n },\n \"aleksa\": {\n \"name\": \"Aleksa Perovic\"\n },\n \"dominik\": {\n \"name\": \"Dominik Weiß\"\n },\n niels: {\n \"name\": \"Niels Sedat\"\n },\n};\n\nconst productMap = {\n doppelSpalt: {\n name: 'Doppelspalt Simulation',\n logo: 'doppelspalt.png',\n sub: 'Projekt im Physikunterricht',\n badges: ['Desktop'],\n tech: [techMap.java, techMap.swing, techMap.java, techMap.swing], // duplicate\n coWorker: [],\n open: OpenType.DOWNLOAD,\n url: '/static/home/doppelspalt.jar'\n },\n finvote: {\n name: 'FinVote',\n logo: 'finvote.png',\n sub: 'Votierungssystem für Hochschulen',\n badges: ['Android', 'iOS', 'Web'],\n tech: [techMap.kotlin, techMap.spring, techMap.postgreSQL, techMap.jwt, techMap.graphQL, techMap.javascript, techMap.react],\n coWorker: [workerMap.alexander, workerMap.jonas],\n open: OpenType.OPEN,\n url: 'https://finvote.de'\n },\n geowar: {\n name: 'GeoWar',\n logo: 'geowar.png',\n sub: 'Multiplayer Echtzeit-Strategiespiel',\n badges: ['Android', 'iOS', 'Web'],\n tech: [techMap.java, techMap.libGDX, techMap.nodeJS, techMap.mongoDB, techMap.socketIO],\n coWorker: [workerMap.alexander],\n open: OpenType.OPEN,\n url: '/geowar',\n transitionType: ViewTransitionType.GEOWAR\n },\n homepage: {\n name: 'tienisto.com',\n icon: 'mdi-laptop',\n sub: 'Aktuelle Webseite',\n badges: ['Web'],\n tech: [techMap.vue, techMap.typescript, techMap.rust, techMap.docker],\n coWorker: []\n },\n localSend: {\n name: 'LocalSend',\n logo: 'localsend.png',\n sub: 'Senden von Dateien über WLAN',\n badges: ['Android', 'iOS', 'Windows', 'MacOS', 'Linux'],\n tech: [techMap.flutter, techMap.dart, techMap.flutter, techMap.dart], // duplicate\n coWorker: [],\n open: OpenType.OPEN,\n url: 'https://localsend.org'\n },\n notan: {\n name: 'Notan',\n logo: 'notan.png',\n sub: 'Notenrechner mit Abiturfunktion',\n badges: ['Android', 'iOS'],\n tech: [techMap.flutter, techMap.dart, techMap.sqlite, techMap.flutter, techMap.dart, techMap.sqlite], // duplicate\n coWorker: [],\n open: OpenType.OPEN,\n url: '/notan',\n transitionType: ViewTransitionType.NOTAN\n },\n ovgu: {\n name: 'Welcome to OVGU',\n logo: 'ikus.png',\n sub: 'Uni-App',\n badges: ['Android', 'iOS', 'Web'],\n tech: [techMap.flutter, techMap.dart, techMap.spring, techMap.kotlin, techMap.postgreSQL, techMap.jwt, techMap.vue, techMap.javascript],\n coWorker: [],\n open: OpenType.OPEN,\n url: 'https://github.com/Tienisto/ikus-app'\n },\n sharkbench: {\n name: 'Sharkbench',\n logo: 'sharkbench.webp',\n sub: 'Benchmarks für Programmiersprachen',\n badges: ['Web'],\n tech: [techMap.vue, techMap.typescript, techMap.rust, techMap.docker],\n coWorker: [],\n open: OpenType.OPEN,\n url: 'https://sharkbench.dev'\n },\n sportbench: {\n name: 'Sportbench',\n logo: 'sportbench.webp',\n sub: 'Kompetitive Sport-App',\n badges: ['Android', 'iOS', 'Web'],\n tech: [techMap.flutter, techMap.dart, techMap.python, techMap.postgreSQL, techMap.rust, techMap.docker, techMap.vue, techMap.tailwind, techMap.typescript],\n coWorker: [workerMap.niels],\n open: OpenType.OPEN,\n url: 'https://sportben.ch'\n },\n stephaneum: {\n name: 'Stephaneum',\n logo: 'stephaneum.png',\n sub: 'Webplattform des Gymnasiums',\n badges: ['Web'],\n tech: [techMap.vue, techMap.kotlin, techMap.spring, techMap.mySQL, techMap.nginx],\n coWorker: [],\n open: OpenType.OPEN,\n url: 'https://stephaneum.de'\n },\n tictactoe: {\n name: 'Tic Tac Toe',\n logo: 'tictactoe.png',\n sub: 'Strategiespiel',\n badges: ['Desktop'],\n tech: [techMap.java, techMap.swing, techMap.java, techMap.swing], // duplicate\n coWorker: [workerMap.dominik, workerMap.aleksa],\n open: OpenType.DOWNLOAD,\n url: '/static/home/tictactoe.jar'\n }\n}\n\nconst libraryMap = {\n slang: {\n name: 'Slang',\n tags: ['Flutter'],\n info: 'Eine Flutter-Bibliothek, die es einfach macht, Übersetzungen zu implementieren.',\n pub: 'slang',\n github: 'slang-i18n/slang',\n },\n rhttp: {\n name: 'Rhttp',\n tags: ['Flutter'],\n info: 'Eine performante HTTP-Bibliothek für Flutter, die Rust im Hintergrund verwendet.',\n pub: 'rhttp',\n github: 'Tienisto/rhttp',\n },\n refena: {\n name: 'Refena',\n tags: ['Flutter'],\n info: 'Eine State-Management-Bibliothek für Flutter.',\n pub: 'refena',\n github: 'refena/refena',\n },\n};\n\nexport const productList: Array = [\n productMap.localSend,\n productMap.sharkbench,\n productMap.sportbench,\n productMap.notan,\n productMap.ovgu,\n productMap.finvote,\n productMap.stephaneum,\n productMap.geowar,\n productMap.tictactoe,\n productMap.homepage,\n productMap.doppelSpalt\n];\n\nexport const libraryList: Array = [\n libraryMap.slang,\n libraryMap.rhttp,\n libraryMap.refena,\n];\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {Component, Prop, Vue} from 'vue-property-decorator';\nimport {Library, libraryList, OpenType, Product, productList} from '@/home/components/product-list';\nimport SectionContainer from \"@/home/components/SectionContainer.vue\";\n\n@Component({\n components: {\n SectionContainer\n },\n})\nexport default class SectionProjects extends Vue {\n\n @Prop({required: true})\n readonly mobile!: boolean;\n\n products: Array = productList;\n libraries: Array = libraryList;\n\n getOpenString(product: Product): string {\n switch (product.open) {\n case OpenType.DOWNLOAD:\n return 'Download';\n case OpenType.OPEN:\n return 'Öffnen';\n default:\n return ''\n }\n }\n\n openProject(product: Product, e: Event) {\n if (product.transitionType) {\n e.preventDefault();\n this.$emit('view-transition', product.transitionType);\n setTimeout(() => {\n this.$router.push(product.url!);\n }, 600);\n }\n }\n\n mounted() {\n\n const insertStyleSheetRule = (ruleText: string) => {\n const sheets = document.styleSheets;\n if(sheets.length === 0) {\n const style = document.createElement('style');\n style.appendChild(document.createTextNode(\"\"));\n document.head.appendChild(style);\n }\n\n const sheet = sheets[sheets.length - 1];\n sheet.insertRule(ruleText, sheet.rules ? sheet.rules.length : sheet.cssRules.length);\n }\n\n const lists: HTMLCollectionOf = document.getElementsByClassName(\"tech-list\");\n for(let i = 0; i < lists.length; i++) {\n const item = lists[i] as HTMLElement;\n const content = item.innerHTML;\n item.innerHTML = content + content; // double the content\n\n const margin = (item.children[0]! as HTMLElement).style.marginLeft === '50px' ? 50 : 25;\n const width = parseInt(item.nextElementSibling!.innerHTML) + item.children.length * margin;\n const t = width / 50;\n item.style.animation = \"anim\" + i +\" \"+ t +\"s linear 1s infinite\";\n insertStyleSheetRule(\"@keyframes anim\"+i+\" { 100% { transform: translateX(-\"+width+\"px); } }\");\n }\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!./SectionProjects.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!./SectionProjects.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SectionProjects.vue?vue&type=template&id=1edfd2d0&\"\nimport script from \"./SectionProjects.vue?vue&type=script&lang=ts&\"\nexport * from \"./SectionProjects.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SectionProjects.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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardText,VCardTitle,VCol,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('SectionContainer',{attrs:{\"title\":\"Portfolio.\"},scopedSlots:_vm._u([{key:\"intro\",fn:function(){return [_vm._v(\" Am meisten Praxiserfahrung habe ich in der App-Entwicklung (mit Flutter) sowie in der Backend-Entwicklung (mit Spring) gesammelt. \"),_c('br'),_vm._v(\" Insbesondere in Flutter beteilige ich am Ökosystem mit eigenen Open-Source-Bibliotheken. \")]},proxy:true},{key:\"body\",fn:function(){return [_c('p',{staticClass:\"white--text\",class:_vm.mobile ? ['text-h5'] : ['text-h4'],style:(_vm.mobile ? {'text-align': 'center'} : {})},[_vm._v(\"Technologien\")]),_c('v-row',{staticClass:\"mt-2\"},_vm._l((_vm.groups),function(group,index){return _c('v-col',{key:'g'+index,attrs:{\"cols\":\"12\",\"lg\":\"4\"}},[_c('v-card',[_c('v-card-title',[_c('v-icon',{staticClass:\"black--text\",attrs:{\"left\":\"\"}},[_vm._v(_vm._s(group.icon))]),_vm._v(_vm._s(group.title)+\" \")],1),_c('v-card-text',_vm._l((group.items),function(item,index){return _c('div',{key:index,staticClass:\"text--primary\"},[_vm._v(\" \"+_vm._s(item)+\" \")])}),0)],1)],1)}),1),_c('div',{style:(_vm.mobile ? {'text-align': 'center'} : {})},[_c('p',{staticClass:\"white--text\",class:_vm.mobile ? ['text-h5'] : ['text-h4'],staticStyle:{\"margin-top\":\"60px\"}},[_vm._v(\" Favoriten \")]),_c('p',{staticClass:\"white--text\"},[_vm._v(\" Ich setze viel Wert auf Wartbarkeit und Stabilität. Deswegen bevorzuge ich Technologien, die wenig Fehler erlauben (statische Typisierung, NPE-Safety, usw.). \")])]),_c('v-row',{staticClass:\"mt-4\"},_vm._l((_vm.favoriteStack),function(stack,index){return _c('v-col',{key:'stack-'+index,attrs:{\"cols\":\"12\",\"lg\":\"4\"}},[_c('v-card',{staticStyle:{\"height\":\"100%\"}},[_c('v-card-title',{staticClass:\"orange\"},[_vm._v(\" \"+_vm._s(stack.title)+\" \")]),_c('v-card-text',{staticClass:\"pa-4 black--text\"},[_vm._v(\" \"+_vm._s(stack.content)+\" \")])],1)],1)}),1)]},proxy:true}])})}\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\nimport {Component, Prop, Vue} from 'vue-property-decorator';\nimport SectionContainer from \"@/home/components/SectionContainer.vue\";\n\ninterface PortfolioGroup {\n icon: string;\n title: string;\n items: Array;\n}\n\ninterface FavoriteStack {\n title: string;\n content: string;\n}\n\n@Component({\n components: {\n SectionContainer\n },\n})\nexport default class SectionPortfolio extends Vue {\n\n @Prop({required: true})\n readonly mobile!: boolean;\n\n groups: Array = [\n {\n icon: 'mdi-cellphone',\n title: 'App',\n items: [\n 'Flutter',\n 'LibGDX (für Spiele)'\n ]\n },\n {\n icon: 'mdi-laptop',\n title: 'Frontend',\n items: [\n 'Vue (JS / TS)',\n 'React'\n ]\n },\n {\n icon: 'mdi-server',\n title: 'Backend',\n items: [\n 'Spring (Java / Kotlin)',\n 'Axum (Rust)',\n ]\n },\n {\n icon: 'mdi-database',\n title: 'Datenbank',\n items: [\n 'PostgreSQL',\n 'MySQL / MariaDB',\n 'SQLite',\n ]\n },\n {\n icon: 'mdi-wrench',\n title: 'Sonstiges',\n items: [\n 'REST',\n 'Docker',\n 'Git',\n ]\n }\n ];\n\n favoriteStack: Array = [\n {\n 'title': 'Flutter (Dart)',\n 'content': 'Für Apps verwende ich gerne Flutter. Aufgrund der eigenen Rendering-Engine sieht die UI auf jedem Gerät gleich aus, so dass das lästige Debugging auf unterschiedlichen Geräten kein Thema ist.'\n },\n {\n 'title': 'Vue (TypeScript)',\n 'content': 'Vue besitzt viele nützliche Funktionen für das Templating, weswegen weniger Code erforderlich ist. Zudem finde ich die Struktur template-script-style sehr schön. Natürlich darf statische Typisierung mit TypeScript nicht fehlen!'\n },\n {\n 'title': 'Spring (Kotlin)',\n 'content': 'Bei der Backend-Entwicklung bevorzuge ich Spring, aufgrund der Reife und Stabilität des Frameworks. Mit Kotlin gehören zudem NPEs der Vergangenheit an.'\n }\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!./SectionPortfolio.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!./SectionPortfolio.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SectionPortfolio.vue?vue&type=template&id=727f43dc&\"\nimport script from \"./SectionPortfolio.vue?vue&type=script&lang=ts&\"\nexport * from \"./SectionPortfolio.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('SectionContainer',{attrs:{\"title\":\"Über mich.\"},scopedSlots:_vm._u([{key:\"intro\",fn:function(){return [_vm._v(\" Bereits während meiner Schulzeit faszinierte mich das Programmieren. Zusammen mit meinem Informatiklehrer durfte ich die Schulwebseite neu gestalten, da sie damals anfällig für Fehler war. Als Erfinder mehrerer Open-Source-Projekte, die aktiv genutzt werden, freue ich mich, zur Gemeinschaft beizutragen und kontinuierlich mein Wissen und meine Fähigkeiten zu erweitern. Mittlerweile sind viele der von mir entwickelten Softwarelösungen erfolgreich im Einsatz, wobei ich bei einer Reihe von Projekten eine führende Rolle übernommen habe. \")]},proxy:true},{key:\"body\",fn:function(){return [_c('div',{staticClass:\"hidden-md-and-up\"},_vm._l((_vm.items),function(item,index){return _c('v-card',{key:index,staticClass:\"mb-6\"},[_c('v-card-title',[_vm._v(_vm._s(item.title))]),_c('v-card-subtitle',[_vm._v(_vm._s(item.date))]),_c('v-card-text',[(item.education)?_c('div',{staticClass:\"mb-2\"},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-school\")]),_vm._v(_vm._s(item.education)+\" \")],1):_vm._e(),(item.company)?_c('div',{staticClass:\"mb-2\"},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-domain\")]),_vm._v(_vm._s(item.company)+\" \")],1):_vm._e(),(item.location)?_c('div',{staticClass:\"mb-2\"},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-map-marker\")]),_vm._v(_vm._s(item.location)+\" \")],1):_vm._e(),_c('span',{domProps:{\"innerHTML\":_vm._s(item.content)}})])],1)}),1),_c('v-timeline',{staticClass:\"hidden-sm-and-down\"},_vm._l((_vm.items),function(item,i){return _c('v-timeline-item',{key:i,attrs:{\"color\":\"orange\",\"icon\":item.icon,\"fill-dot\":\"\"},scopedSlots:_vm._u([{key:\"opposite\",fn:function(){return [_c('span',{staticClass:\"white--text\"},[_vm._v(_vm._s(item.date))])]},proxy:true}],null,true)},[_c('v-card',[_c('v-card-title',{staticClass:\"orange\"},[_vm._v(_vm._s(item.title))]),_c('v-card-text',{staticClass:\"white pa-4\"},[(item.education)?_c('div',{staticClass:\"mb-2\"},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-school\")]),_vm._v(_vm._s(item.education)+\" \")],1):_vm._e(),(item.company)?_c('div',{staticClass:\"mb-2\"},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-domain\")]),_vm._v(_vm._s(item.company)+\" \")],1):_vm._e(),(item.location)?_c('div',{staticClass:\"mb-2\"},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-map-marker\")]),_vm._v(_vm._s(item.location)+\" \")],1):_vm._e(),_c('span',{domProps:{\"innerHTML\":_vm._s(item.content)}})])],1)],1)}),1)]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {Component, Vue} from 'vue-property-decorator';\nimport SectionContainer from \"@/home/components/SectionContainer.vue\";\n\nenum ItemIcon {\n EDUCATION = 'mdi-school',\n WORK = 'mdi-briefcase'\n}\n\ntype TimeLineItem = {\n title: string;\n date: string;\n icon: ItemIcon;\n education?: string;\n company?: string;\n location?: string;\n content?: string;\n}\n\n@Component({\n components: {\n SectionContainer\n },\n})\nexport default class SectionAboutMe extends Vue {\n\n items: Array = [\n {\n title: 'Abitur',\n date: '2009 - 2017',\n icon: ItemIcon.EDUCATION,\n education: 'Gymnasium Stephaneum',\n location: 'Aschersleben',\n content: 'In der Schule habe ich bereits erste Programmiererfahrungen gesammelt und dieses Wissen bei mehreren Jugend forscht Wettbewerben unter Beweis gestellt. Zusätzlich habe ich im Rahmen einer besonderen Lernleistung die Webplattform der Schule von Grund auf neu implementiert.'\n },\n {\n title: 'Bachelor Informatik',\n date: '2017 - 2021',\n icon: ItemIcon.EDUCATION,\n education: 'Otto-von-Guericke-Universität',\n location: 'Magdeburg',\n content: 'Ich habe Module in Bereichen Software Engineering, Machine Learning und IT Security belegt. Da das Studium teilweise recht theoretisch war, habe ich zusätzlich mit Freunden an Hobby-Projekten gearbeitet. Zwei Software-Lösungen \"FinVote\" und \"Welcome to OVGU\" sind sogar aktiv im Uni-Einsatz.'\n },\n {\n title: 'Job: App-Entwickler',\n date: '2021 - 2023',\n icon: ItemIcon.WORK,\n company: 'source.kitchen GmbH',\n location: 'Leipzig',\n content: 'Als App-Entwickler habe ich mit Flutter an der Entwicklung mobiler Apps gearbeitet. Kunden waren in erster Linie Immobilienunternehmen, die ihre Prozesse digitalisieren wollen.',\n },\n {\n title: 'Selbstständig',\n date: '2023 - heute',\n icon: ItemIcon.WORK,\n location: 'Berlin',\n content: 'Als Selbstständiger bin ich teils bei Freelancer-Projekten involviert, teils arbeite ich an eigenen Projekten.',\n }\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!./SectionAboutMe.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!./SectionAboutMe.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SectionAboutMe.vue?vue&type=template&id=5e4bb8c2&\"\nimport script from \"./SectionAboutMe.vue?vue&type=script&lang=ts&\"\nexport * from \"./SectionAboutMe.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardSubtitle } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTimeline } from 'vuetify/lib/components/VTimeline';\nimport { VTimelineItem } from 'vuetify/lib/components/VTimeline';\ninstallComponents(component, {VCard,VCardSubtitle,VCardText,VCardTitle,VIcon,VTimeline,VTimelineItem})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{ref:\"span\"},[_vm._v(_vm._s(_vm.curr))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\nimport {Component, Vue, Prop, Ref} from 'vue-property-decorator';\n\n@Component\nexport default class AnimatedText extends Vue {\n\n @Prop({required: true})\n readonly text!: Array;\n\n @Ref('span') readonly span!: HTMLElement\n\n curr = '|';\n timerId: number | null = null;\n\n mounted() {\n let wordIndex = 0;\n let forward = true;\n let letterIndex = 0;\n let waitIndex = 0;\n\n this.timerId = setTimeout(() =>{\n this.timerId = setInterval(() => {\n if(waitIndex) {\n const showCursor = (Math.floor(waitIndex/10) % 2) === 0;\n if(showCursor)\n this.span.innerText = this.text[wordIndex] + '|';\n else\n this.span.innerText = this.text[wordIndex];\n waitIndex--;\n return;\n }\n\n if (letterIndex === 0) {\n this.span.innerHTML = '|';\n } else {\n this.span.innerHTML = this.text[wordIndex].substr(0, letterIndex) + '|';\n }\n\n if (forward) {\n letterIndex++;\n if (letterIndex === this.text[wordIndex].length) {\n waitIndex = 60;\n forward = false;\n }\n } else {\n letterIndex--;\n if (letterIndex === 0) {\n forward = true;\n wordIndex = (wordIndex + 1) % this.text.length;\n }\n }\n }, 50);\n }, 2000);\n }\n\n destroyed() {\n if (this.timerId) {\n clearInterval(this.timerId);\n }\n }\n\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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, Ref} from 'vue-property-decorator';\nimport HomeFooter from \"@/home/components/HomeFooter.vue\";\nimport SectionContact from \"@/home/components/SectionContact.vue\";\nimport SectionProjects from \"@/home/components/SectionProjects.vue\";\nimport SectionPortfolio from \"@/home/components/SectionPortfolio.vue\";\nimport SectionAboutMe from \"@/home/components/SectionAboutMe.vue\";\nimport AnimatedText from \"@/home/components/AnimatedText.vue\";\n\nenum Section {\n NONE = -1,\n ABOUT_ME = 0,\n PORTFOLIO = 1,\n PROJECTS = 2,\n CONTACT = 3\n}\n\n@Component({\n components: {\n AnimatedText,\n SectionAboutMe,\n SectionPortfolio,\n SectionProjects,\n SectionContact,\n HomeFooter\n },\n})\nexport default class Home extends Vue {\n\n @Ref('homeNav') readonly homeNav!: HTMLElement\n\n // used for check in viewport\n @Ref('sectionPortfolio') readonly sectionPortfolio!: Vue\n @Ref('sectionProjects') readonly sectionProjects!: Vue\n @Ref('sectionContact') readonly sectionContact!: Vue\n\n // used for scrolling\n @Ref('sectionAboutMePre') readonly sectionAboutMePre!: HTMLElement\n @Ref('sectionPortfolioPre') readonly sectionPortfolioPre!: HTMLElement\n @Ref('sectionProjectsPre') readonly sectionProjectsPre!: HTMLElement\n @Ref('sectionContactPre') readonly sectionContactPre!: HTMLElement\n\n\n mobile = false;\n navStartY = 0;\n section = Section.NONE;\n desktopLandingVisible = true;\n\n repeatIntro() {\n this.desktopLandingVisible = false;\n this.$nextTick(() => {\n this.desktopLandingVisible = true;\n });\n }\n\n scrollTo(index: number) {\n const scrollBehavior: ScrollIntoViewOptions = {\n behavior: 'smooth',\n block: 'start'\n };\n\n switch (index) {\n case Section.ABOUT_ME:\n this.sectionAboutMePre.scrollIntoView(scrollBehavior);\n break;\n case Section.PORTFOLIO:\n this.sectionPortfolioPre.scrollIntoView(scrollBehavior);\n break;\n case Section.PROJECTS:\n this.sectionProjectsPre.scrollIntoView(scrollBehavior);\n break;\n case Section.CONTACT:\n this.sectionContactPre.scrollIntoView(scrollBehavior);\n break;\n }\n }\n\n scrollToTop() {\n window.scrollTo({top: 0, behavior: 'smooth'});\n }\n\n onResize() {\n this.mobile = this.$vuetify.breakpoint.smAndDown;\n }\n\n isHighlighted(index: number): boolean {\n return this.section === index;\n }\n\n scrollHandler() {\n if (window.pageYOffset > this.navStartY) {\n this.homeNav.classList.add('home-nav-sticky');\n this.homeNav.style.animation = 'none'\n this.homeNav.style.opacity = '1';\n this.homeNav.classList.add('elevation-3');\n this.section = Section.ABOUT_ME;\n } else {\n this.homeNav.classList.remove('home-nav-sticky');\n this.homeNav.classList.remove('elevation-3');\n this.section = Section.NONE;\n }\n\n if (this.isViewed(this.sectionContact.$el)) {\n this.section = Section.CONTACT;\n } else if (this.isViewed(this.sectionProjects.$el)) {\n this.section = Section.PROJECTS;\n } else if (this.isViewed(this.sectionPortfolio.$el)) {\n this.section = Section.PORTFOLIO;\n }\n }\n\n isViewed(el: Element) {\n const rect = el.getBoundingClientRect();\n return rect.top < this.vh(0.4);\n }\n\n vh(percent: number) {\n const h = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n return percent * h;\n }\n\n mounted() {\n this.onResize();\n this.navStartY = this.homeNav.offsetTop + 5;\n window.addEventListener('scroll', this.scrollHandler);\n window.addEventListener('resize', this.onResize, { passive: true });\n }\n\n beforeDestroy() {\n window.removeEventListener('resize', this.onResize);\n }\n\n destroyed() {\n window.removeEventListener('scroll', this.scrollHandler);\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!./AnimatedText.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!./AnimatedText.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AnimatedText.vue?vue&type=template&id=2634c60a&\"\nimport script from \"./AnimatedText.vue?vue&type=script&lang=ts&\"\nexport * from \"./AnimatedText.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--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!./Home.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!./Home.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=7c1b2a8c&\"\nimport script from \"./Home.vue?vue&type=script&lang=ts&\"\nexport * from \"./Home.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Home.vue?vue&type=style&index=0&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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMain } from 'vuetify/lib/components/VMain';\ninstallComponents(component, {VBtn,VIcon,VMain})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HomeLayout',{attrs:{\"title\":\"Datenschutz\"},on:{\"view-transition\":function (type) { return _vm.$emit('view-transition', type); }}},[_c('h4',[_vm._v(\"Datenschutzerklärung\")]),_c('h5',{attrs:{\"id\":\"dsg-general-intro\"}}),_c('p',[_vm._v(\" Diese Datenschutzerklärung klärt Sie über die Art, den Umfang und Zweck der Verarbeitung von personenbezogenen Daten (nachfolgend kurz „Daten“) im Rahmen der Erbringung unserer Leistungen sowie innerhalb unseres Onlineangebotes und der mit ihm verbundenen Webseiten, Funktionen und Inhalte sowie externen Onlinepräsenzen, wie z.B. unser Social Media Profile auf (nachfolgend gemeinsam bezeichnet als „Onlineangebot“). Im Hinblick auf die verwendeten Begrifflichkeiten, wie z.B. „Verarbeitung“ oder „Verantwortlicher“ verweisen wir auf die Definitionen im Art. 4 der Datenschutzgrundverordnung (DSGVO). \"),_c('br'),_c('br')]),_c('h5',{attrs:{\"id\":\"dsg-general-controller\"}},[_vm._v(\"Verantwortlicher\")]),_c('p',[_c('span',{staticClass:\"tsmcontroller\"},[_vm._v(\"Tien Do Nam\"),_c('br'),_vm._v(\" Gotlandstraße 7\"),_c('br'),_vm._v(\" 10439 Berlin\"),_c('br'),_vm._v(\" Deutschland\"),_c('br'),_c('br'),_vm._v(\" E-Mail: dev.tien.donam@gmail.com\")])]),_c('h5',{attrs:{\"id\":\"dsg-general-datatype\"}},[_vm._v(\"Arten der verarbeiteten Daten\")]),_c('p',[_vm._v(\" - Bestandsdaten (z.B., Personen-Stammdaten, Namen oder Adressen).\"),_c('br'),_vm._v(\" - Kontaktdaten (z.B., E-Mail, Telefonnummern).\"),_c('br'),_vm._v(\" - Inhaltsdaten (z.B., Texteingaben, Fotografien, Videos).\"),_c('br'),_vm._v(\" - Nutzungsdaten (z.B., besuchte Webseiten, Interesse an Inhalten, Zugriffszeiten).\"),_c('br'),_vm._v(\" - Meta-/Kommunikationsdaten (z.B., Geräte-Informationen, IP-Adressen). \")]),_c('h5',{attrs:{\"id\":\"dsg-general-datasubjects\"}},[_vm._v(\"Kategorien betroffener Personen\")]),_c('p',[_vm._v(\" Besucher und Nutzer des Onlineangebotes (Nachfolgend bezeichnen wir die betroffenen Personen zusammenfassend auch als „Nutzer“).\"),_c('br')]),_c('h5',{attrs:{\"id\":\"dsg-general-purpose\"}},[_vm._v(\"Zweck der Verarbeitung\")]),_c('p',[_vm._v(\" - Zurverfügungstellung des Onlineangebotes, seiner Funktionen und Inhalte.\"),_c('br'),_vm._v(\" - Beantwortung von Kontaktanfragen und Kommunikation mit Nutzern.\"),_c('br'),_vm._v(\" - Sicherheitsmaßnahmen.\"),_c('br'),_vm._v(\" - Reichweitenmessung/Marketing\"),_c('br'),_c('span',{staticClass:\"tsmcom\"})]),_c('h5',{attrs:{\"id\":\"dsg-general-terms\"}},[_vm._v(\"Verwendete Begrifflichkeiten\")]),_c('p',[_vm._v(\" „Personenbezogene Daten“ sind alle Informationen, die sich auf eine identifizierte oder identifizierbare natürliche Person (im Folgenden „betroffene Person“) beziehen; als identifizierbar wird eine natürliche Person angesehen, die direkt oder indirekt, insbesondere mittels Zuordnung zu einer Kennung wie einem Namen, zu einer Kennnummer, zu Standortdaten, zu einer Online-Kennung (z.B. Cookie) oder zu einem oder mehreren besonderen Merkmalen identifiziert werden kann, die Ausdruck der physischen, physiologischen, genetischen, psychischen, wirtschaftlichen, kulturellen oder sozialen Identität dieser natürlichen Person sind.\"),_c('br'),_c('br'),_vm._v(\" „Verarbeitung“ ist jeder mit oder ohne Hilfe automatisierter Verfahren ausgeführte Vorgang oder jede solche Vorgangsreihe im Zusammenhang mit personenbezogenen Daten. Der Begriff reicht weit und umfasst praktisch jeden Umgang mit Daten.\"),_c('br'),_c('br'),_vm._v(\" „Pseudonymisierung“ die Verarbeitung personenbezogener Daten in einer Weise, dass die personenbezogenen Daten ohne Hinzuziehung zusätzlicher Informationen nicht mehr einer spezifischen betroffenen Person zugeordnet werden können, sofern diese zusätzlichen Informationen gesondert aufbewahrt werden und technischen und organisatorischen Maßnahmen unterliegen, die gewährleisten, dass die personenbezogenen Daten nicht einer identifizierten oder identifizierbaren natürlichen Person zugewiesen werden.\"),_c('br'),_c('br'),_vm._v(\" „Profiling“ jede Art der automatisierten Verarbeitung personenbezogener Daten, die darin besteht, dass diese personenbezogenen Daten verwendet werden, um bestimmte persönliche Aspekte, die sich auf eine natürliche Person beziehen, zu bewerten, insbesondere um Aspekte bezüglich Arbeitsleistung, wirtschaftliche Lage, Gesundheit, persönliche Vorlieben, Interessen, Zuverlässigkeit, Verhalten, Aufenthaltsort oder Ortswechsel dieser natürlichen Person zu analysieren oder vorherzusagen.\"),_c('br'),_c('br'),_vm._v(\" Als „Verantwortlicher“ wird die natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, die allein oder gemeinsam mit anderen über die Zwecke und Mittel der Verarbeitung von personenbezogenen Daten entscheidet, bezeichnet.\"),_c('br'),_c('br'),_vm._v(\" „Auftragsverarbeiter“ eine natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, die personenbezogene Daten im Auftrag des Verantwortlichen verarbeitet.\"),_c('br')]),_c('h5',{attrs:{\"id\":\"dsg-general-legalbasis\"}},[_vm._v(\"Maßgebliche Rechtsgrundlagen\")]),_c('p',[_vm._v(\" Nach Maßgabe des Art. 13 DSGVO teilen wir Ihnen die Rechtsgrundlagen unserer Datenverarbeitungen mit. Für Nutzer aus dem Geltungsbereich der Datenschutzgrundverordnung (DSGVO), d.h. der EU und des EWG gilt, sofern die Rechtsgrundlage in der Datenschutzerklärung nicht genannt wird, Folgendes: \"),_c('br'),_vm._v(\" Die Rechtsgrundlage für die Einholung von Einwilligungen ist Art. 6 Abs. 1 lit. a und Art. 7 DSGVO;\"),_c('br'),_vm._v(\" Die Rechtsgrundlage für die Verarbeitung zur Erfüllung unserer Leistungen und Durchführung vertraglicher Maßnahmen sowie Beantwortung von Anfragen ist Art. 6 Abs. 1 lit. b DSGVO;\"),_c('br'),_vm._v(\" Die Rechtsgrundlage für die Verarbeitung zur Erfüllung unserer rechtlichen Verpflichtungen ist Art. 6 Abs. 1 lit. c DSGVO;\"),_c('br'),_vm._v(\" Für den Fall, dass lebenswichtige Interessen der betroffenen Person oder einer anderen natürlichen Person eine Verarbeitung personenbezogener Daten erforderlich machen, dient Art. 6 Abs. 1 lit. d DSGVO als Rechtsgrundlage.\"),_c('br'),_vm._v(\" Die Rechtsgrundlage für die erforderliche Verarbeitung zur Wahrnehmung einer Aufgabe, die im öffentlichen Interesse liegt oder in Ausübung öffentlicher Gewalt erfolgt, die dem Verantwortlichen übertragen wurde ist Art. 6 Abs. 1 lit. e DSGVO. \"),_c('br'),_vm._v(\" Die Rechtsgrundlage für die Verarbeitung zur Wahrung unserer berechtigten Interessen ist Art. 6 Abs. 1 lit. f DSGVO. \"),_c('br'),_vm._v(\" Die Verarbeitung von Daten zu anderen Zwecken als denen, zu denen sie ehoben wurden, bestimmt sich nach den Vorgaben des Art 6 Abs. 4 DSGVO. \"),_c('br'),_vm._v(\" Die Verarbeitung von besonderen Kategorien von Daten (entsprechend Art. 9 Abs. 1 DSGVO) bestimmt sich nach den Vorgaben des Art. 9 Abs. 2 DSGVO. \"),_c('br')]),_c('h5',{attrs:{\"id\":\"dsg-general-securitymeasures\"}},[_vm._v(\"Sicherheitsmaßnahmen\")]),_c('p',[_vm._v(\" Wir treffen nach Maßgabe der gesetzlichen Vorgabenunter Berücksichtigung des Stands der Technik, der Implementierungskosten und der Art, des Umfangs, der Umstände und der Zwecke der Verarbeitung sowie der unterschiedlichen Eintrittswahrscheinlichkeit und Schwere des Risikos für die Rechte und Freiheiten natürlicher Personen, geeignete technische und organisatorische Maßnahmen, um ein dem Risiko angemessenes Schutzniveau zu gewährleisten.\"),_c('br'),_c('br'),_vm._v(\" Zu den Maßnahmen gehören insbesondere die Sicherung der Vertraulichkeit, Integrität und Verfügbarkeit von Daten durch Kontrolle des physischen Zugangs zu den Daten, als auch des sie betreffenden Zugriffs, der Eingabe, Weitergabe, der Sicherung der Verfügbarkeit und ihrer Trennung. Des Weiteren haben wir Verfahren eingerichtet, die eine Wahrnehmung von Betroffenenrechten, Löschung von Daten und Reaktion auf Gefährdung der Daten gewährleisten. Ferner berücksichtigen wir den Schutz personenbezogener Daten bereits bei der Entwicklung, bzw. Auswahl von Hardware, Software sowie Verfahren, entsprechend dem Prinzip des Datenschutzes durch Technikgestaltung und durch datenschutzfreundliche Voreinstellungen.\"),_c('br')]),_c('h5',{attrs:{\"id\":\"dsg-general-coprocessing\"}},[_vm._v(\" Zusammenarbeit mit Auftragsverarbeitern, gemeinsam Verantwortlichen und Dritten \")]),_c('p',[_vm._v(\" Sofern wir im Rahmen unserer Verarbeitung Daten gegenüber anderen Personen und Unternehmen (Auftragsverarbeitern, gemeinsam Verantwortlichen oder Dritten) offenbaren, sie an diese übermitteln oder ihnen sonst Zugriff auf die Daten gewähren, erfolgt dies nur auf Grundlage einer gesetzlichen Erlaubnis (z.B. wenn eine Übermittlung der Daten an Dritte, wie an Zahlungsdienstleister, zur Vertragserfüllung erforderlich ist), Nutzer eingewilligt haben, eine rechtliche Verpflichtung dies vorsieht oder auf Grundlage unserer berechtigten Interessen (z.B. beim Einsatz von Beauftragten, Webhostern, etc.). \"),_c('br'),_c('br'),_vm._v(\" Sofern wir Daten anderen Unternehmen unserer Unternehmensgruppe offenbaren, übermitteln oder ihnen sonst den Zugriff gewähren, erfolgt dies insbesondere zu administrativen Zwecken als berechtigtes Interesse und darüberhinausgehend auf einer den gesetzlichen Vorgaben entsprechenden Grundlage. \"),_c('br')]),_c('h5',{attrs:{\"id\":\"dsg-general-thirdparty\"}},[_vm._v(\"Übermittlungen in Drittländer\")]),_c('p',[_vm._v(\" Sofern wir Daten in einem Drittland (d.h. außerhalb der Europäischen Union (EU), des Europäischen Wirtschaftsraums (EWR) oder der Schweizer Eidgenossenschaft) verarbeiten oder dies im Rahmen der Inanspruchnahme von Diensten Dritter oder Offenlegung, bzw. Übermittlung von Daten an andere Personen oder Unternehmen geschieht, erfolgt dies nur, wenn es zur Erfüllung unserer (vor)vertraglichen Pflichten, auf Grundlage Ihrer Einwilligung, aufgrund einer rechtlichen Verpflichtung oder auf Grundlage unserer berechtigten Interessen geschieht. Vorbehaltlich gesetzlicher oder vertraglicher Erlaubnisse, verarbeiten oder lassen wir die Daten in einem Drittland nur beim Vorliegen der gesetzlichen Voraussetzungen. D.h. die Verarbeitung erfolgt z.B. auf Grundlage besonderer Garantien, wie der offiziell anerkannten Feststellung eines der EU entsprechenden Datenschutzniveaus (z.B. für die USA durch das „Privacy Shield“) oder Beachtung offiziell anerkannter spezieller vertraglicher Verpflichtungen. \")]),_c('h5',{attrs:{\"id\":\"dsg-general-rightssubject\"}},[_vm._v(\"Rechte der betroffenen Personen\")]),_c('p',[_vm._v(\" Sie haben das Recht, eine Bestätigung darüber zu verlangen, ob betreffende Daten verarbeitet werden und auf Auskunft über diese Daten sowie auf weitere Informationen und Kopie der Daten entsprechend den gesetzlichen Vorgaben.\"),_c('br'),_c('br'),_vm._v(\" Sie haben entsprechend. den gesetzlichen Vorgaben das Recht, die Vervollständigung der Sie betreffenden Daten oder die Berichtigung der Sie betreffenden unrichtigen Daten zu verlangen.\"),_c('br'),_c('br'),_vm._v(\" Sie haben nach Maßgabe der gesetzlichen Vorgaben das Recht zu verlangen, dass betreffende Daten unverzüglich gelöscht werden, bzw. alternativ nach Maßgabe der gesetzlichen Vorgaben eine Einschränkung der Verarbeitung der Daten zu verlangen.\"),_c('br'),_c('br'),_vm._v(\" Sie haben das Recht zu verlangen, dass die Sie betreffenden Daten, die Sie uns bereitgestellt haben nach Maßgabe der gesetzlichen Vorgaben zu erhalten und deren Übermittlung an andere Verantwortliche zu fordern. \"),_c('br'),_c('br'),_vm._v(\" Sie haben ferner nach Maßgabe der gesetzlichen Vorgaben das Recht, eine Beschwerde bei der zuständigen Aufsichtsbehörde einzureichen.\"),_c('br')]),_c('h5',{attrs:{\"id\":\"dsg-general-revokeconsent\"}},[_vm._v(\"Widerrufsrecht\")]),_c('p',[_vm._v(\" Sie haben das Recht, erteilte Einwilligungen mit Wirkung für die Zukunft zu widerrufen. \")]),_c('h5',{attrs:{\"id\":\"dsg-general-object\"}},[_vm._v(\"Widerspruchsrecht\")]),_c('p',[_c('strong',[_vm._v(\"Sie können der künftigen Verarbeitung der Sie betreffenden Daten nach Maßgabe der gesetzlichen Vorgaben jederzeit widersprechen. Der Widerspruch kann insbesondere gegen die Verarbeitung für Zwecke der Direktwerbung erfolgen.\")])]),_c('h5',{attrs:{\"id\":\"dsg-general-cookies\"}},[_vm._v(\" Cookies und Widerspruchsrecht bei Direktwerbung \")]),_c('p',[_vm._v(\" Als „Cookies“ werden kleine Dateien bezeichnet, die auf Rechnern der Nutzer gespeichert werden. Innerhalb der Cookies können unterschiedliche Angaben gespeichert werden. Ein Cookie dient primär dazu, die Angaben zu einem Nutzer (bzw. dem Gerät auf dem das Cookie gespeichert ist) während oder auch nach seinem Besuch innerhalb eines Onlineangebotes zu speichern. Als temporäre Cookies, bzw. „Session-Cookies“ oder „transiente Cookies“, werden Cookies bezeichnet, die gelöscht werden, nachdem ein Nutzer ein Onlineangebot verlässt und seinen Browser schließt. In einem solchen Cookie kann z.B. der Inhalt eines Warenkorbs in einem Onlineshop oder ein Login-Status gespeichert werden. Als „permanent“ oder „persistent“ werden Cookies bezeichnet, die auch nach dem Schließen des Browsers gespeichert bleiben. So kann z.B. der Login-Status gespeichert werden, wenn die Nutzer diese nach mehreren Tagen aufsuchen. Ebenso können in einem solchen Cookie die Interessen der Nutzer gespeichert werden, die für Reichweitenmessung oder Marketingzwecke verwendet werden. Als „Third-Party-Cookie“ werden Cookies bezeichnet, die von anderen Anbietern als dem Verantwortlichen, der das Onlineangebot betreibt, angeboten werden (andernfalls, wenn es nur dessen Cookies sind spricht man von „First-Party Cookies“).\"),_c('br'),_c('br'),_vm._v(\" Wir können temporäre und permanente Cookies einsetzen und klären hierüber im Rahmen unserer Datenschutzerklärung auf.\"),_c('br'),_c('br'),_vm._v(\" Falls die Nutzer nicht möchten, dass Cookies auf ihrem Rechner gespeichert werden, werden sie gebeten die entsprechende Option in den Systemeinstellungen ihres Browsers zu deaktivieren. Gespeicherte Cookies können in den Systemeinstellungen des Browsers gelöscht werden. Der Ausschluss von Cookies kann zu Funktionseinschränkungen dieses Onlineangebotes führen.\"),_c('br'),_c('br'),_vm._v(\" Ein genereller Widerspruch gegen den Einsatz der zu Zwecken des Onlinemarketing eingesetzten Cookies kann bei einer Vielzahl der Dienste, vor allem im Fall des Trackings, über die US-amerikanische Seite \"),_c('a',{staticStyle:{\"text-decoration\":\"underline\",\"color\":\"black\"},attrs:{\"href\":\"http://www.aboutads.info/choices/\"}},[_vm._v(\"http://www.aboutads.info/choices/\")]),_vm._v(\" oder die EU-Seite \"),_c('a',{staticStyle:{\"text-decoration\":\"underline\",\"color\":\"black\"},attrs:{\"href\":\"http://www.youronlinechoices.com/\"}},[_vm._v(\"http://www.youronlinechoices.com/\")]),_vm._v(\" erklärt werden. Des Weiteren kann die Speicherung von Cookies mittels deren Abschaltung in den Einstellungen des Browsers erreicht werden. Bitte beachten Sie, dass dann gegebenenfalls nicht alle Funktionen dieses Onlineangebotes genutzt werden können. \")]),_c('h5',{attrs:{\"id\":\"dsg-general-erasure\"}},[_vm._v(\"Löschung von Daten\")]),_c('p',[_vm._v(\" Die von uns verarbeiteten Daten werden nach Maßgabe der gesetzlichen Vorgaben gelöscht oder in ihrer Verarbeitung eingeschränkt. Sofern nicht im Rahmen dieser Datenschutzerklärung ausdrücklich angegeben, werden die bei uns gespeicherten Daten gelöscht, sobald sie für ihre Zweckbestimmung nicht mehr erforderlich sind und der Löschung keine gesetzlichen Aufbewahrungspflichten entgegenstehen. \"),_c('br'),_c('br'),_vm._v(\" Sofern die Daten nicht gelöscht werden, weil sie für andere und gesetzlich zulässige Zwecke erforderlich sind, wird deren Verarbeitung eingeschränkt. D.h. die Daten werden gesperrt und nicht für andere Zwecke verarbeitet. Das gilt z.B. für Daten, die aus handels- oder steuerrechtlichen Gründen aufbewahrt werden müssen. \")]),_c('h5',{attrs:{\"id\":\"dsg-general-changes\"}},[_vm._v(\" Änderungen und Aktualisierungen der Datenschutzerklärung \")]),_c('p',[_vm._v(\" Wir bitten Sie sich regelmäßig über den Inhalt unserer Datenschutzerklärung zu informieren. Wir passen die Datenschutzerklärung an, sobald die Änderungen der von uns durchgeführten Datenverarbeitungen dies erforderlich machen. Wir informieren Sie, sobald durch die Änderungen eine Mitwirkungshandlung Ihrerseits (z.B. Einwilligung) oder eine sonstige individuelle Benachrichtigung erforderlich wird. \")]),_c('p'),_c('h5',{attrs:{\"id\":\"dsg-registration\"}},[_vm._v(\"Registrierfunktion\")]),_c('p'),_c('p',[_c('span',{staticClass:\"ts-muster-content\"},[_vm._v(\"Nutzer können ein Nutzerkonto anlegen. Im Rahmen der Registrierung werden die erforderlichen Pflichtangaben den Nutzern mitgeteilt und auf Grundlage des Art. 6 Abs. 1 lit. b DSGVO zu Zwecken der Bereitstellung des Nutzerkontos verarbeitet. Zu den verarbeiteten Daten gehören insbesondere die Login-Informationen (Name, Passwort sowie eine E-Mailadresse). Die im Rahmen der Registrierung eingegebenen Daten werden für die Zwecke der Nutzung des Nutzerkontos und dessen Zwecks verwendet. \"),_c('br'),_c('br'),_vm._v(\" Die Nutzer können über Informationen, die für deren Nutzerkonto relevant sind, wie z.B. technische Änderungen, per E-Mail informiert werden. Wenn Nutzer ihr Nutzerkonto gekündigt haben, werden deren Daten im Hinblick auf das Nutzerkonto, vorbehaltlich einer gesetzlichen Aufbewahrungspflicht, gelöscht. Es obliegt den Nutzern, ihre Daten bei erfolgter Kündigung vor dem Vertragsende zu sichern. Wir sind berechtigt, sämtliche während der Vertragsdauer gespeicherten Daten des Nutzers unwiederbringlich zu löschen.\"),_c('br'),_c('br'),_vm._v(\" Im Rahmen der Inanspruchnahme unserer Registrierungs- und Anmeldefunktionen sowie der Nutzung des Nutzerkontos, speichern wir die IP-Adresse und den Zeitpunkt der jeweiligen Nutzerhandlung. Die Speicherung erfolgt auf Grundlage unserer berechtigten Interessen, als auch der Nutzer an Schutz vor Missbrauch und sonstiger unbefugter Nutzung. Eine Weitergabe dieser Daten an Dritte erfolgt grundsätzlich nicht, außer sie ist zur Verfolgung unserer Ansprüche erforderlich oder es besteht hierzu besteht eine gesetzliche Verpflichtung gem. Art. 6 Abs. 1 lit. c. DSGVO. Die IP-Adressen werden spätestens nach 7 Tagen anonymisiert oder gelöscht.\"),_c('br')])]),_c('a',{staticClass:\"dsg1-6\",staticStyle:{\"text-decoration\":\"underline\",\"color\":\"black\"},attrs:{\"href\":\"https://datenschutz-generator.de\",\"rel\":\"nofollow\",\"target\":\"_blank\"}},[_vm._v(\"Erstellt mit Datenschutz-Generator.de von RA Dr. Thomas Schwenke\")])])}\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',[_c('GenericHeader',{staticClass:\"light-blue darken-3\",on:{\"view-transition\":function (type) { return _vm.$emit('view-transition', type); }}},[_c('a',{staticClass:\"white--text text-h6\",staticStyle:{\"text-decoration\":\"none\"},attrs:{\"href\":\"#\"}},[_vm._v(_vm._s(_vm.title))])]),_c('div',{staticClass:\"light-blue darken-4\",staticStyle:{\"min-height\":\"100vh\",\"display\":\"flex\",\"justify-content\":\"center\",\"padding\":\"150px 0 150px\"}},[_c('div',{staticStyle:{\"max-width\":\"1200px\",\"width\":\"100%\"}},[_c('p',{staticClass:\"text-h3 white--text\"},[_vm._v(_vm._s(_vm.title))]),_c('v-card',{staticClass:\"pa-4\",staticStyle:{\"margin-top\":\"70px\"}},[_vm._t(\"default\")],2)],1)]),_c('HomeFooter')],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\nimport {Component, Prop, Vue} from 'vue-property-decorator';\nimport GenericHeader from \"@/general/GenericHeader.vue\";\nimport HomeFooter from \"@/home/components/HomeFooter.vue\";\n\n@Component({\n components: {\n HomeFooter,\n GenericHeader\n },\n})\nexport default class HomeLayout extends Vue {\n\n @Prop({required: true})\n readonly title!: string;\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!./HomeLayout.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!./HomeLayout.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./HomeLayout.vue?vue&type=template&id=2b5c0c42&\"\nimport script from \"./HomeLayout.vue?vue&type=script&lang=ts&\"\nexport * from \"./HomeLayout.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\ninstallComponents(component, {VCard})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from \"vue-property-decorator\";\nimport HomeLayout from \"@/home/HomeLayout.vue\";\n\n@Component({\n components: {\n HomeLayout\n },\n})\nexport default class HomePrivacy extends Vue {}\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!./HomePrivacy.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!./HomePrivacy.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./HomePrivacy.vue?vue&type=template&id=076bf7ae&\"\nimport script from \"./HomePrivacy.vue?vue&type=script&lang=ts&\"\nexport * from \"./HomePrivacy.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HomeLayout',{attrs:{\"title\":\"Kontakt\"},on:{\"view-transition\":function (type) { return _vm.$emit('view-transition', type); }}},[_c('ContactForm',{attrs:{\"module\":_vm.module,\"highlight-color\":\"#1976D2\",\"captcha-theme\":\"light\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport { Component, Vue } from \"vue-property-decorator\";\nimport ContactForm from \"@/general/ContactForm.vue\";\nimport {Module} from \"@/api\";\nimport HomeLayout from \"@/home/HomeLayout.vue\";\n\n@Component({\n components: {\n HomeLayout,\n ContactForm,\n },\n})\nexport default class HomeContact extends Vue {\n\n readonly module = Module.HOMEPAGE;\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!./HomeContact.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!./HomeContact.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./HomeContact.vue?vue&type=template&id=07f5557e&\"\nimport script from \"./HomeContact.vue?vue&type=script&lang=ts&\"\nexport * from \"./HomeContact.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HomeLayout',{attrs:{\"title\":\"Impressum\"},on:{\"view-transition\":function (type) { return _vm.$emit('view-transition', type); }}},[_c('Imprint')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport { Component, Vue } from \"vue-property-decorator\";\nimport Imprint from \"@/general/Imprint.vue\";\nimport HomeLayout from \"@/home/HomeLayout.vue\";\n\n@Component({\n components: {\n HomeLayout,\n Imprint,\n },\n})\nexport default class HomeImprint extends Vue {}\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!./HomeImprint.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!./HomeImprint.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./HomeImprint.vue?vue&type=template&id=0a7518f8&\"\nimport script from \"./HomeImprint.vue?vue&type=script&lang=ts&\"\nexport * from \"./HomeImprint.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"margin\":\"auto\"}},[_c('svg',{staticStyle:{\"width\":\"50vw\"},attrs:{\"viewBox\":\"0 0 157.501 59.1\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('g',{staticStyle:{\"stroke\":\"#000\",\"stroke-width\":\"0.25mm\",\"fill\":\"#000\"},attrs:{\"id\":\"svgGroup\",\"stroke-linecap\":\"round\",\"fill-rule\":\"evenodd\",\"font-size\":\"9pt\",\"stroke\":\"#000\",\"stroke-width\":\"0.25mm\",\"fill\":\"#000\"}},[_c('path',{attrs:{\"d\":\"M 1.9 59.1 L 0 59.1 L 0 56.5 A 161.138 161.138 0 0 1 0.33 45.898 Q 0.677 40.65 1.388 36.076 A 85.547 85.547 0 0 1 2 32.6 Q 4 22.5 8.4 16.75 A 16.698 16.698 0 0 1 14.297 11.801 A 16.837 16.837 0 0 1 19.9 10.2 A 10.066 10.066 0 0 1 21.471 5.635 A 10.422 10.422 0 0 1 24.45 2.7 A 12.622 12.622 0 0 1 27.607 1.233 Q 30.756 0.223 35.454 0.04 A 55.333 55.333 0 0 1 37.6 0 Q 39.677 0 40.837 0.266 A 4.386 4.386 0 0 1 41.45 0.45 A 3.96 3.96 0 0 1 41.998 0.71 Q 42.275 0.871 42.468 1.06 A 1.471 1.471 0 0 1 42.85 1.65 Q 43.1 2.4 43.1 3.2 A 3.135 3.135 0 0 0 43.116 3.517 A 2.454 2.454 0 0 0 43.15 3.75 A 0.517 0.517 0 0 0 43.22 3.919 Q 43.331 4.098 43.6 4.3 Q 44.091 4.79 45.207 4.896 A 5.771 5.771 0 0 0 45.25 4.9 Q 46.131 4.977 47.627 4.995 A 81.382 81.382 0 0 0 48.6 5 L 130.4 5 A 39.644 39.644 0 0 1 136.016 5.376 Q 139.882 5.93 142.95 7.3 A 26.238 26.238 0 0 1 147.84 10.115 A 21.123 21.123 0 0 1 151.3 13.3 Q 154.5 17 156 21.45 A 27.977 27.977 0 0 1 157.464 28.924 A 25.914 25.914 0 0 1 157.5 30.3 A 35.708 35.708 0 0 1 157.24 34.737 Q 156.949 37.059 156.331 39.021 A 18.507 18.507 0 0 1 155.65 40.85 Q 153.8 45.1 150.95 47.25 Q 148.1 49.4 145 49.4 A 7.398 7.398 0 0 1 142.573 49.016 A 6.412 6.412 0 0 1 140.3 47.65 A 13.361 13.361 0 0 1 137.633 44.203 A 15.706 15.706 0 0 1 137.2 43.35 A 40.213 40.213 0 0 1 136.008 40.56 A 31.664 31.664 0 0 1 135.3 38.5 A 25.463 25.463 0 0 1 134.49 41.871 A 30.224 30.224 0 0 1 133.95 43.45 Q 133 46 131.05 47.7 A 6.446 6.446 0 0 1 128.627 49.001 Q 127.67 49.288 126.525 49.368 A 13.171 13.171 0 0 1 125.6 49.4 A 12.209 12.209 0 0 1 122.978 49.133 A 8.577 8.577 0 0 1 119.65 47.65 Q 117.3 45.9 115.95 43.3 Q 114.6 40.7 114.05 38.1 Q 113.5 35.5 113.5 33.7 Q 113.5 30.7 114.3 27.7 A 41.317 41.317 0 0 1 115.039 25.228 Q 115.538 23.738 116.1 22.5 Q 115 22.4 113.8 22.3 A 28.658 28.658 0 0 0 112.305 22.217 A 35.892 35.892 0 0 0 111.2 22.2 L 36.6 22.2 A 34.041 34.041 0 0 1 32.062 21.917 Q 27.441 21.294 24.45 19.3 A 12.767 12.767 0 0 1 22.137 17.361 A 7.991 7.991 0 0 1 19.9 12.2 A 14.248 14.248 0 0 0 10.054 17.963 A 19.186 19.186 0 0 0 9.55 18.65 A 28.873 28.873 0 0 0 6.687 23.901 Q 4.849 28.22 3.75 33.95 A 95.907 95.907 0 0 0 2.486 43.016 Q 2.047 47.687 1.937 52.936 A 170.529 170.529 0 0 0 1.9 56.5 L 1.9 59.1 Z M 134.3 31.4 L 136.4 31.4 A 27.916 27.916 0 0 0 136.867 35.626 A 35.054 35.054 0 0 0 137.5 38.4 A 22.072 22.072 0 0 0 138.794 41.986 A 17.268 17.268 0 0 0 140.4 44.75 A 7.651 7.651 0 0 0 141.7 46.176 A 5.014 5.014 0 0 0 145 47.4 A 7.341 7.341 0 0 0 149.142 46.077 Q 150.731 45.015 152.2 43.1 Q 154.57 40.013 155.238 34.76 A 35.433 35.433 0 0 0 155.5 30.3 A 24.705 24.705 0 0 0 154.594 23.765 A 28.879 28.879 0 0 0 154.1 22.15 Q 152.7 18 149.7 14.55 Q 146.7 11.1 141.95 9 Q 137.752 7.144 131.953 6.928 A 41.786 41.786 0 0 0 130.4 6.9 L 48.6 6.9 Q 45.7 6.9 44.3 6.7 Q 42.9 6.5 41.9 5.5 Q 41.5 5 41.35 4.35 Q 41.2 3.7 41.2 3.2 A 0.926 0.926 0 0 0 40.933 2.55 A 1.479 1.479 0 0 0 40.7 2.35 Q 40.2 2 37.6 2 A 48.136 48.136 0 0 0 33.572 2.156 Q 28.013 2.625 25.35 4.5 A 8.12 8.12 0 0 0 21.887 10.427 A 12.102 12.102 0 0 0 21.8 11.9 A 5.555 5.555 0 0 0 22.904 15.176 Q 23.849 16.502 25.6 17.7 A 12.855 12.855 0 0 0 29.088 19.335 Q 30.748 19.847 32.764 20.088 A 32.479 32.479 0 0 0 36.6 20.3 L 111.2 20.3 Q 115.754 20.3 119.217 21.127 A 22.055 22.055 0 0 1 120.75 21.55 A 36.954 36.954 0 0 1 122.117 22.01 Q 124.226 22.77 125.04 23.429 A 1.885 1.885 0 0 1 125.4 23.8 L 123.9 25 A 2.73 2.73 0 0 0 123.217 24.49 Q 122.009 23.81 119.246 23.171 A 48.671 48.671 0 0 0 118 22.9 A 21.326 21.326 0 0 0 117.339 24.466 Q 117.011 25.332 116.697 26.344 A 44.47 44.47 0 0 0 116.3 27.7 Q 115.5 30.6 115.5 33.7 Q 115.5 35.2 115.95 37.5 A 17.458 17.458 0 0 0 117.081 41.094 A 20.315 20.315 0 0 0 117.55 42.1 Q 118.7 44.4 120.65 45.9 A 7.055 7.055 0 0 0 123.559 47.202 A 10.011 10.011 0 0 0 125.6 47.4 A 8.207 8.207 0 0 0 127.485 47.196 A 5.449 5.449 0 0 0 130.15 45.75 A 9.295 9.295 0 0 0 131.95 43.175 A 12.04 12.04 0 0 0 132.6 41.5 Q 133.4 38.9 133.75 36.2 A 177.719 177.719 0 0 0 134.028 33.952 Q 134.148 32.924 134.241 32.003 A 102.274 102.274 0 0 0 134.3 31.4 Z\",\"vector-effect\":\"non-scaling-stroke\"}})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./Special.vue?vue&type=template&id=b7288e3e&\"\nvar script = {}\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('GeoWarLayout',{attrs:{\"title\":\"Notan\"},on:{\"view-transition\":function (type) { return _vm.$emit('view-transition', type); }},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('div',{staticStyle:{\"text-align\":\"center\"}},[_c('img',{attrs:{\"src\":\"/static/geowar/favicon-180.png\"}}),_c('p',{staticClass:\"text-h1 white--text mt-8\"},[_vm._v(\"GeoWar\")]),_c('p',{staticClass:\"text-h4 white--text\"},[_vm._v(\"Echtzeit-Strategiespiel\")])])]},proxy:true}])},[_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"justify-content\":\"space-evenly\"}},[_c('a',{staticStyle:{\"text-decoration\":\"none\"},attrs:{\"target\":\"_blank\",\"href\":\"https://play.google.com/store/apps/details?id=de.tiendonam.geometryconquer&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1\"}},[_c('img',{staticStyle:{\"height\":\"120px\"},attrs:{\"id\":\"googleplay\",\"alt\":\"Get it on Google Play\",\"src\":\"https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png\"}})]),_c('a',{staticStyle:{\"text-decoration\":\"none\"},attrs:{\"target\":\"_blank\",\"href\":\"https://apps.apple.com/us/app/geowar-strategy-game/id1397169446\"}},[_c('img',{staticStyle:{\"padding\":\"20px\",\"height\":\"130px\"},attrs:{\"id\":\"applestore\",\"alt\":\"Download on the App Store\",\"src\":\"/static/img/apple-store-badge.svg\"}})])]),_c('p',{staticClass:\"text-h4\",staticStyle:{\"text-align\":\"center\"}},[_vm._v(\"- ODER -\")]),_c('div',{staticClass:\"mt-12 mb-12\",staticStyle:{\"text-align\":\"center\"}},[_c('v-btn',{attrs:{\"large\":\"\",\"href\":\"/static/geowar/index.html\"}},[_vm._v(\" Im Browser spielen! \")])],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',[_c('GenericHeader',{staticClass:\"grey darken-3\",on:{\"view-transition\":function (type) { return _vm.$emit('view-transition', type); }}},[_c('router-link',{attrs:{\"to\":\"/geowar\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar href = ref.href;\nvar navigate = ref.navigate;\nreturn [_c('a',{staticClass:\"white--text text-h6\",staticStyle:{\"text-decoration\":\"none\",\"display\":\"flex\",\"align-items\":\"center\"},attrs:{\"href\":href},on:{\"click\":navigate}},[_c('img',{attrs:{\"src\":\"/static/geowar/favicon-180.png\",\"width\":\"25\",\"height\":\"25\"}}),_c('span',{staticClass:\"ml-2\"},[_vm._v(\"GeoWar\")])])]}}])})],1),_c('div',{staticStyle:{\"min-height\":\"100vh\",\"background-color\":\"#222222\",\"display\":\"flex\",\"justify-content\":\"center\",\"padding\":\"150px 0 150px\"}},[_c('div',{staticStyle:{\"max-width\":\"1200px\",\"width\":\"100%\"}},[_vm._t(\"header\"),(!_vm.hasHeader)?_c('p',{staticClass:\"text-h3 white--text\"},[_vm._v(_vm._s(_vm.title))]):_vm._e(),_c('v-card',{staticClass:\"pa-4 grey\",staticStyle:{\"margin-top\":\"70px\"}},[_vm._t(\"default\")],2)],2)]),_c('GenericFooter',{attrs:{\"privacy-url\":\"/geowar/privacy\",\"contact-url\":\"/geowar/contact\",\"imprint-url\":\"/geowar/imprint\",\"link-class\":\"white--text\"}})],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\nimport {Component, Prop, Vue} from 'vue-property-decorator';\nimport GenericHeader from \"@/general/GenericHeader.vue\";\nimport GenericFooter from \"@/general/GenericFooter.vue\";\n\n\n@Component({\n components: {\n GenericFooter,\n GenericHeader\n },\n})\nexport default class GeoWarLayout extends Vue {\n\n @Prop({required: true})\n readonly title!: string;\n\n get hasHeader() {\n return this.$slots.header;\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!./GeoWarLayout.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!./GeoWarLayout.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./GeoWarLayout.vue?vue&type=template&id=d37e59dc&\"\nimport script from \"./GeoWarLayout.vue?vue&type=script&lang=ts&\"\nexport * from \"./GeoWarLayout.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\ninstallComponents(component, {VCard})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from \"vue-property-decorator\";\nimport Imprint from \"@/general/Imprint.vue\";\nimport GeoWarLayout from \"@/geowar/GeoWarLayout.vue\";\n\n@Component({\n components: {\n GeoWarLayout,\n Imprint,\n },\n})\nexport default class GeoWar extends Vue {}\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!./GeoWar.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!./GeoWar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./GeoWar.vue?vue&type=template&id=4577bdb2&scoped=true&\"\nimport script from \"./GeoWar.vue?vue&type=script&lang=ts&\"\nexport * from \"./GeoWar.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./GeoWar.vue?vue&type=style&index=0&id=4577bdb2&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4577bdb2\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\ninstallComponents(component, {VBtn})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('GeoWarLayout',{attrs:{\"title\":\"Datenschutz\"},on:{\"view-transition\":function (type) { return _vm.$emit('view-transition', type); }}},[_c('h4',[_vm._v(\"Datenschutzerklärung\")]),_c('h5',{attrs:{\"id\":\"dsg-general-intro\"}}),_c('p',[_vm._v(\" Diese Datenschutzerklärung klärt Sie über die Art, den Umfang und Zweck der Verarbeitung von personenbezogenen Daten (nachfolgend kurz „Daten“) im Rahmen der Erbringung unserer Leistungen sowie innerhalb unseres Onlineangebotes und der mit ihm verbundenen Webseiten, Funktionen und Inhalte sowie externen Onlinepräsenzen, wie z.B. unser Social Media Profile auf (nachfolgend gemeinsam bezeichnet als „Onlineangebot“). Im Hinblick auf die verwendeten Begrifflichkeiten, wie z.B. „Verarbeitung“ oder „Verantwortlicher“ verweisen wir auf die Definitionen im Art. 4 der Datenschutzgrundverordnung (DSGVO). \"),_c('br'),_c('br')]),_c('h5',{attrs:{\"id\":\"dsg-general-controller\"}},[_vm._v(\"Verantwortlicher\")]),_c('p',[_c('span',{staticClass:\"tsmcontroller\"},[_vm._v(\"Tien Do Nam\"),_c('br'),_vm._v(\" Gotlandstraße 7\"),_c('br'),_vm._v(\" 10439 Berlin\"),_c('br'),_vm._v(\" Deutschland\"),_c('br'),_c('br'),_vm._v(\" E-Mail: dev.tien.donam@gmail.com\")])]),_c('h5',{attrs:{\"id\":\"dsg-general-datatype\"}},[_vm._v(\"Arten der verarbeiteten Daten\")]),_c('p',[_vm._v(\" - Bestandsdaten (z.B., Personen-Stammdaten, Namen oder Adressen).\"),_c('br'),_vm._v(\" - Kontaktdaten (z.B., E-Mail, Telefonnummern).\"),_c('br'),_vm._v(\" - Inhaltsdaten (z.B., Texteingaben, Fotografien, Videos).\"),_c('br'),_vm._v(\" - Nutzungsdaten (z.B., besuchte Webseiten, Interesse an Inhalten, Zugriffszeiten).\"),_c('br'),_vm._v(\" - Meta-/Kommunikationsdaten (z.B., Geräte-Informationen, IP-Adressen). \")]),_c('h5',{attrs:{\"id\":\"dsg-general-datasubjects\"}},[_vm._v(\"Kategorien betroffener Personen\")]),_c('p',[_vm._v(\" Besucher und Nutzer des Onlineangebotes (Nachfolgend bezeichnen wir die betroffenen Personen zusammenfassend auch als „Nutzer“).\"),_c('br')]),_c('h5',{attrs:{\"id\":\"dsg-general-purpose\"}},[_vm._v(\"Zweck der Verarbeitung\")]),_c('p',[_vm._v(\" - Zurverfügungstellung des Onlineangebotes, seiner Funktionen und Inhalte.\"),_c('br'),_vm._v(\" - Beantwortung von Kontaktanfragen und Kommunikation mit Nutzern.\"),_c('br'),_vm._v(\" - Sicherheitsmaßnahmen.\"),_c('br'),_vm._v(\" - Reichweitenmessung/Marketing\"),_c('br'),_c('span',{staticClass:\"tsmcom\"})]),_c('h5',{attrs:{\"id\":\"dsg-general-terms\"}},[_vm._v(\"Verwendete Begrifflichkeiten\")]),_c('p',[_vm._v(\" „Personenbezogene Daten“ sind alle Informationen, die sich auf eine identifizierte oder identifizierbare natürliche Person (im Folgenden „betroffene Person“) beziehen; als identifizierbar wird eine natürliche Person angesehen, die direkt oder indirekt, insbesondere mittels Zuordnung zu einer Kennung wie einem Namen, zu einer Kennnummer, zu Standortdaten, zu einer Online-Kennung (z.B. Cookie) oder zu einem oder mehreren besonderen Merkmalen identifiziert werden kann, die Ausdruck der physischen, physiologischen, genetischen, psychischen, wirtschaftlichen, kulturellen oder sozialen Identität dieser natürlichen Person sind.\"),_c('br'),_c('br'),_vm._v(\" „Verarbeitung“ ist jeder mit oder ohne Hilfe automatisierter Verfahren ausgeführte Vorgang oder jede solche Vorgangsreihe im Zusammenhang mit personenbezogenen Daten. Der Begriff reicht weit und umfasst praktisch jeden Umgang mit Daten.\"),_c('br'),_c('br'),_vm._v(\" „Pseudonymisierung“ die Verarbeitung personenbezogener Daten in einer Weise, dass die personenbezogenen Daten ohne Hinzuziehung zusätzlicher Informationen nicht mehr einer spezifischen betroffenen Person zugeordnet werden können, sofern diese zusätzlichen Informationen gesondert aufbewahrt werden und technischen und organisatorischen Maßnahmen unterliegen, die gewährleisten, dass die personenbezogenen Daten nicht einer identifizierten oder identifizierbaren natürlichen Person zugewiesen werden.\"),_c('br'),_c('br'),_vm._v(\" „Profiling“ jede Art der automatisierten Verarbeitung personenbezogener Daten, die darin besteht, dass diese personenbezogenen Daten verwendet werden, um bestimmte persönliche Aspekte, die sich auf eine natürliche Person beziehen, zu bewerten, insbesondere um Aspekte bezüglich Arbeitsleistung, wirtschaftliche Lage, Gesundheit, persönliche Vorlieben, Interessen, Zuverlässigkeit, Verhalten, Aufenthaltsort oder Ortswechsel dieser natürlichen Person zu analysieren oder vorherzusagen.\"),_c('br'),_c('br'),_vm._v(\" Als „Verantwortlicher“ wird die natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, die allein oder gemeinsam mit anderen über die Zwecke und Mittel der Verarbeitung von personenbezogenen Daten entscheidet, bezeichnet.\"),_c('br'),_c('br'),_vm._v(\" „Auftragsverarbeiter“ eine natürliche oder juristische Person, Behörde, Einrichtung oder andere Stelle, die personenbezogene Daten im Auftrag des Verantwortlichen verarbeitet.\"),_c('br')]),_c('h5',{attrs:{\"id\":\"dsg-general-legalbasis\"}},[_vm._v(\"Maßgebliche Rechtsgrundlagen\")]),_c('p',[_vm._v(\" Nach Maßgabe des Art. 13 DSGVO teilen wir Ihnen die Rechtsgrundlagen unserer Datenverarbeitungen mit. Für Nutzer aus dem Geltungsbereich der Datenschutzgrundverordnung (DSGVO), d.h. der EU und des EWG gilt, sofern die Rechtsgrundlage in der Datenschutzerklärung nicht genannt wird, Folgendes: \"),_c('br'),_vm._v(\" Die Rechtsgrundlage für die Einholung von Einwilligungen ist Art. 6 Abs. 1 lit. a und Art. 7 DSGVO;\"),_c('br'),_vm._v(\" Die Rechtsgrundlage für die Verarbeitung zur Erfüllung unserer Leistungen und Durchführung vertraglicher Maßnahmen sowie Beantwortung von Anfragen ist Art. 6 Abs. 1 lit. b DSGVO;\"),_c('br'),_vm._v(\" Die Rechtsgrundlage für die Verarbeitung zur Erfüllung unserer rechtlichen Verpflichtungen ist Art. 6 Abs. 1 lit. c DSGVO;\"),_c('br'),_vm._v(\" Für den Fall, dass lebenswichtige Interessen der betroffenen Person oder einer anderen natürlichen Person eine Verarbeitung personenbezogener Daten erforderlich machen, dient Art. 6 Abs. 1 lit. d DSGVO als Rechtsgrundlage.\"),_c('br'),_vm._v(\" Die Rechtsgrundlage für die erforderliche Verarbeitung zur Wahrnehmung einer Aufgabe, die im öffentlichen Interesse liegt oder in Ausübung öffentlicher Gewalt erfolgt, die dem Verantwortlichen übertragen wurde ist Art. 6 Abs. 1 lit. e DSGVO. \"),_c('br'),_vm._v(\" Die Rechtsgrundlage für die Verarbeitung zur Wahrung unserer berechtigten Interessen ist Art. 6 Abs. 1 lit. f DSGVO. \"),_c('br'),_vm._v(\" Die Verarbeitung von Daten zu anderen Zwecken als denen, zu denen sie ehoben wurden, bestimmt sich nach den Vorgaben des Art 6 Abs. 4 DSGVO. \"),_c('br'),_vm._v(\" Die Verarbeitung von besonderen Kategorien von Daten (entsprechend Art. 9 Abs. 1 DSGVO) bestimmt sich nach den Vorgaben des Art. 9 Abs. 2 DSGVO. \"),_c('br')]),_c('h5',{attrs:{\"id\":\"dsg-general-securitymeasures\"}},[_vm._v(\"Sicherheitsmaßnahmen\")]),_c('p',[_vm._v(\" Wir treffen nach Maßgabe der gesetzlichen Vorgabenunter Berücksichtigung des Stands der Technik, der Implementierungskosten und der Art, des Umfangs, der Umstände und der Zwecke der Verarbeitung sowie der unterschiedlichen Eintrittswahrscheinlichkeit und Schwere des Risikos für die Rechte und Freiheiten natürlicher Personen, geeignete technische und organisatorische Maßnahmen, um ein dem Risiko angemessenes Schutzniveau zu gewährleisten.\"),_c('br'),_c('br'),_vm._v(\" Zu den Maßnahmen gehören insbesondere die Sicherung der Vertraulichkeit, Integrität und Verfügbarkeit von Daten durch Kontrolle des physischen Zugangs zu den Daten, als auch des sie betreffenden Zugriffs, der Eingabe, Weitergabe, der Sicherung der Verfügbarkeit und ihrer Trennung. Des Weiteren haben wir Verfahren eingerichtet, die eine Wahrnehmung von Betroffenenrechten, Löschung von Daten und Reaktion auf Gefährdung der Daten gewährleisten. Ferner berücksichtigen wir den Schutz personenbezogener Daten bereits bei der Entwicklung, bzw. Auswahl von Hardware, Software sowie Verfahren, entsprechend dem Prinzip des Datenschutzes durch Technikgestaltung und durch datenschutzfreundliche Voreinstellungen.\"),_c('br')]),_c('h5',{attrs:{\"id\":\"dsg-general-coprocessing\"}},[_vm._v(\" Zusammenarbeit mit Auftragsverarbeitern, gemeinsam Verantwortlichen und Dritten \")]),_c('p',[_vm._v(\" Sofern wir im Rahmen unserer Verarbeitung Daten gegenüber anderen Personen und Unternehmen (Auftragsverarbeitern, gemeinsam Verantwortlichen oder Dritten) offenbaren, sie an diese übermitteln oder ihnen sonst Zugriff auf die Daten gewähren, erfolgt dies nur auf Grundlage einer gesetzlichen Erlaubnis (z.B. wenn eine Übermittlung der Daten an Dritte, wie an Zahlungsdienstleister, zur Vertragserfüllung erforderlich ist), Nutzer eingewilligt haben, eine rechtliche Verpflichtung dies vorsieht oder auf Grundlage unserer berechtigten Interessen (z.B. beim Einsatz von Beauftragten, Webhostern, etc.). \"),_c('br'),_c('br'),_vm._v(\" Sofern wir Daten anderen Unternehmen unserer Unternehmensgruppe offenbaren, übermitteln oder ihnen sonst den Zugriff gewähren, erfolgt dies insbesondere zu administrativen Zwecken als berechtigtes Interesse und darüberhinausgehend auf einer den gesetzlichen Vorgaben entsprechenden Grundlage. \"),_c('br')]),_c('h5',{attrs:{\"id\":\"dsg-general-thirdparty\"}},[_vm._v(\"Übermittlungen in Drittländer\")]),_c('p',[_vm._v(\" Sofern wir Daten in einem Drittland (d.h. außerhalb der Europäischen Union (EU), des Europäischen Wirtschaftsraums (EWR) oder der Schweizer Eidgenossenschaft) verarbeiten oder dies im Rahmen der Inanspruchnahme von Diensten Dritter oder Offenlegung, bzw. Übermittlung von Daten an andere Personen oder Unternehmen geschieht, erfolgt dies nur, wenn es zur Erfüllung unserer (vor)vertraglichen Pflichten, auf Grundlage Ihrer Einwilligung, aufgrund einer rechtlichen Verpflichtung oder auf Grundlage unserer berechtigten Interessen geschieht. Vorbehaltlich gesetzlicher oder vertraglicher Erlaubnisse, verarbeiten oder lassen wir die Daten in einem Drittland nur beim Vorliegen der gesetzlichen Voraussetzungen. D.h. die Verarbeitung erfolgt z.B. auf Grundlage besonderer Garantien, wie der offiziell anerkannten Feststellung eines der EU entsprechenden Datenschutzniveaus (z.B. für die USA durch das „Privacy Shield“) oder Beachtung offiziell anerkannter spezieller vertraglicher Verpflichtungen. \")]),_c('h5',{attrs:{\"id\":\"dsg-general-rightssubject\"}},[_vm._v(\"Rechte der betroffenen Personen\")]),_c('p',[_vm._v(\" Sie haben das Recht, eine Bestätigung darüber zu verlangen, ob betreffende Daten verarbeitet werden und auf Auskunft über diese Daten sowie auf weitere Informationen und Kopie der Daten entsprechend den gesetzlichen Vorgaben.\"),_c('br'),_c('br'),_vm._v(\" Sie haben entsprechend. den gesetzlichen Vorgaben das Recht, die Vervollständigung der Sie betreffenden Daten oder die Berichtigung der Sie betreffenden unrichtigen Daten zu verlangen.\"),_c('br'),_c('br'),_vm._v(\" Sie haben nach Maßgabe der gesetzlichen Vorgaben das Recht zu verlangen, dass betreffende Daten unverzüglich gelöscht werden, bzw. alternativ nach Maßgabe der gesetzlichen Vorgaben eine Einschränkung der Verarbeitung der Daten zu verlangen.\"),_c('br'),_c('br'),_vm._v(\" Sie haben das Recht zu verlangen, dass die Sie betreffenden Daten, die Sie uns bereitgestellt haben nach Maßgabe der gesetzlichen Vorgaben zu erhalten und deren Übermittlung an andere Verantwortliche zu fordern. \"),_c('br'),_c('br'),_vm._v(\" Sie haben ferner nach Maßgabe der gesetzlichen Vorgaben das Recht, eine Beschwerde bei der zuständigen Aufsichtsbehörde einzureichen.\"),_c('br')]),_c('h5',{attrs:{\"id\":\"dsg-general-revokeconsent\"}},[_vm._v(\"Widerrufsrecht\")]),_c('p',[_vm._v(\" Sie haben das Recht, erteilte Einwilligungen mit Wirkung für die Zukunft zu widerrufen. \")]),_c('h5',{attrs:{\"id\":\"dsg-general-object\"}},[_vm._v(\"Widerspruchsrecht\")]),_c('p',[_c('strong',[_vm._v(\"Sie können der künftigen Verarbeitung der Sie betreffenden Daten nach Maßgabe der gesetzlichen Vorgaben jederzeit widersprechen. Der Widerspruch kann insbesondere gegen die Verarbeitung für Zwecke der Direktwerbung erfolgen.\")])]),_c('h5',{attrs:{\"id\":\"dsg-general-cookies\"}},[_vm._v(\" Cookies und Widerspruchsrecht bei Direktwerbung \")]),_c('p',[_vm._v(\" Als „Cookies“ werden kleine Dateien bezeichnet, die auf Rechnern der Nutzer gespeichert werden. Innerhalb der Cookies können unterschiedliche Angaben gespeichert werden. Ein Cookie dient primär dazu, die Angaben zu einem Nutzer (bzw. dem Gerät auf dem das Cookie gespeichert ist) während oder auch nach seinem Besuch innerhalb eines Onlineangebotes zu speichern. Als temporäre Cookies, bzw. „Session-Cookies“ oder „transiente Cookies“, werden Cookies bezeichnet, die gelöscht werden, nachdem ein Nutzer ein Onlineangebot verlässt und seinen Browser schließt. In einem solchen Cookie kann z.B. der Inhalt eines Warenkorbs in einem Onlineshop oder ein Login-Status gespeichert werden. Als „permanent“ oder „persistent“ werden Cookies bezeichnet, die auch nach dem Schließen des Browsers gespeichert bleiben. So kann z.B. der Login-Status gespeichert werden, wenn die Nutzer diese nach mehreren Tagen aufsuchen. Ebenso können in einem solchen Cookie die Interessen der Nutzer gespeichert werden, die für Reichweitenmessung oder Marketingzwecke verwendet werden. Als „Third-Party-Cookie“ werden Cookies bezeichnet, die von anderen Anbietern als dem Verantwortlichen, der das Onlineangebot betreibt, angeboten werden (andernfalls, wenn es nur dessen Cookies sind spricht man von „First-Party Cookies“).\"),_c('br'),_c('br'),_vm._v(\" Wir können temporäre und permanente Cookies einsetzen und klären hierüber im Rahmen unserer Datenschutzerklärung auf.\"),_c('br'),_c('br'),_vm._v(\" Falls die Nutzer nicht möchten, dass Cookies auf ihrem Rechner gespeichert werden, werden sie gebeten die entsprechende Option in den Systemeinstellungen ihres Browsers zu deaktivieren. Gespeicherte Cookies können in den Systemeinstellungen des Browsers gelöscht werden. Der Ausschluss von Cookies kann zu Funktionseinschränkungen dieses Onlineangebotes führen.\"),_c('br'),_c('br'),_vm._v(\" Ein genereller Widerspruch gegen den Einsatz der zu Zwecken des Onlinemarketing eingesetzten Cookies kann bei einer Vielzahl der Dienste, vor allem im Fall des Trackings, über die US-amerikanische Seite \"),_c('a',{staticStyle:{\"text-decoration\":\"underline\",\"color\":\"black\"},attrs:{\"href\":\"http://www.aboutads.info/choices/\"}},[_vm._v(\"http://www.aboutads.info/choices/\")]),_vm._v(\" oder die EU-Seite \"),_c('a',{staticStyle:{\"text-decoration\":\"underline\",\"color\":\"black\"},attrs:{\"href\":\"http://www.youronlinechoices.com/\"}},[_vm._v(\"http://www.youronlinechoices.com/\")]),_vm._v(\" erklärt werden. Des Weiteren kann die Speicherung von Cookies mittels deren Abschaltung in den Einstellungen des Browsers erreicht werden. Bitte beachten Sie, dass dann gegebenenfalls nicht alle Funktionen dieses Onlineangebotes genutzt werden können. \")]),_c('h5',{attrs:{\"id\":\"dsg-general-erasure\"}},[_vm._v(\"Löschung von Daten\")]),_c('p',[_vm._v(\" Die von uns verarbeiteten Daten werden nach Maßgabe der gesetzlichen Vorgaben gelöscht oder in ihrer Verarbeitung eingeschränkt. Sofern nicht im Rahmen dieser Datenschutzerklärung ausdrücklich angegeben, werden die bei uns gespeicherten Daten gelöscht, sobald sie für ihre Zweckbestimmung nicht mehr erforderlich sind und der Löschung keine gesetzlichen Aufbewahrungspflichten entgegenstehen. \"),_c('br'),_c('br'),_vm._v(\" Sofern die Daten nicht gelöscht werden, weil sie für andere und gesetzlich zulässige Zwecke erforderlich sind, wird deren Verarbeitung eingeschränkt. D.h. die Daten werden gesperrt und nicht für andere Zwecke verarbeitet. Das gilt z.B. für Daten, die aus handels- oder steuerrechtlichen Gründen aufbewahrt werden müssen. \")]),_c('h5',{attrs:{\"id\":\"dsg-general-changes\"}},[_vm._v(\" Änderungen und Aktualisierungen der Datenschutzerklärung \")]),_c('p',[_vm._v(\" Wir bitten Sie sich regelmäßig über den Inhalt unserer Datenschutzerklärung zu informieren. Wir passen die Datenschutzerklärung an, sobald die Änderungen der von uns durchgeführten Datenverarbeitungen dies erforderlich machen. Wir informieren Sie, sobald durch die Änderungen eine Mitwirkungshandlung Ihrerseits (z.B. Einwilligung) oder eine sonstige individuelle Benachrichtigung erforderlich wird. \")]),_c('p'),_c('h5',{attrs:{\"id\":\"dsg-registration\"}},[_vm._v(\"Registrierfunktion\")]),_c('p'),_c('p',[_c('span',{staticClass:\"ts-muster-content\"},[_vm._v(\"Nutzer können ein Nutzerkonto anlegen. Im Rahmen der Registrierung werden die erforderlichen Pflichtangaben den Nutzern mitgeteilt und auf Grundlage des Art. 6 Abs. 1 lit. b DSGVO zu Zwecken der Bereitstellung des Nutzerkontos verarbeitet. Zu den verarbeiteten Daten gehören insbesondere die Login-Informationen (Name, Passwort sowie eine E-Mailadresse). Die im Rahmen der Registrierung eingegebenen Daten werden für die Zwecke der Nutzung des Nutzerkontos und dessen Zwecks verwendet. \"),_c('br'),_c('br'),_vm._v(\" Die Nutzer können über Informationen, die für deren Nutzerkonto relevant sind, wie z.B. technische Änderungen, per E-Mail informiert werden. Wenn Nutzer ihr Nutzerkonto gekündigt haben, werden deren Daten im Hinblick auf das Nutzerkonto, vorbehaltlich einer gesetzlichen Aufbewahrungspflicht, gelöscht. Es obliegt den Nutzern, ihre Daten bei erfolgter Kündigung vor dem Vertragsende zu sichern. Wir sind berechtigt, sämtliche während der Vertragsdauer gespeicherten Daten des Nutzers unwiederbringlich zu löschen.\"),_c('br'),_c('br'),_vm._v(\" Im Rahmen der Inanspruchnahme unserer Registrierungs- und Anmeldefunktionen sowie der Nutzung des Nutzerkontos, speichern wir die IP-Adresse und den Zeitpunkt der jeweiligen Nutzerhandlung. Die Speicherung erfolgt auf Grundlage unserer berechtigten Interessen, als auch der Nutzer an Schutz vor Missbrauch und sonstiger unbefugter Nutzung. Eine Weitergabe dieser Daten an Dritte erfolgt grundsätzlich nicht, außer sie ist zur Verfolgung unserer Ansprüche erforderlich oder es besteht hierzu besteht eine gesetzliche Verpflichtung gem. Art. 6 Abs. 1 lit. c. DSGVO. Die IP-Adressen werden spätestens nach 7 Tagen anonymisiert oder gelöscht.\"),_c('br')])]),_c('a',{staticClass:\"dsg1-6\",staticStyle:{\"text-decoration\":\"underline\",\"color\":\"black\"},attrs:{\"href\":\"https://datenschutz-generator.de\",\"rel\":\"nofollow\",\"target\":\"_blank\"}},[_vm._v(\"Erstellt mit Datenschutz-Generator.de von RA Dr. Thomas Schwenke\")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from \"vue-property-decorator\";\nimport GeoWarLayout from \"@/geowar/GeoWarLayout.vue\";\n\n@Component({\n components: {\n GeoWarLayout\n },\n})\nexport default class GeoWarPrivacy extends Vue {}\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!./GeoWarPrivacy.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!./GeoWarPrivacy.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./GeoWarPrivacy.vue?vue&type=template&id=19d536f0&\"\nimport script from \"./GeoWarPrivacy.vue?vue&type=script&lang=ts&\"\nexport * from \"./GeoWarPrivacy.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('GeoWarLayout',{attrs:{\"title\":\"Kontakt\"},on:{\"view-transition\":function (type) { return _vm.$emit('view-transition', type); }}},[_c('ContactForm',{attrs:{\"module\":_vm.module,\"highlight-color\":\"#616161\",\"captcha-theme\":\"dark\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport { Component, Vue } from \"vue-property-decorator\";\nimport ContactForm from \"@/general/ContactForm.vue\";\nimport {Module} from \"@/api\";\nimport GeoWarLayout from \"@/geowar/GeoWarLayout.vue\";\n\n@Component({\n components: {\n GeoWarLayout,\n ContactForm\n },\n})\nexport default class GeoWarContact extends Vue {\n\n readonly module = Module.GEOWAR;\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!./GeoWarContact.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!./GeoWarContact.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./GeoWarContact.vue?vue&type=template&id=1b1ff55a&\"\nimport script from \"./GeoWarContact.vue?vue&type=script&lang=ts&\"\nexport * from \"./GeoWarContact.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('GeoWarLayout',{attrs:{\"title\":\"Impressum\"},on:{\"view-transition\":function (type) { return _vm.$emit('view-transition', type); }}},[_c('Imprint')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport { Component, Vue } from \"vue-property-decorator\";\nimport Imprint from \"@/general/Imprint.vue\";\nimport GeoWarLayout from \"@/geowar/GeoWarLayout.vue\";\n\n@Component({\n components: {\n GeoWarLayout,\n Imprint,\n },\n})\nexport default class GeoWarImprint extends Vue {}\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!./GeoWarImprint.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!./GeoWarImprint.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./GeoWarImprint.vue?vue&type=template&id=9dbb8040&\"\nimport script from \"./GeoWarImprint.vue?vue&type=script&lang=ts&\"\nexport * from \"./GeoWarImprint.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport VueRouter, { RouteConfig } from 'vue-router'\nimport Notan from \"@/notan/views/Notan.vue\";\nimport NotanPrivacy from \"@/notan/views/NotanPrivacy.vue\";\nimport NotanContact from \"@/notan/views/NotanContact.vue\";\nimport NotanImprint from \"@/notan/views/NotanImprint.vue\";\nimport Home from \"@/home/views/Home.vue\";\nimport HomePrivacy from \"@/home/views/HomePrivacy.vue\";\nimport HomeContact from \"@/home/views/HomeContact.vue\";\nimport HomeImprint from \"@/home/views/HomeImprint.vue\";\nimport Special from \"@/home/views/Special.vue\";\nimport GeoWar from \"@/geowar/views/GeoWar.vue\";\nimport GeoWarPrivacy from \"@/geowar/views/GeoWarPrivacy.vue\";\nimport GeoWarContact from \"@/geowar/views/GeoWarContact.vue\";\nimport GeoWarImprint from \"@/geowar/views/GeoWarImprint.vue\";\n\nVue.use(VueRouter)\n\nconst routes: Array = [\n {\n path: '/',\n name: 'Home',\n component: Home\n },\n {\n path: '/privacy',\n name: 'HomePrivacy',\n component: HomePrivacy\n },\n {\n path: '/contact',\n name: 'HomeContact',\n component: HomeContact\n },\n {\n path: '/imprint',\n name: 'HomeImprint',\n component: HomeImprint\n },\n {\n path: '/notan',\n name: 'Notan',\n component: Notan\n },\n {\n path: '/notan/privacy',\n name: 'NotanPrivacy',\n component: NotanPrivacy\n },\n {\n path: '/notan/contact',\n name: 'NotanContact',\n component: NotanContact\n },\n {\n path: '/notan/imprint',\n name: 'NotanImprint',\n component: NotanImprint\n },\n {\n path: '/geowar',\n name: 'GeoWar',\n component: GeoWar\n },\n {\n path: '/geowar/privacy',\n name: 'GeoWarPrivacy',\n component: GeoWarPrivacy\n },\n {\n path: '/geowar/contact',\n name: 'GeoWarContact',\n component: GeoWarContact\n },\n {\n path: '/geowar/imprint',\n name: 'GeoWarImprint',\n component: GeoWarImprint\n },\n {\n path: '/'+encodeURIComponent('𓂺'),\n name: 'Special',\n component: Special\n },\n]\n\nconst router = new VueRouter({\n mode: 'history',\n base: process.env.BASE_URL,\n scrollBehavior() {\n return { x: 0, y: 0 };\n },\n routes\n})\n\nexport default router\n","import Vue from 'vue'\nimport App from './App.vue'\nimport vuetify from './plugins/vuetify';\nimport 'roboto-fontface/css/roboto/roboto-fontface.css'\nimport '@mdi/font/css/materialdesignicons.css'\nimport router from \"@/router\";\n\nVue.config.productionTip = false\n\nnew Vue({\n router,\n vuetify,\n render: h => h(App)\n}).$mount('#app')\n","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!./SectionProjects.vue?vue&type=style&index=0&lang=css&\"","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!./Notan.vue?vue&type=style&index=0&id=277b927f&scoped=true&lang=css&\""],"sourceRoot":""}