diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..9d08a1a --- /dev/null +++ b/.editorconfig @@ -0,0 +1,9 @@ +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..67d23a7 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,8 @@ +/dist +/src-capacitor +/src-cordova +/.quasar +/node_modules +.eslintrc.cjs +/src-ssr +/quasar.config.*.temporary.compiled* diff --git a/.eslintrc.cjs b/.eslintrc.cjs new file mode 100644 index 0000000..1c1e9b8 --- /dev/null +++ b/.eslintrc.cjs @@ -0,0 +1,105 @@ +module.exports = { + // https://eslint.org/docs/user-guide/configuring#configuration-cascading-and-hierarchy + // This option interrupts the configuration hierarchy at this file + // Remove this if you have an higher level ESLint config file (it usually happens into a monorepos) + root: true, + + // https://eslint.vuejs.org/user-guide/#how-to-use-a-custom-parser + // Must use parserOptions instead of "parser" to allow vue-eslint-parser to keep working + // `parser: 'vue-eslint-parser'` is already included with any 'plugin:vue/**' config and should be omitted + parserOptions: { + parser: require.resolve('@typescript-eslint/parser'), + extraFileExtensions: [ '.vue' ] + }, + + env: { + browser: true, + es2021: true, + node: true, + 'vue/setup-compiler-macros': true + }, + + // Rules order is important, please avoid shuffling them + extends: [ + // Base ESLint recommended rules + // 'eslint:recommended', + + // https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/eslint-plugin#usage + // ESLint typescript rules + 'plugin:@typescript-eslint/recommended', + + // Uncomment any of the lines below to choose desired strictness, + // but leave only one uncommented! + // See https://eslint.vuejs.org/rules/#available-rules + 'plugin:vue/vue3-essential', // Priority A: Essential (Error Prevention) + // 'plugin:vue/vue3-strongly-recommended', // Priority B: Strongly Recommended (Improving Readability) + // 'plugin:vue/vue3-recommended', // Priority C: Recommended (Minimizing Arbitrary Choices and Cognitive Overhead) + + 'standard' + + ], + + plugins: [ + // required to apply rules which need type information + '@typescript-eslint', + + // https://eslint.vuejs.org/user-guide/#why-doesn-t-it-work-on-vue-files + // required to lint *.vue files + 'vue' + + ], + + globals: { + ga: 'readonly', // Google Analytics + cordova: 'readonly', + __statics: 'readonly', + __QUASAR_SSR__: 'readonly', + __QUASAR_SSR_SERVER__: 'readonly', + __QUASAR_SSR_CLIENT__: 'readonly', + __QUASAR_SSR_PWA__: 'readonly', + process: 'readonly', + Capacitor: 'readonly', + chrome: 'readonly' + }, + + // add your custom rules here + rules: { + + // allow async-await + 'generator-star-spacing': 'off', + // allow paren-less arrow functions + 'arrow-parens': 'off', + 'one-var': 'off', + 'no-void': 'off', + 'multiline-ternary': 'off', + + 'import/first': 'off', + 'import/namespace': 'error', + 'import/default': 'error', + 'import/export': 'error', + 'import/extensions': 'off', + 'import/no-unresolved': 'off', + 'import/no-extraneous-dependencies': 'off', + + // The core 'import/named' rules + // does not work with type definitions + 'import/named': 'off', + + 'prefer-promise-reject-errors': 'off', + + quotes: ['warn', 'single', { avoidEscape: true }], + + // this rule, if on, would require explicit return type on the `render` function + '@typescript-eslint/explicit-function-return-type': 'off', + + // in plain CommonJS modules, you can't use `import foo = require('foo')` to pass this rule, so it has to be disabled + '@typescript-eslint/no-var-requires': 'off', + + // The core 'no-unused-vars' rules (in the eslint:recommended ruleset) + // does not work with type definitions + 'no-unused-vars': 'off', + + // allow debugger during development only + 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off' + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..147199f --- /dev/null +++ b/.gitignore @@ -0,0 +1,37 @@ +.DS_Store +.thumbs.db +node_modules + +# Quasar core related directories +.quasar +/dist +/quasar.config.*.temporary.compiled* + +# Cordova related directories and files +/src-cordova/node_modules +/src-cordova/platforms +/src-cordova/plugins +/src-cordova/www + +# Capacitor related directories and files +/src-capacitor/www +/src-capacitor/node_modules + +# BEX related directories and files +/src-bex/www +/src-bex/js/core + +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Editor directories and files +.idea +*.suo +*.ntvs* +*.njsproj +*.sln + +# local .env files +.env.local* diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..8866e84 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,16 @@ +FROM node:latest + +ENV VITE_BASE_URL="http://localhost:4056" +ENV VITE_PAY_URL="http://localhost:4052" +ENV VITE_AUTO_URL="http://localhost:4053" +RUN mkdir -p /app + +WORKDIR /app + +COPY package*.json ./ + +ENV PATH /app/node_modules/.bin:$PATH + +RUN npm install + +COPY . /app diff --git a/quasar.config.ts b/quasar.config.ts index a4ecce4..bdab04a 100644 --- a/quasar.config.ts +++ b/quasar.config.ts @@ -8,14 +8,13 @@ import { configure } from 'quasar/wrappers' export default configure((/* ctx */) => { return { - eslint: { // fix: true, // include: [], // exclude: [], // cache: false, // rawOptions: {}, - warnings: true, + warnings: false, errors: false }, diff --git a/src/assets/user_placeholder.png b/src/assets/user_placeholder.png new file mode 100644 index 0000000..e7bdbef Binary files /dev/null and b/src/assets/user_placeholder.png differ diff --git a/src/layouts/AuthLayout.vue b/src/layouts/AuthLayout.vue index 3520f92..44a6de1 100644 --- a/src/layouts/AuthLayout.vue +++ b/src/layouts/AuthLayout.vue @@ -2,8 +2,6 @@ - - Auburn Oil @@ -11,8 +9,6 @@ - - @@ -20,19 +16,16 @@ @@ -205,6 +198,4 @@ export default defineComponent({ .nodec { text-decoration: none; } - - diff --git a/src/pages/IndexPage.vue b/src/pages/IndexPage.vue index 27ca742..0cca6a8 100644 --- a/src/pages/IndexPage.vue +++ b/src/pages/IndexPage.vue @@ -23,13 +23,13 @@ - - diff --git a/src/pages/TomorrowDelivery.vue b/src/pages/TomorrowDelivery.vue index 186cb1e..cf03ae5 100644 --- a/src/pages/TomorrowDelivery.vue +++ b/src/pages/TomorrowDelivery.vue @@ -1,18 +1,98 @@ + + diff --git a/src/pages/WaitingDelivery.vue b/src/pages/WaitingDelivery.vue new file mode 100644 index 0000000..60c67cf --- /dev/null +++ b/src/pages/WaitingDelivery.vue @@ -0,0 +1,98 @@ + + + + + diff --git a/src/pages/auth/Login.vue b/src/pages/auth/Login.vue index 76cb5cd..a6626e6 100644 --- a/src/pages/auth/Login.vue +++ b/src/pages/auth/Login.vue @@ -2,28 +2,27 @@
-
Auburn Oil
+
+ Auburn Oil +
+
- - + - - - - - - + + + -

Not reigistered? Created an Account

+

-
+
@@ -32,18 +31,18 @@ + diff --git a/src/router/routes.ts b/src/router/routes.ts index 6524d06..6eafe46 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -8,8 +8,10 @@ const routes: RouteRecordRaw[] = [ { path: '', name: 'home', component: () => import('pages/IndexPage.vue') }, { path: '/today', name: 'today', component: () => import('pages/TodayDelivery.vue') }, { path: '/tomorrow', name: 'tomorrow', component: () => import('pages/TomorrowDelivery.vue') }, + { path: '/waiting', name: 'waiting', component: () => import('pages/WaitingDelivery.vue') }, { path: '/automatic', name: 'automatic', component: () => import('pages/Automatics.vue') }, { path: '/stats', name: 'stats', component: () => import('pages/DriverStats.vue') }, + { path: '/delivery/:id', name: 'viewdelivery', component: () => import('pages/delivery/ViewDelivery.vue') } ] },