├── .editorconfig
├── .eslintignore
├── .eslintrc.js
├── .gitignore
├── .npmrc
├── .vscode
├── extensions.json
└── settings.json
├── README.md
├── index.html
├── jsconfig.json
├── package-lock.json
├── package.json
├── postcss.config.js
├── public
├── favicon.ico
├── icons
│ ├── favicon-128x128.png
│ ├── favicon-16x16.png
│ ├── favicon-32x32.png
│ └── favicon-96x96.png
└── images.png
├── quasar.config.js
├── src-electron
├── electron-flag.d.ts
├── electron-main.js
├── electron-preload.js
└── icons
│ ├── icon.icns
│ ├── icon.ico
│ └── icon.png
├── src
├── App.vue
├── assets
│ └── quasar-logo-vertical.svg
├── boot
│ └── .gitkeep
├── components
│ └── EssentialLink.vue
├── css
│ ├── app.scss
│ └── quasar.variables.scss
├── layouts
│ └── MainLayout.vue
├── pages
│ ├── Code.vue
│ ├── Customizer.vue
│ ├── Dashboard.vue
│ ├── Discounts.vue
│ ├── ErrorNotFound.vue
│ ├── IndexPage.vue
│ ├── Integrations.vue
│ ├── Management.vue
│ ├── Midisify.vue
│ ├── Orders.vue
│ ├── Shipping.vue
│ ├── Subscription.vue
│ └── Upsells.vue
└── router
│ ├── index.js
│ └── routes.js
└── 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 | /src-capacitor
3 | /src-cordova
4 | /.quasar
5 | /node_modules
6 | .eslintrc.js
7 |
--------------------------------------------------------------------------------
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | // https://eslint.org/docs/user-guide/configuring#configuration-cascading-and-hierarchy
3 | // This option interrupts the configuration hierarchy at this file
4 | // Remove this if you have an higher level ESLint config file (it usually happens into a monorepos)
5 | root: true,
6 |
7 | parserOptions: {
8 | ecmaVersion: '2021', // Allows for the parsing of modern ECMAScript features
9 | },
10 |
11 | env: {
12 | node: true,
13 | browser: true,
14 | 'vue/setup-compiler-macros': true
15 | },
16 |
17 | // Rules order is important, please avoid shuffling them
18 | extends: [
19 | // Base ESLint recommended rules
20 | // 'eslint:recommended',
21 |
22 | // Uncomment any of the lines below to choose desired strictness,
23 | // but leave only one uncommented!
24 | // See https://eslint.vuejs.org/rules/#available-rules
25 | 'plugin:vue/vue3-essential', // Priority A: Essential (Error Prevention)
26 | // 'plugin:vue/vue3-strongly-recommended', // Priority B: Strongly Recommended (Improving Readability)
27 | // 'plugin:vue/vue3-recommended', // Priority C: Recommended (Minimizing Arbitrary Choices and Cognitive Overhead)
28 |
29 | 'standard'
30 |
31 | ],
32 |
33 | plugins: [
34 | // https://eslint.vuejs.org/user-guide/#why-doesn-t-it-work-on-vue-files
35 | // required to lint *.vue files
36 | 'vue',
37 |
38 | ],
39 |
40 | globals: {
41 | ga: 'readonly', // Google Analytics
42 | cordova: 'readonly',
43 | __statics: 'readonly',
44 | __QUASAR_SSR__: 'readonly',
45 | __QUASAR_SSR_SERVER__: 'readonly',
46 | __QUASAR_SSR_CLIENT__: 'readonly',
47 | __QUASAR_SSR_PWA__: 'readonly',
48 | process: 'readonly',
49 | Capacitor: 'readonly',
50 | chrome: 'readonly'
51 | },
52 |
53 | // add your custom rules here
54 | rules: {
55 |
56 | // allow async-await
57 | 'generator-star-spacing': 'off',
58 | // allow paren-less arrow functions
59 | 'arrow-parens': 'off',
60 | 'one-var': 'off',
61 | 'no-void': 'off',
62 | 'multiline-ternary': 'off',
63 |
64 | 'import/first': 'off',
65 | 'import/named': 'error',
66 | 'import/namespace': 'error',
67 | 'import/default': 'error',
68 | 'import/export': 'error',
69 | 'import/extensions': 'off',
70 | 'import/no-unresolved': 'off',
71 | 'import/no-extraneous-dependencies': 'off',
72 |
73 | 'prefer-promise-reject-errors': 'off',
74 |
75 | // allow debugger during development only
76 | 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
77 | }
78 | }
79 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .thumbs.db
3 | node_modules
4 |
5 | # Quasar core related directories
6 | .quasar
7 | /dist
8 |
9 | # Cordova related directories and files
10 | /src-cordova/node_modules
11 | /src-cordova/platforms
12 | /src-cordova/plugins
13 | /src-cordova/www
14 |
15 | # Capacitor related directories and files
16 | /src-capacitor/www
17 | /src-capacitor/node_modules
18 |
19 | # Log files
20 | npm-debug.log*
21 | yarn-debug.log*
22 | yarn-error.log*
23 |
24 | # Editor directories and files
25 | .idea
26 | *.suo
27 | *.ntvs*
28 | *.njsproj
29 | *.sln
30 |
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
1 | # pnpm-related options
2 | shamefully-hoist=true
3 | strict-peer-dependencies=false
4 |
--------------------------------------------------------------------------------
/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": [
3 | "dbaeumer.vscode-eslint",
4 | "editorconfig.editorconfig",
5 | "vue.volar",
6 | "wayou.vscode-todo-highlight"
7 | ],
8 | "unwantedRecommendations": [
9 | "octref.vetur",
10 | "hookyqr.beautify",
11 | "dbaeumer.jshint",
12 | "ms-vscode.vscode-typescript-tslint-plugin"
13 | ]
14 | }
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "editor.bracketPairColorization.enabled": true,
3 | "editor.guides.bracketPairs": true,
4 | "editor.formatOnSave": false,
5 | "editor.defaultFormatter": "dbaeumer.vscode-eslint",
6 | "editor.codeActionsOnSave": [
7 | "source.fixAll.eslint"
8 | ],
9 | "eslint.validate": [
10 | "javascript",
11 | "javascriptreact",
12 | "typescript",
13 | "vue"
14 | ],
15 | "scss.format.enable": true,
16 | "[vue]": {
17 | "editor.defaultFormatter": "octref.vetur"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Quasar App (quasar-project)
2 |
3 | A Quasar Project
4 |
5 | ## Install the dependencies
6 | ```bash
7 | yarn
8 | # or
9 | npm install
10 | ```
11 |
12 | ### Start the app in development mode (hot-code reloading, error reporting, etc.)
13 | ```bash
14 | quasar dev
15 | ```
16 |
17 |
18 | ### Lint the files
19 | ```bash
20 | yarn lint
21 | # or
22 | npm run lint
23 | ```
24 |
25 |
26 |
27 | ### Build the app for production
28 | ```bash
29 | quasar build
30 | ```
31 |
32 | ### Customize the configuration
33 | See [Configuring quasar.config.js](https://v2.quasar.dev/quasar-cli-vite/quasar-config-js).
34 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | <%= productName %>
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "baseUrl": ".",
4 | "paths": {
5 | "src/*": [
6 | "src/*"
7 | ],
8 | "app/*": [
9 | "*"
10 | ],
11 | "components/*": [
12 | "src/components/*"
13 | ],
14 | "layouts/*": [
15 | "src/layouts/*"
16 | ],
17 | "pages/*": [
18 | "src/pages/*"
19 | ],
20 | "assets/*": [
21 | "src/assets/*"
22 | ],
23 | "boot/*": [
24 | "src/boot/*"
25 | ],
26 | "stores/*": [
27 | "src/stores/*"
28 | ],
29 | "vue$": [
30 | "node_modules/vue/dist/vue.runtime.esm-bundler.js"
31 | ]
32 | }
33 | },
34 | "exclude": [
35 | "dist",
36 | ".quasar",
37 | "node_modules"
38 | ]
39 | }
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "quasar-project",
3 | "version": "0.0.1",
4 | "description": "A Quasar Project",
5 | "productName": "Quasar App",
6 | "author": "sayjun0505 ",
7 | "private": true,
8 | "scripts": {
9 | "lint": "eslint --ext .js,.vue ./",
10 | "test": "echo \"No test specified\" && exit 0",
11 | "dev": "quasar dev",
12 | "build": "quasar build"
13 | },
14 | "dependencies": {
15 | "@quasar/extras": "^1.0.0",
16 | "electron": "^24.1.3",
17 | "quasar": "^2.6.0",
18 | "vue": "^3.0.0",
19 | "vue-router": "^4.0.0"
20 | },
21 | "devDependencies": {
22 | "@quasar/app-vite": "^1.0.0",
23 | "autoprefixer": "^10.4.2",
24 | "electron-packager": "^15.2.0",
25 | "eslint": "^8.10.0",
26 | "eslint-config-standard": "^17.0.0",
27 | "eslint-plugin-import": "^2.19.1",
28 | "eslint-plugin-n": "^15.0.0",
29 | "eslint-plugin-promise": "^6.0.0",
30 | "eslint-plugin-vue": "^9.0.0",
31 | "postcss": "^8.4.14"
32 | },
33 | "engines": {
34 | "node": "^18 || ^16 || ^14.19",
35 | "npm": ">= 6.13.4",
36 | "yarn": ">= 1.21.1"
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/postcss.config.js:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | // https://github.com/michael-ciniawsky/postcss-load-config
3 |
4 | module.exports = {
5 | plugins: [
6 | // https://github.com/postcss/autoprefixer
7 | require('autoprefixer')({
8 | overrideBrowserslist: [
9 | 'last 4 Chrome versions',
10 | 'last 4 Firefox versions',
11 | 'last 4 Edge versions',
12 | 'last 4 Safari versions',
13 | 'last 4 Android versions',
14 | 'last 4 ChromeAndroid versions',
15 | 'last 4 FirefoxAndroid versions',
16 | 'last 4 iOS versions'
17 | ]
18 | })
19 |
20 | // https://github.com/elchininet/postcss-rtlcss
21 | // If you want to support RTL css, then
22 | // 1. yarn/npm install postcss-rtlcss
23 | // 2. optionally set quasar.config.js > framework > lang to an RTL language
24 | // 3. uncomment the following line:
25 | // require('postcss-rtlcss')
26 | ]
27 | }
28 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sayjun0505/VueQuasar/4abfb001aa1449f63c93cb17e77bbe534289fc05/public/favicon.ico
--------------------------------------------------------------------------------
/public/icons/favicon-128x128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sayjun0505/VueQuasar/4abfb001aa1449f63c93cb17e77bbe534289fc05/public/icons/favicon-128x128.png
--------------------------------------------------------------------------------
/public/icons/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sayjun0505/VueQuasar/4abfb001aa1449f63c93cb17e77bbe534289fc05/public/icons/favicon-16x16.png
--------------------------------------------------------------------------------
/public/icons/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sayjun0505/VueQuasar/4abfb001aa1449f63c93cb17e77bbe534289fc05/public/icons/favicon-32x32.png
--------------------------------------------------------------------------------
/public/icons/favicon-96x96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sayjun0505/VueQuasar/4abfb001aa1449f63c93cb17e77bbe534289fc05/public/icons/favicon-96x96.png
--------------------------------------------------------------------------------
/public/images.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sayjun0505/VueQuasar/4abfb001aa1449f63c93cb17e77bbe534289fc05/public/images.png
--------------------------------------------------------------------------------
/quasar.config.js:
--------------------------------------------------------------------------------
1 | /* eslint-env node */
2 |
3 | /*
4 | * This file runs in a Node context (it's NOT transpiled by Babel), so use only
5 | * the ES6 features that are supported by your Node version. https://node.green/
6 | */
7 |
8 | // Configuration for your app
9 | // https://v2.quasar.dev/quasar-cli-vite/quasar-config-js
10 |
11 | const { configure } = require('quasar/wrappers')
12 |
13 | module.exports = configure(function (/* ctx */) {
14 | return {
15 | eslint: {
16 | // fix: true,
17 | // include: [],
18 | // exclude: [],
19 | // rawOptions: {},
20 | warnings: true,
21 | errors: true
22 | },
23 |
24 | // https://v2.quasar.dev/quasar-cli/prefetch-feature
25 | // preFetch: true,
26 |
27 | // app boot file (/src/boot)
28 | // --> boot files are part of "main.js"
29 | // https://v2.quasar.dev/quasar-cli/boot-files
30 | boot: [
31 |
32 | ],
33 |
34 | // https://v2.quasar.dev/quasar-cli-vite/quasar-config-js#css
35 | css: [
36 | 'app.scss'
37 | ],
38 |
39 | // https://github.com/quasarframework/quasar/tree/dev/extras
40 | extras: [
41 | 'ionicons-v4',
42 | 'mdi-v5',
43 | 'fontawesome-v6',
44 | 'eva-icons',
45 | 'themify',
46 | 'line-awesome',
47 | 'roboto-font-latin-ext', // this or either 'roboto-font', NEVER both!
48 |
49 | 'roboto-font', // optional, you are not bound to it
50 | 'material-icons', // optional, you are not bound to it
51 | 'material-icons-outlined' // optional, you are not bound to it
52 | ],
53 |
54 | // Full list of options: https://v2.quasar.dev/quasar-cli-vite/quasar-config-js#build
55 | build: {
56 | target: {
57 | browser: ['es2019', 'edge88', 'firefox78', 'chrome87', 'safari13.1'],
58 | node: 'node16'
59 | },
60 |
61 | vueRouterMode: 'hash' // available values: 'hash', 'history'
62 | // vueRouterBase,
63 | // vueDevtools,
64 | // vueOptionsAPI: false,
65 |
66 | // rebuildCache: true, // rebuilds Vite/linter/etc cache on startup
67 |
68 | // publicPath: '/',
69 | // analyze: true,
70 | // env: {},
71 | // rawDefine: {}
72 | // ignorePublicFolder: true,
73 | // minify: false,
74 | // polyfillModulePreload: true,
75 | // distDir
76 |
77 | // extendViteConf (viteConf) {},
78 | // viteVuePluginOptions: {},
79 |
80 | // vitePlugins: [
81 | // [ 'package-name', { ..options.. } ]
82 | // ]
83 | },
84 |
85 | // Full list of options: https://v2.quasar.dev/quasar-cli-vite/quasar-config-js#devServer
86 | devServer: {
87 | // https: true
88 | open: true // opens browser window automatically
89 | },
90 |
91 | // https://v2.quasar.dev/quasar-cli-vite/quasar-config-js#framework
92 | framework: {
93 | config: {},
94 |
95 | // iconSet: 'material-icons', // Quasar icon set
96 | // lang: 'en-US', // Quasar language pack
97 |
98 | // For special cases outside of where the auto-import strategy can have an impact
99 | // (like functional components as one of the examples),
100 | // you can manually specify Quasar components/directives to be available everywhere:
101 | //
102 | // components: [],
103 | // directives: [],
104 |
105 | // Quasar plugins
106 | plugins: []
107 | },
108 |
109 | // animations: 'all', // --- includes all animations
110 | // https://v2.quasar.dev/options/animations
111 | animations: [],
112 |
113 | // https://v2.quasar.dev/quasar-cli-vite/quasar-config-js#property-sourcefiles
114 | // sourceFiles: {
115 | // rootComponent: 'src/App.vue',
116 | // router: 'src/router/index',
117 | // store: 'src/store/index',
118 | // registerServiceWorker: 'src-pwa/register-service-worker',
119 | // serviceWorker: 'src-pwa/custom-service-worker',
120 | // pwaManifestFile: 'src-pwa/manifest.json',
121 | // electronMain: 'src-electron/electron-main',
122 | // electronPreload: 'src-electron/electron-preload'
123 | // },
124 |
125 | // https://v2.quasar.dev/quasar-cli/developing-ssr/configuring-ssr
126 | ssr: {
127 | // ssrPwaHtmlFilename: 'offline.html', // do NOT use index.html as name!
128 | // will mess up SSR
129 |
130 | // extendSSRWebserverConf (esbuildConf) {},
131 | // extendPackageJson (json) {},
132 |
133 | pwa: false,
134 |
135 | // manualStoreHydration: true,
136 | // manualPostHydrationTrigger: true,
137 |
138 | prodPort: 3000, // The default port that the production server should use
139 | // (gets superseded if process.env.PORT is specified at runtime)
140 |
141 | middlewares: [
142 | 'render' // keep this as last one
143 | ]
144 | },
145 |
146 | // https://v2.quasar.dev/quasar-cli/developing-pwa/configuring-pwa
147 | pwa: {
148 | workboxMode: 'generateSW', // or 'injectManifest'
149 | injectPwaMetaTags: true,
150 | swFilename: 'sw.js',
151 | manifestFilename: 'manifest.json',
152 | useCredentialsForManifestTag: false
153 | // useFilenameHashes: true,
154 | // extendGenerateSWOptions (cfg) {}
155 | // extendInjectManifestOptions (cfg) {},
156 | // extendManifestJson (json) {}
157 | // extendPWACustomSWConf (esbuildConf) {}
158 | },
159 |
160 | // Full list of options: https://v2.quasar.dev/quasar-cli/developing-cordova-apps/configuring-cordova
161 | cordova: {
162 | // noIosLegacyBuildFlag: true, // uncomment only if you know what you are doing
163 | },
164 |
165 | // Full list of options: https://v2.quasar.dev/quasar-cli/developing-capacitor-apps/configuring-capacitor
166 | capacitor: {
167 | hideSplashscreen: true
168 | },
169 |
170 | // Full list of options: https://v2.quasar.dev/quasar-cli/developing-electron-apps/configuring-electron
171 | electron: {
172 | // extendElectronMainConf (esbuildConf)
173 | // extendElectronPreloadConf (esbuildConf)
174 |
175 | inspectPort: 5858,
176 |
177 | bundler: 'packager', // 'packager' or 'builder'
178 |
179 | packager: {
180 | // https://github.com/electron-userland/electron-packager/blob/master/docs/api.md#options
181 |
182 | // OS X / Mac App Store
183 | // appBundleId: '',
184 | // appCategoryType: '',
185 | // osxSign: '',
186 | // protocol: 'myapp://path',
187 |
188 | // Windows only
189 | // win32metadata: { ... }
190 | },
191 |
192 | builder: {
193 | // https://www.electron.build/configuration/configuration
194 |
195 | appId: 'quasar-project'
196 | }
197 | },
198 |
199 | // Full list of options: https://v2.quasar.dev/quasar-cli-vite/developing-browser-extensions/configuring-bex
200 | bex: {
201 | contentScripts: [
202 | 'my-content-script'
203 | ]
204 |
205 | // extendBexScriptsConf (esbuildConf) {}
206 | // extendBexManifestJson (json) {}
207 | }
208 | }
209 | })
210 |
--------------------------------------------------------------------------------
/src-electron/electron-flag.d.ts:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | // THIS FEATURE-FLAG FILE IS AUTOGENERATED,
3 | // REMOVAL OR CHANGES WILL CAUSE RELATED TYPES TO STOP WORKING
4 | import "quasar/dist/types/feature-flag";
5 |
6 | declare module "quasar/dist/types/feature-flag" {
7 | interface QuasarFeatureFlags {
8 | electron: true;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src-electron/electron-main.js:
--------------------------------------------------------------------------------
1 | import { app, BrowserWindow, nativeTheme } from 'electron'
2 | import path from 'path'
3 | import os from 'os'
4 |
5 | // needed in case process is undefined under Linux
6 | const platform = process.platform || os.platform()
7 |
8 | try {
9 | if (platform === 'win32' && nativeTheme.shouldUseDarkColors === true) {
10 | require('fs').unlinkSync(path.join(app.getPath('userData'), 'DevTools Extensions'))
11 | }
12 | } catch (_) { }
13 |
14 | let mainWindow
15 |
16 | function createWindow () {
17 | /**
18 | * Initial window options
19 | */
20 | mainWindow = new BrowserWindow({
21 | icon: path.resolve(__dirname, 'icons/icon.png'), // tray icon
22 | width: 1000,
23 | height: 600,
24 | useContentSize: true,
25 | webPreferences: {
26 | contextIsolation: true,
27 | // More info: https://v2.quasar.dev/quasar-cli-vite/developing-electron-apps/electron-preload-script
28 | preload: path.resolve(__dirname, process.env.QUASAR_ELECTRON_PRELOAD)
29 | }
30 | })
31 |
32 | mainWindow.loadURL(process.env.APP_URL)
33 |
34 | if (process.env.DEBUGGING) {
35 | // if on DEV or Production with debug enabled
36 | mainWindow.webContents.openDevTools()
37 | } else {
38 | // we're on production; no access to devtools pls
39 | mainWindow.webContents.on('devtools-opened', () => {
40 | mainWindow.webContents.closeDevTools()
41 | })
42 | }
43 |
44 | mainWindow.on('closed', () => {
45 | mainWindow = null
46 | })
47 | }
48 |
49 | app.whenReady().then(createWindow)
50 |
51 | app.on('window-all-closed', () => {
52 | if (platform !== 'darwin') {
53 | app.quit()
54 | }
55 | })
56 |
57 | app.on('activate', () => {
58 | if (mainWindow === null) {
59 | createWindow()
60 | }
61 | })
62 |
--------------------------------------------------------------------------------
/src-electron/electron-preload.js:
--------------------------------------------------------------------------------
1 | /**
2 | * This file is used specifically for security reasons.
3 | * Here you can access Nodejs stuff and inject functionality into
4 | * the renderer thread (accessible there through the "window" object)
5 | *
6 | * WARNING!
7 | * If you import anything from node_modules, then make sure that the package is specified
8 | * in package.json > dependencies and NOT in devDependencies
9 | *
10 | * Example (injects window.myAPI.doAThing() into renderer thread):
11 | *
12 | * import { contextBridge } from 'electron'
13 | *
14 | * contextBridge.exposeInMainWorld('myAPI', {
15 | * doAThing: () => {}
16 | * })
17 | *
18 | * WARNING!
19 | * If accessing Node functionality (like importing @electron/remote) then in your
20 | * electron-main.js you will need to set the following when you instantiate BrowserWindow:
21 | *
22 | * mainWindow = new BrowserWindow({
23 | * // ...
24 | * webPreferences: {
25 | * // ...
26 | * sandbox: false // <-- to be able to import @electron/remote in preload script
27 | * }
28 | * }
29 | */
30 |
--------------------------------------------------------------------------------
/src-electron/icons/icon.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sayjun0505/VueQuasar/4abfb001aa1449f63c93cb17e77bbe534289fc05/src-electron/icons/icon.icns
--------------------------------------------------------------------------------
/src-electron/icons/icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sayjun0505/VueQuasar/4abfb001aa1449f63c93cb17e77bbe534289fc05/src-electron/icons/icon.ico
--------------------------------------------------------------------------------
/src-electron/icons/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sayjun0505/VueQuasar/4abfb001aa1449f63c93cb17e77bbe534289fc05/src-electron/icons/icon.png
--------------------------------------------------------------------------------
/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
12 |
--------------------------------------------------------------------------------
/src/assets/quasar-logo-vertical.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/boot/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sayjun0505/VueQuasar/4abfb001aa1449f63c93cb17e77bbe534289fc05/src/boot/.gitkeep
--------------------------------------------------------------------------------
/src/components/EssentialLink.vue:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
22 |
46 |
51 |
--------------------------------------------------------------------------------
/src/css/app.scss:
--------------------------------------------------------------------------------
1 | // app global css in SCSS form
2 |
3 | .w-100 {
4 | width: 100%;
5 | }
6 |
7 | .bg-menubar-custom {
8 | background: #050824;
9 | }
10 |
11 | .font-white {
12 | color: white;
13 | }
14 |
15 | .menubar-list-custom:hover {
16 | background: linear-gradient(90deg, #4EFDEA 6.67%, #5766FF 92.08%);
17 | }
18 | .avatasize{
19 | width:32px;
20 | height: 32px;
21 | }
22 |
23 | .avatarbtn{
24 | background: rgba(75, 78, 104, 0.3);
25 | border-radius: 16px;
26 | width:80%;
27 | display: flex;
28 | align-items: center;
29 | justify-content: center;
30 | margin-left: 10%;
31 | margin-top:100%;
32 | height: 60px;
33 | }
34 | .avatarbtnlabel{
35 | margin-left: 25px;
36 | font-style: normal;
37 | font-weight: 500;
38 | font-size: 16px;
39 | line-height: 24px;
40 | color:white;
41 | }
42 | .mt-120 {
43 | margin-top: 140px;
44 | }
45 |
46 | .avatar-customs {
47 | position: fixed;
48 | width: 200px;
49 | height: 70px;
50 | bottom: 50px;
51 | left: 20px;
52 | background: rgba(75, 78, 104, 0.3) !important;
53 | color: white;
54 | border-radius: 16px;
55 | height: 20px;
56 | }
57 | .avatar-name{
58 | margin-left: 13px;
59 | }
60 | .bg-cyan{
61 | background: rgba(75, 78, 104, 0.3) !important;
62 | }
63 | .avatar-custom-size {
64 | height: 25px;
65 | width: 25px;
66 | }
67 |
68 | .q-table__container {
69 | box-shadow: none;
70 | }
71 |
--------------------------------------------------------------------------------
/src/css/quasar.variables.scss:
--------------------------------------------------------------------------------
1 | // Quasar SCSS (& Sass) Variables
2 | // --------------------------------------------------
3 | // To customize the look and feel of this app, you can override
4 | // the Sass/SCSS variables found in Quasar's source Sass/SCSS files.
5 |
6 | // Check documentation for full list of Quasar variables
7 |
8 | // Your own variables (that are declared here) and Quasar's own
9 | // ones will be available out of the box in your .vue/.scss/.sass files
10 |
11 | // It's highly recommended to change the default colors
12 | // to match your app's branding.
13 | // Tip: Use the "Theme Builder" on Quasar's documentation website.
14 |
15 | $primary : #1976D2;
16 | $secondary : #26A69A;
17 | $accent : #9C27B0;
18 |
19 | $dark : #1D1D1D;
20 | $dark-page : #121212;
21 |
22 | $positive : #21BA45;
23 | $negative : #C10015;
24 | $info : #31CCEC;
25 | $warning : #F2C037;
26 |
--------------------------------------------------------------------------------
/src/layouts/MainLayout.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
29 |
30 |
31 |
32 |
33 |
34 |
128 |
--------------------------------------------------------------------------------
/src/pages/Code.vue:
--------------------------------------------------------------------------------
1 |
2 | Code
3 |
4 |
14 |
--------------------------------------------------------------------------------
/src/pages/Customizer.vue:
--------------------------------------------------------------------------------
1 |
2 | Customer
3 |
4 |
14 |
--------------------------------------------------------------------------------
/src/pages/Dashboard.vue:
--------------------------------------------------------------------------------
1 |
2 | Dashboard
3 |
4 |
15 |
--------------------------------------------------------------------------------
/src/pages/Discounts.vue:
--------------------------------------------------------------------------------
1 |
2 | Discounts
3 |
4 |
14 |
--------------------------------------------------------------------------------
/src/pages/ErrorNotFound.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 404
6 |
7 |
8 |
9 | Oops. Nothing here...
10 |
11 |
12 |
21 |
22 |
23 |
24 |
25 |
32 |
--------------------------------------------------------------------------------
/src/pages/IndexPage.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Add Misify
9 |
10 |
11 |
12 |
13 |
14 | Name
15 |
16 |
17 |
18 | Limit
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 | Type
28 |
29 |
30 |
31 | API UserName
32 |
33 |
34 |
35 | API Password
36 |
37 |
38 |
39 | Currency
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 | 4
62 |
63 |
69 |
70 |
71 |
72 |
73 |
Midsify
74 |
79 |
80 |
81 |
82 |
83 |
84 |
91 |
92 |
93 |
94 | {{ props.row.name }}
95 |
96 |
97 |
107 |
120 |
121 |
122 | {{ props.row.details }}
123 |
124 |
125 |
126 | {{ props.row.reserve }}
127 |
128 |
129 |
130 |
131 | circle-smallLive
132 |
133 |
134 |
135 |
136 | circle-smallNext
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
230 |
596 |
621 |
--------------------------------------------------------------------------------
/src/pages/Integrations.vue:
--------------------------------------------------------------------------------
1 |
2 | Integration
3 |
4 |
14 |
--------------------------------------------------------------------------------
/src/pages/Management.vue:
--------------------------------------------------------------------------------
1 |
2 | Management
3 |
4 |
14 |
--------------------------------------------------------------------------------
/src/pages/Midisify.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Add Misify
9 |
10 |
11 |
12 |
13 |
14 | Name
15 |
16 |
17 |
18 | Limit
19 |
20 |
21 |
22 |
23 |
24 | Type
25 |
26 |
27 |
28 |
29 | API UserName
30 |
31 |
32 |
33 | API Password
34 |
35 |
36 |
37 | Currency
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 | 4
62 |
63 |
77 |
78 |
79 |
80 |
81 |
Midsify
82 |
87 |
88 |
89 |
90 |
91 |
92 |
99 |
100 |
101 |
102 | {{ props.row.name }}
103 |
104 |
105 |
115 |
125 |
126 |
127 | {{ props.row.details }}
128 |
129 |
130 |
131 | {{ props.row.reserve }}
132 |
133 |
134 |
135 |
136 | circle-smallLive
137 |
138 |
139 |
140 |
141 | circle-smallNext
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
236 |
568 |
593 |
--------------------------------------------------------------------------------
/src/pages/Orders.vue:
--------------------------------------------------------------------------------
1 | // eslint-disable-next-line vue/multi-word-component-names
2 |
3 | Orders
4 |
5 |
15 |
--------------------------------------------------------------------------------
/src/pages/Shipping.vue:
--------------------------------------------------------------------------------
1 |
2 | Shipping
3 |
4 |
14 |
--------------------------------------------------------------------------------
/src/pages/Subscription.vue:
--------------------------------------------------------------------------------
1 |
2 | Subscription
3 |
4 |
14 |
--------------------------------------------------------------------------------
/src/pages/Upsells.vue:
--------------------------------------------------------------------------------
1 |
2 | Upsell
3 |
4 |
14 |
--------------------------------------------------------------------------------
/src/router/index.js:
--------------------------------------------------------------------------------
1 | import { route } from 'quasar/wrappers'
2 | import { createRouter, createMemoryHistory, createWebHistory, createWebHashHistory } from 'vue-router'
3 | import routes from './routes'
4 |
5 | /*
6 | * If not building with SSR mode, you can
7 | * directly export the Router instantiation;
8 | *
9 | * The function below can be async too; either use
10 | * async/await or return a Promise which resolves
11 | * with the Router instance.
12 | */
13 |
14 | export default route(function (/* { store, ssrContext } */) {
15 | const createHistory = process.env.SERVER
16 | ? createMemoryHistory
17 | : (process.env.VUE_ROUTER_MODE === 'history' ? createWebHistory : createWebHashHistory)
18 |
19 | const Router = createRouter({
20 | scrollBehavior: () => ({ left: 0, top: 0 }),
21 | routes,
22 |
23 | // Leave this as is and make changes in quasar.conf.js instead!
24 | // quasar.conf.js -> build -> vueRouterMode
25 | // quasar.conf.js -> build -> publicPath
26 | history: createHistory(process.env.VUE_ROUTER_BASE)
27 | })
28 |
29 | return Router
30 | })
31 |
32 | // import { route } from 'quasar/wrappers'
33 | // import { createRouter, createWebHistory } from 'vue-router'
34 | // import routes from './routes'
35 |
36 | // export default route(function (/* { store, ssrContext } */) {
37 | // const createHistory = createWebHistory
38 |
39 | // const Router = createRouter({
40 | // scrollBehavior: () => ({ left: 0, top: 0 }),
41 | // routes,
42 |
43 | // // Leave this as is and make changes in quasar.conf.js instead!
44 | // // quasar.conf.js -> build -> vueRouterMode
45 | // // quasar.conf.js -> build -> publicPath
46 | // history: createHistory(process.env.VUE_ROUTER_BASE)
47 | // })
48 |
49 | // return Router
50 | // })
51 |
--------------------------------------------------------------------------------
/src/router/routes.js:
--------------------------------------------------------------------------------
1 |
2 | const routes = [
3 | {
4 | path: '/',
5 | component: () => import('layouts/MainLayout.vue'),
6 | children: [
7 | { path: '', component: () => import('pages/IndexPage.vue') },
8 | { path: '/DashboardPage', component: () => import('pages/Dashboard.vue') },
9 | { path: '/SubscriptionPage', component: () => import('pages/Subscription.vue') },
10 | { path: '/ManagementPage', component: () => import('pages/Management.vue') },
11 | { path: '/UpsellsPage', component: () => import('pages/Upsells.vue') },
12 | { path: '/ShippingPage', component: () => import('pages/Shipping.vue') },
13 | { path: '/DiscountsPage', component: () => import('pages/Discounts.vue') },
14 | { path: '/OrdersPage', component: () => import('pages/Orders.vue') },
15 | { path: '/MidisifyPage', component: () => import('pages/Midisify.vue') },
16 | { path: '/CodePage', component: () => import('pages/Code.vue') },
17 | { path: '/IntegrationsPage', component: () => import('pages/Integrations.vue') },
18 | { path: '/CustomizerPage', component: () => import('pages/Customizer.vue') }
19 | ]
20 | },
21 |
22 | // Always leave this as last one,
23 | // but you can also remove it
24 | {
25 | path: '/:catchAll(.*)*',
26 | component: () => import('pages/ErrorNotFound.vue')
27 | }
28 | ]
29 |
30 | export default routes
31 |
32 | // const routes = [
33 | // {
34 | // path: '/',
35 | // component: () => import('layouts/MainLayout.vue'),
36 | // children: [
37 | // { path: '', component: () => import('pages/IndexPage.vue') },
38 | // { path: '/DashboardPage', component: () => import('pages/Dashboard.vue') },
39 | // { path: '/SubscriptionPage', component: () => import('pages/Subscription.vue') },
40 | // { path: '/ManagementPage', component: () => import('pages/Management.vue') },
41 | // { path: '/UpsellsPage', component: () => import('pages/Upsells.vue') },
42 | // { path: '/ShippingPage', component: () => import('pages/Shipping.vue') },
43 | // { path: '/DiscountsPage', component: () => import('pages/Discounts.vue') },
44 | // { path: '/OrdersPage', component: () => import('pages/Orders.vue') },
45 | // { path: '/MidisifyPage', component: () => import('pages/Midisify.vue') },
46 | // { path: '/CodePage', component: () => import('pages/Code.vue') },
47 | // { path: '/IntegrationsPage', component: () => import('pages/Integrations.vue') },
48 | // { path: '/CustomizerPage', component: () => import('pages/Customizer.vue') }
49 | // ]
50 | // }
51 | // ]
52 |
53 | // export default routes
54 |
--------------------------------------------------------------------------------