├── .editorconfig
├── .eslintignore
├── .eslintrc.js
├── .gitignore
├── .postcssrc.js
├── .stylintrc
├── README.md
├── babel.config.js
├── docs
└── example.PNG
├── jsconfig.json
├── package.json
├── public
├── app-logo-128x128.png
└── icons
│ ├── apple-icon-120x120.png
│ ├── apple-icon-152x152.png
│ ├── apple-icon-167x167.png
│ ├── apple-icon-180x180.png
│ ├── favicon-16x16.png
│ ├── favicon-32x32.png
│ ├── favicon-96x96.png
│ ├── favicon.ico
│ ├── icon-128x128.png
│ ├── icon-192x192.png
│ ├── icon-256x256.png
│ ├── icon-384x384.png
│ ├── icon-512x512.png
│ ├── ms-icon-144x144.png
│ └── safari-pinned-tab.svg
├── quasar.conf.js
├── src
├── App.vue
├── assets
│ ├── quasar-logo-full.svg
│ └── sad.svg
├── boot
│ ├── .gitkeep
│ ├── axios.js
│ └── i18n.js
├── components
│ └── EssentialLink.vue
├── css
│ └── app.css
├── i18n
│ ├── en-us
│ │ └── index.js
│ └── index.js
├── index.template.html
├── layouts
│ └── MainLayout.vue
├── pages
│ ├── Error404.vue
│ └── Index.vue
├── router
│ ├── index.js
│ └── routes.js
└── store
│ ├── index.js
│ ├── module-example
│ ├── actions.js
│ ├── getters.js
│ ├── index.js
│ ├── mutations.js
│ └── state.js
│ └── store-flag.d.ts
└── yarn.lock
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | charset = utf-8
5 | indent_style = space
6 | indent_size = 2
7 | end_of_line = lf
8 | insert_final_newline = true
9 | trim_trailing_whitespace = true
10 |
--------------------------------------------------------------------------------
/.eslintignore:
--------------------------------------------------------------------------------
1 | /dist
2 |
--------------------------------------------------------------------------------
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 |
4 | parserOptions: {
5 | parser: 'babel-eslint',
6 | sourceType: 'module'
7 | },
8 |
9 | env: {
10 | browser: true
11 | },
12 |
13 | extends: [
14 | // https://eslint.vuejs.org/rules/#priority-a-essential-error-prevention
15 | // consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules.
16 | 'plugin:vue/essential',
17 | '@vue/standard'
18 | ],
19 |
20 | // required to lint *.vue files
21 | plugins: [
22 | 'vue'
23 | ],
24 |
25 | globals: {
26 | 'ga': true, // Google Analytics
27 | 'cordova': true,
28 | '__statics': true,
29 | 'process': true,
30 | 'Capacitor': true,
31 | 'chrome': true
32 | },
33 |
34 | // add your custom rules here
35 | rules: {
36 | // allow async-await
37 | 'generator-star-spacing': 'off',
38 | // allow paren-less arrow functions
39 | 'arrow-parens': 'off',
40 | 'one-var': 'off',
41 |
42 | 'import/first': 'off',
43 | 'import/named': 'error',
44 | 'import/namespace': 'error',
45 | 'import/default': 'error',
46 | 'import/export': 'error',
47 | 'import/extensions': 'off',
48 | 'import/no-unresolved': 'off',
49 | 'import/no-extraneous-dependencies': 'off',
50 | 'prefer-promise-reject-errors': 'off',
51 |
52 | // allow debugger during development only
53 | 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .thumbs.db
3 | node_modules
4 | docs
5 |
6 | # Quasar core related directories
7 | .quasar
8 | /dist
9 |
10 | # Cordova related directories and files
11 | /src-cordova/node_modules
12 | /src-cordova/platforms
13 | /src-cordova/plugins
14 | /src-cordova/www
15 |
16 | # Capacitor related directories and files
17 | /src-capacitor/www
18 | /src-capacitor/node_modules
19 |
20 | # BEX related directories and files
21 | /src-bex/www
22 | /src-bex/js/core
23 |
24 | # Log files
25 | npm-debug.log*
26 | yarn-debug.log*
27 | yarn-error.log*
28 |
29 | # Editor directories and files
30 | .idea
31 | .vscode
32 | *.suo
33 | *.ntvs*
34 | *.njsproj
35 | *.sln
36 |
--------------------------------------------------------------------------------
/.postcssrc.js:
--------------------------------------------------------------------------------
1 | // https://github.com/michael-ciniawsky/postcss-load-config
2 |
3 | module.exports = {
4 | plugins: [
5 | // to edit target browsers: use "browserslist" field in package.json
6 | require('autoprefixer')
7 | ]
8 | }
9 |
--------------------------------------------------------------------------------
/.stylintrc:
--------------------------------------------------------------------------------
1 | {
2 | "blocks": "never",
3 | "brackets": "never",
4 | "colons": "never",
5 | "colors": "always",
6 | "commaSpace": "always",
7 | "commentSpace": "always",
8 | "cssLiteral": "never",
9 | "depthLimit": false,
10 | "duplicates": true,
11 | "efficient": "always",
12 | "extendPref": false,
13 | "globalDupe": true,
14 | "indentPref": 2,
15 | "leadingZero": "never",
16 | "maxErrors": false,
17 | "maxWarnings": false,
18 | "mixed": false,
19 | "namingConvention": false,
20 | "namingConventionStrict": false,
21 | "none": "never",
22 | "noImportant": false,
23 | "parenSpace": "never",
24 | "placeholder": false,
25 | "prefixVarsWithDollar": "always",
26 | "quotePref": "single",
27 | "semicolons": "never",
28 | "sortOrder": false,
29 | "stackedProperties": "never",
30 | "trailingWhitespace": "never",
31 | "universal": "never",
32 | "valid": true,
33 | "zeroUnits": "never",
34 | "zIndexNormalize": false
35 | }
36 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Quasar App (quasar-3d-model)
2 |
3 | An example application for rendering 3D models using lib [vue-3d-model](https://github.com/hujiulong/vue-3d-model)
4 |
5 | ## Demo
6 |
7 | [Quasar3d](http://quasar3d.surge.sh/)
8 |
9 | ## Print
10 |
11 |
12 |
13 |
14 |
15 | ## Donations
16 |
17 | I've been contributing to the Vue.js and Quasar community for a few years with lots of content like articles, example projects, videos on my youtube channel. But I do all this for free to try to help those who are starting in this new world of modern front-end.
18 |
19 | If my content has helped you in any way and you want to buy me a coffee, you can use my PICPAY QRCode below. Any value is welcome and encourages me to continue creating content for the community.
20 |
21 |
22 | ### 🇧🇷 **BR**
23 |
24 | Estou há alguns anos contribuindo para a comunidade Vue.js e Quasar com muitos conteúdos como artigos, projetos de exemplos, vídeos no meu canal do youtube. Porém faço tudo isso de forma gratuita para tentar ajudar aqueles que estão iniciando nesse novo mundo de front-end moderno.
25 |
26 | Caso meu algum de meus conteúdos tenha lhe ajudado de alguma forma e você queira me pagar um café, pode utilizar meu QRCode do PICPAY abaixo. Qualquer valor é bem vindo e me estimula a continuar criando conteúdos para a comunidade.
27 |
28 | https://picpay.me/patrickmonteiroo
29 |
30 |
31 |

32 |
33 |
34 | ### Pantreon
35 |
36 | - [Pantreon Patrick Monteiro](https://www.patreon.com/patrickmonteiroo)
37 |
--------------------------------------------------------------------------------
/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@quasar/babel-preset-app'
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/docs/example.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/patrickmonteiro/quasar-3d-model/9a5f3f607dd36ed7cc54a062dc11c9b958331341/docs/example.PNG
--------------------------------------------------------------------------------
/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "baseUrl": ".",
4 | "paths": {
5 | "src/*": ["src/*"],
6 | "app/*": ["*"],
7 | "components/*": ["src/components/*"],
8 | "layouts/*": ["src/layouts/*"],
9 | "pages/*": ["src/pages/*"],
10 | "assets/*": ["src/assets/*"],
11 | "boot/*": ["src/boot/*"],
12 | "vue$": ["node_modules/vue/dist/vue.esm.js"]
13 | }
14 | },
15 | "exclude": [
16 | "dist",
17 | ".quasar",
18 | "node_modules"
19 | ]
20 | }
21 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "quasar-3d-model",
3 | "version": "0.0.1",
4 | "description": "A Quasar Framework app",
5 | "productName": "Quasar App",
6 | "author": "Patrick Monteiro ",
7 | "private": true,
8 | "scripts": {
9 | "lint": "eslint --ext .js,.vue src",
10 | "test": "echo \"No test specified\" && exit 0"
11 | },
12 | "dependencies": {
13 | "@quasar/extras": "^1.9.12",
14 | "axios": "^0.21.1",
15 | "core-js": "^3.0.0",
16 | "quasar": "^1.15.0",
17 | "vue-3d-model": "^1.2.2",
18 | "vue-i18n": "^8.0.0"
19 | },
20 | "devDependencies": {
21 | "@quasar/app": "^2.0.0",
22 | "@vue/eslint-config-standard": "^4.0.0",
23 | "babel-eslint": "^10.0.1",
24 | "eslint": "^5.10.0",
25 | "eslint-loader": "^2.1.1",
26 | "eslint-plugin-vue": "^5.0.0"
27 | },
28 | "engines": {
29 | "node": ">= 10.18.1",
30 | "npm": ">= 6.13.4",
31 | "yarn": ">= 1.21.1"
32 | },
33 | "browserslist": [
34 | "last 10 Chrome versions",
35 | "last 10 Firefox versions",
36 | "last 4 Edge versions",
37 | "last 7 Safari versions",
38 | "last 8 Android versions",
39 | "last 8 ChromeAndroid versions",
40 | "last 8 FirefoxAndroid versions",
41 | "last 10 iOS versions",
42 | "last 5 Opera versions"
43 | ]
44 | }
45 |
--------------------------------------------------------------------------------
/public/app-logo-128x128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/patrickmonteiro/quasar-3d-model/9a5f3f607dd36ed7cc54a062dc11c9b958331341/public/app-logo-128x128.png
--------------------------------------------------------------------------------
/public/icons/apple-icon-120x120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/patrickmonteiro/quasar-3d-model/9a5f3f607dd36ed7cc54a062dc11c9b958331341/public/icons/apple-icon-120x120.png
--------------------------------------------------------------------------------
/public/icons/apple-icon-152x152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/patrickmonteiro/quasar-3d-model/9a5f3f607dd36ed7cc54a062dc11c9b958331341/public/icons/apple-icon-152x152.png
--------------------------------------------------------------------------------
/public/icons/apple-icon-167x167.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/patrickmonteiro/quasar-3d-model/9a5f3f607dd36ed7cc54a062dc11c9b958331341/public/icons/apple-icon-167x167.png
--------------------------------------------------------------------------------
/public/icons/apple-icon-180x180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/patrickmonteiro/quasar-3d-model/9a5f3f607dd36ed7cc54a062dc11c9b958331341/public/icons/apple-icon-180x180.png
--------------------------------------------------------------------------------
/public/icons/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/patrickmonteiro/quasar-3d-model/9a5f3f607dd36ed7cc54a062dc11c9b958331341/public/icons/favicon-16x16.png
--------------------------------------------------------------------------------
/public/icons/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/patrickmonteiro/quasar-3d-model/9a5f3f607dd36ed7cc54a062dc11c9b958331341/public/icons/favicon-32x32.png
--------------------------------------------------------------------------------
/public/icons/favicon-96x96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/patrickmonteiro/quasar-3d-model/9a5f3f607dd36ed7cc54a062dc11c9b958331341/public/icons/favicon-96x96.png
--------------------------------------------------------------------------------
/public/icons/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/patrickmonteiro/quasar-3d-model/9a5f3f607dd36ed7cc54a062dc11c9b958331341/public/icons/favicon.ico
--------------------------------------------------------------------------------
/public/icons/icon-128x128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/patrickmonteiro/quasar-3d-model/9a5f3f607dd36ed7cc54a062dc11c9b958331341/public/icons/icon-128x128.png
--------------------------------------------------------------------------------
/public/icons/icon-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/patrickmonteiro/quasar-3d-model/9a5f3f607dd36ed7cc54a062dc11c9b958331341/public/icons/icon-192x192.png
--------------------------------------------------------------------------------
/public/icons/icon-256x256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/patrickmonteiro/quasar-3d-model/9a5f3f607dd36ed7cc54a062dc11c9b958331341/public/icons/icon-256x256.png
--------------------------------------------------------------------------------
/public/icons/icon-384x384.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/patrickmonteiro/quasar-3d-model/9a5f3f607dd36ed7cc54a062dc11c9b958331341/public/icons/icon-384x384.png
--------------------------------------------------------------------------------
/public/icons/icon-512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/patrickmonteiro/quasar-3d-model/9a5f3f607dd36ed7cc54a062dc11c9b958331341/public/icons/icon-512x512.png
--------------------------------------------------------------------------------
/public/icons/ms-icon-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/patrickmonteiro/quasar-3d-model/9a5f3f607dd36ed7cc54a062dc11c9b958331341/public/icons/ms-icon-144x144.png
--------------------------------------------------------------------------------
/public/icons/safari-pinned-tab.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/quasar.conf.js:
--------------------------------------------------------------------------------
1 | // Configuration for your app
2 | // https://quasar.dev/quasar-cli/quasar-conf-js
3 |
4 | module.exports = function (ctx) {
5 | return {
6 | // app boot file (/src/boot)
7 | // --> boot files are part of "main.js"
8 | // https://quasar.dev/quasar-cli/cli-documentation/boot-files
9 | boot: [
10 | 'i18n',
11 | 'axios'
12 | ],
13 |
14 | // https://quasar.dev/quasar-cli/quasar-conf-js#Property%3A-css
15 | css: [
16 | 'app.css'
17 | ],
18 |
19 | // https://github.com/quasarframework/quasar/tree/dev/extras
20 | extras: [
21 | // 'ionicons-v4',
22 | // 'mdi-v4',
23 | // 'fontawesome-v5',
24 | // 'eva-icons',
25 | // 'themify',
26 | // 'line-awesome',
27 | // 'roboto-font-latin-ext', // this or either 'roboto-font', NEVER both!
28 |
29 | 'roboto-font', // optional, you are not bound to it
30 | 'material-icons' // optional, you are not bound to it
31 | ],
32 |
33 | // https://quasar.dev/quasar-cli/quasar-conf-js#Property%3A-framework
34 | framework: {
35 | iconSet: 'material-icons', // Quasar icon set
36 | lang: 'en-us', // Quasar language pack
37 |
38 | // Possible values for "all":
39 | // * 'auto' - Auto-import needed Quasar components & directives
40 | // (slightly higher compile time; next to minimum bundle size; most convenient)
41 | // * false - Manually specify what to import
42 | // (fastest compile time; minimum bundle size; most tedious)
43 | // * true - Import everything from Quasar
44 | // (not treeshaking Quasar; biggest bundle size; convenient)
45 | importStrategy: 'auto',
46 |
47 | // components: [
48 | // ],
49 |
50 | directives: [
51 | 'Ripple'
52 | ],
53 |
54 | // Quasar plugins
55 | plugins: [
56 | 'Loading'
57 | ]
58 | },
59 |
60 | // Full list of options: https://quasar.dev/quasar-cli/quasar-conf-js#Property%3A-build
61 | build: {
62 | scopeHoisting: true,
63 | vueRouterMode: 'hash', // available values: 'hash', 'history'
64 | showProgress: true,
65 | gzip: false,
66 | analyze: false,
67 | // Options below are automatically set depending on the env, set them if you want to override
68 | // preloadChunks: false,
69 | // extractCSS: false,
70 |
71 | // https://quasar.dev/quasar-cli/cli-documentation/handling-webpack
72 | extendWebpack (cfg) {
73 | cfg.module.rules.push({
74 | enforce: 'pre',
75 | test: /\.(js|vue)$/,
76 | loader: 'eslint-loader',
77 | exclude: /node_modules/,
78 | options: {
79 | formatter: require('eslint').CLIEngine.getFormatter('stylish')
80 | }
81 | })
82 | }
83 | },
84 |
85 | // Full list of options: https://quasar.dev/quasar-cli/quasar-conf-js#Property%3A-devServer
86 | devServer: {
87 | https: false,
88 | port: 8080,
89 | open: true // opens browser window automatically
90 | },
91 |
92 | // animations: 'all', // --- includes all animations
93 | // https://quasar.dev/options/animations
94 | animations: [],
95 |
96 | // https://quasar.dev/quasar-cli/developing-ssr/configuring-ssr
97 | ssr: {
98 | pwa: false
99 | },
100 |
101 | // https://quasar.dev/quasar-cli/developing-pwa/configuring-pwa
102 | pwa: {
103 | workboxPluginMode: 'GenerateSW', // 'GenerateSW' or 'InjectManifest'
104 | workboxOptions: {}, // only for GenerateSW
105 | manifest: {
106 | name: 'Quasar App',
107 | short_name: 'Quasar App',
108 | description: 'A Quasar Framework app',
109 | display: 'standalone',
110 | orientation: 'portrait',
111 | background_color: '#ffffff',
112 | theme_color: '#027be3',
113 | icons: [
114 | {
115 | 'src': 'statics/icons/icon-128x128.png',
116 | 'sizes': '128x128',
117 | 'type': 'image/png'
118 | },
119 | {
120 | 'src': 'statics/icons/icon-192x192.png',
121 | 'sizes': '192x192',
122 | 'type': 'image/png'
123 | },
124 | {
125 | 'src': 'statics/icons/icon-256x256.png',
126 | 'sizes': '256x256',
127 | 'type': 'image/png'
128 | },
129 | {
130 | 'src': 'statics/icons/icon-384x384.png',
131 | 'sizes': '384x384',
132 | 'type': 'image/png'
133 | },
134 | {
135 | 'src': 'statics/icons/icon-512x512.png',
136 | 'sizes': '512x512',
137 | 'type': 'image/png'
138 | }
139 | ]
140 | }
141 | },
142 |
143 | // Full list of options: https://quasar.dev/quasar-cli/developing-cordova-apps/configuring-cordova
144 | cordova: {
145 | // noIosLegacyBuildFlag: true, // uncomment only if you know what you are doing
146 | id: 'org.cordova.quasar.app'
147 | },
148 |
149 |
150 | // Full list of options: https://quasar.dev/quasar-cli/developing-capacitor-apps/configuring-capacitor
151 | capacitor: {
152 | hideSplashscreen: true
153 | },
154 |
155 | // Full list of options: https://quasar.dev/quasar-cli/developing-electron-apps/configuring-electron
156 | electron: {
157 | bundler: 'packager', // 'packager' or 'builder'
158 |
159 | packager: {
160 | // https://github.com/electron-userland/electron-packager/blob/master/docs/api.md#options
161 |
162 | // OS X / Mac App Store
163 | // appBundleId: '',
164 | // appCategoryType: '',
165 | // osxSign: '',
166 | // protocol: 'myapp://path',
167 |
168 | // Windows only
169 | // win32metadata: { ... }
170 | },
171 |
172 | builder: {
173 | // https://www.electron.build/configuration/configuration
174 |
175 | appId: 'quasar-3d-model'
176 | },
177 |
178 | // More info: https://quasar.dev/quasar-cli/developing-electron-apps/node-integration
179 | nodeIntegration: true,
180 |
181 | extendWebpack (cfg) {
182 | // do something with Electron main process Webpack cfg
183 | // chainWebpack also available besides this extendWebpack
184 | }
185 | }
186 | }
187 | }
188 |
--------------------------------------------------------------------------------
/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
--------------------------------------------------------------------------------
/src/assets/quasar-logo-full.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
192 |
--------------------------------------------------------------------------------
/src/assets/sad.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/boot/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/patrickmonteiro/quasar-3d-model/9a5f3f607dd36ed7cc54a062dc11c9b958331341/src/boot/.gitkeep
--------------------------------------------------------------------------------
/src/boot/axios.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import axios from 'axios'
3 |
4 | Vue.prototype.$axios = axios
5 |
--------------------------------------------------------------------------------
/src/boot/i18n.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import VueI18n from 'vue-i18n'
3 | import messages from 'src/i18n'
4 |
5 | Vue.use(VueI18n)
6 |
7 | const i18n = new VueI18n({
8 | locale: 'en-us',
9 | fallbackLocale: 'en-us',
10 | messages
11 | })
12 |
13 | export default ({ app }) => {
14 | // Set i18n instance on app
15 | app.i18n = i18n
16 | }
17 |
18 | export { i18n }
19 |
--------------------------------------------------------------------------------
/src/components/EssentialLink.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | {{ title }}
9 | {{ caption }}
10 |
11 |
12 |
13 |
14 |
40 |
--------------------------------------------------------------------------------
/src/css/app.css:
--------------------------------------------------------------------------------
1 | /* app global css */
2 |
--------------------------------------------------------------------------------
/src/i18n/en-us/index.js:
--------------------------------------------------------------------------------
1 | // This is just an example,
2 | // so you can safely delete all default props below
3 |
4 | export default {
5 | failed: 'Action failed',
6 | success: 'Action was successful'
7 | }
8 |
--------------------------------------------------------------------------------
/src/i18n/index.js:
--------------------------------------------------------------------------------
1 | import enUS from './en-us'
2 |
3 | export default {
4 | 'en-us': enUS
5 | }
6 |
--------------------------------------------------------------------------------
/src/index.template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | <%= productName %>
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/src/layouts/MainLayout.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
13 |
14 |
15 | Quasar App
16 |
17 |
18 | Quasar v{{ $q.version }}
19 |
20 |
21 |
22 |
28 |
29 | Essential Links
30 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
99 |
--------------------------------------------------------------------------------
/src/pages/Error404.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
9 |
Sorry, nothing here...(404)
10 |
16 |
17 |
18 |
19 |
24 |
--------------------------------------------------------------------------------
/src/pages/Index.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
12 |
13 |
22 |
23 |
29 |
30 |
31 |
41 |
51 |
59 |
60 |
61 |
62 |
63 |
64 |
72 |
73 |
81 |
82 |
90 |
91 |
99 |
100 |
108 |
109 |
117 |
118 |
119 |
120 |
121 |
190 |
--------------------------------------------------------------------------------
/src/router/index.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import VueRouter from 'vue-router'
3 |
4 | import routes from './routes'
5 |
6 | Vue.use(VueRouter)
7 |
8 | /*
9 | * If not building with SSR mode, you can
10 | * directly export the Router instantiation;
11 | *
12 | * The function below can be async too; either use
13 | * async/await or return a Promise which resolves
14 | * with the Router instance.
15 | */
16 |
17 | export default function (/* { store, ssrContext } */) {
18 | const Router = new VueRouter({
19 | scrollBehavior: () => ({ x: 0, y: 0 }),
20 | routes,
21 |
22 | // Leave these as they are and change in quasar.conf.js instead!
23 | // quasar.conf.js -> build -> vueRouterMode
24 | // quasar.conf.js -> build -> publicPath
25 | mode: process.env.VUE_ROUTER_MODE,
26 | base: process.env.VUE_ROUTER_BASE
27 | })
28 |
29 | return Router
30 | }
31 |
--------------------------------------------------------------------------------
/src/router/routes.js:
--------------------------------------------------------------------------------
1 |
2 | const routes = [
3 | {
4 | path: '/',
5 | component: () => import('layouts/MainLayout.vue'),
6 | children: [
7 | { path: '', component: () => import('pages/Index.vue') }
8 | ]
9 | }
10 | ]
11 |
12 | // Always leave this as last one
13 | if (process.env.MODE !== 'ssr') {
14 | routes.push({
15 | path: '*',
16 | component: () => import('pages/Error404.vue')
17 | })
18 | }
19 |
20 | export default routes
21 |
--------------------------------------------------------------------------------
/src/store/index.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import Vuex from 'vuex'
3 |
4 | // import example from './module-example'
5 |
6 | Vue.use(Vuex)
7 |
8 | /*
9 | * If not building with SSR mode, you can
10 | * directly export the Store instantiation;
11 | *
12 | * The function below can be async too; either use
13 | * async/await or return a Promise which resolves
14 | * with the Store instance.
15 | */
16 |
17 | export default function (/* { ssrContext } */) {
18 | const Store = new Vuex.Store({
19 | modules: {
20 | // example
21 | },
22 |
23 | // enable strict mode (adds overhead!)
24 | // for dev mode only
25 | strict: process.env.DEV
26 | })
27 |
28 | return Store
29 | }
30 |
--------------------------------------------------------------------------------
/src/store/module-example/actions.js:
--------------------------------------------------------------------------------
1 | export function someAction (/* context */) {
2 | }
3 |
--------------------------------------------------------------------------------
/src/store/module-example/getters.js:
--------------------------------------------------------------------------------
1 | export function someGetter (/* state */) {
2 | }
3 |
--------------------------------------------------------------------------------
/src/store/module-example/index.js:
--------------------------------------------------------------------------------
1 | import state from './state'
2 | import * as getters from './getters'
3 | import * as mutations from './mutations'
4 | import * as actions from './actions'
5 |
6 | export default {
7 | namespaced: true,
8 | getters,
9 | mutations,
10 | actions,
11 | state
12 | }
13 |
--------------------------------------------------------------------------------
/src/store/module-example/mutations.js:
--------------------------------------------------------------------------------
1 | export function someMutation (/* state */) {
2 | }
3 |
--------------------------------------------------------------------------------
/src/store/module-example/state.js:
--------------------------------------------------------------------------------
1 | export default function () {
2 | return {
3 | //
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/src/store/store-flag.d.ts:
--------------------------------------------------------------------------------
1 | // THIS FEATURE-FLAG FILE IS AUTOGENERATED,
2 | // REMOVAL OR CHANGES WILL CAUSE RELATED TYPES TO STOP WORKING
3 | import "quasar/dist/types/feature-flag";
4 |
5 | declare module "quasar/dist/types/feature-flag" {
6 | interface QuasarFeatureFlags {
7 | store: true;
8 | }
9 | }
10 |
--------------------------------------------------------------------------------