diff --git a/public/icons/favicon-16x16.png b/public/icons/favicon-16x16.png deleted file mode 100644 index 436be16..0000000 Binary files a/public/icons/favicon-16x16.png and /dev/null differ diff --git a/public/icons/favicon-96x96.png b/public/icons/favicon-96x96.png deleted file mode 100644 index 3a50144..0000000 Binary files a/public/icons/favicon-96x96.png and /dev/null differ diff --git a/quasar.conf.js b/quasar.conf.js index 73977b8..91adc15 100644 --- a/quasar.conf.js +++ b/quasar.conf.js @@ -9,7 +9,7 @@ /* eslint-disable @typescript-eslint/no-var-requires */ const { configure } = require('quasar/wrappers'); -module.exports = configure(function(ctx) { +module.exports = configure(function (ctx) { return { // https://quasar.dev/quasar-cli/supporting-ts supportTS: { @@ -24,7 +24,7 @@ module.exports = configure(function(ctx) { // app boot file (/src/boot) // --> boot files are part of "main.js" // https://quasar.dev/quasar-cli/boot-files - boot: ['composition-api', 'axios', 'plugins'], + boot: ['composition-api', 'axios', 'login', 'plugins'], // https://quasar.dev/quasar-cli/quasar-conf-js#Property%3A-css css: ['app.scss'], @@ -64,7 +64,7 @@ module.exports = configure(function(ctx) { // extractCSS: false, // https://quasar.dev/quasar-cli/handling-webpack - extendWebpack(cfg) { + extendWebpack (cfg) { // linting is slow in TS projects, we execute it only for production builds if (ctx.prod) { cfg.module.rules.push({ @@ -191,7 +191,7 @@ module.exports = configure(function(ctx) { // More info: https://quasar.dev/quasar-cli/developing-electron-apps/node-integration nodeIntegration: true, - extendWebpack(/* cfg */) { + extendWebpack (/* cfg */) { // do something with Electron main process Webpack cfg // chainWebpack also available besides this extendWebpack } diff --git a/src/boot/.gitkeep b/src/assets/.gitkeep similarity index 100% rename from src/boot/.gitkeep rename to src/assets/.gitkeep diff --git a/src/assets/quasar-logo-full.svg b/src/assets/quasar-logo-full.svg deleted file mode 100644 index 281d072..0000000 --- a/src/assets/quasar-logo-full.svg +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/boot/login.ts b/src/boot/login.ts new file mode 100644 index 0000000..bcc9d7a --- /dev/null +++ b/src/boot/login.ts @@ -0,0 +1,20 @@ +import { boot } from 'quasar/wrappers'; + +export default boot(({ Vue, router, store }) => { + router.beforeEach((to, from, next) => { + if (to.matched.some(record => record.meta.requiresAuth)) { + // this route requires auth, check if logged in + // if not, redirect to login page. + if (!store.getters.isLoggedIn()) { + next({ + path: '/login', + query: { redirect: to.fullPath } + }) + } else { + next() + } + } else { + next() // make sure to always call next()! + } + }) +}); diff --git a/src/components/CompositionComponent.vue b/src/components/CompositionComponent.vue deleted file mode 100644 index 22b4bd7..0000000 --- a/src/components/CompositionComponent.vue +++ /dev/null @@ -1,59 +0,0 @@ - - - diff --git a/src/components/models.ts b/src/components/models.ts deleted file mode 100644 index 6945920..0000000 --- a/src/components/models.ts +++ /dev/null @@ -1,8 +0,0 @@ -export interface Todo { - id: number; - content: string; -} - -export interface Meta { - totalCount: number; -} diff --git a/src/index.template.html b/src/index.template.html index 8157cbf..7eb371e 100644 --- a/src/index.template.html +++ b/src/index.template.html @@ -1,22 +1,24 @@ - - <%= productName %> - - - - - + + <%= productName %> - - - - - - - - -
- - + + + + + + + + + + + + + +
+ + + \ No newline at end of file diff --git a/src/layouts/MainLayout.vue b/src/layouts/MainLayout.vue index e5d2370..fc5e5e6 100644 --- a/src/layouts/MainLayout.vue +++ b/src/layouts/MainLayout.vue @@ -1,6 +1,9 @@