From dc1ee95827070fb79d90f49a58d84adc50158e1a Mon Sep 17 00:00:00 2001 From: Edwin Eames Date: Thu, 4 Sep 2025 08:03:24 -0400 Subject: [PATCH] Working log in/route guard --- .dockerignore | 4 + Dockerfile.prod | 42 +- nginx/default.conf | 21 +- package-lock.json | 126 +++-- package.json | 22 +- src/App.vue | 30 +- src/components/SearchResults.vue | 129 +++-- src/layouts/headers/headerauth.vue | 74 +-- src/layouts/sidebar/sidebar.vue | 180 +----- src/pages/auth/login.vue | 118 ++-- src/pages/auth/routes.ts | 18 +- src/pages/card/addcard.vue | 14 +- src/pages/card/editcard.vue | 110 ++-- src/pages/customer/create.vue | 1 + src/pages/customer/edit.vue | 6 +- src/pages/customer/profile/profile.vue | 51 +- src/pages/customer/tank/edit.vue | 4 +- src/pages/delivery/create.vue | 520 +++++++++++------- src/pages/delivery/view.vue | 172 +++--- src/pages/delivery/viewstatus/cancelled.vue | 2 +- src/pages/delivery/viewstatus/delivered.vue | 2 +- src/pages/delivery/viewstatus/finalized.vue | 2 +- src/pages/delivery/viewstatus/issue.vue | 2 +- src/pages/delivery/viewstatus/pending.vue | 2 +- .../delivery/viewstatus/todaysdeliveries.vue | 2 +- src/pages/delivery/viewstatus/tommorrow.vue | 2 +- src/pages/delivery/viewstatus/waiting.vue | 2 +- src/pages/pay/pay_oil.vue | 396 +++++-------- src/pages/service/ServiceHome.vue | 7 +- src/pages/service/ServicePast.vue | 28 +- src/router/index.ts | 85 ++- src/services/auth.header.ts | 19 +- src/stores/auth.store.js | 38 -- src/stores/auth.ts | 88 +++ src/stores/counts.ts | 52 ++ src/stores/search.ts | 39 +- src/stores/users.store.js | 64 --- 37 files changed, 1283 insertions(+), 1191 deletions(-) create mode 100644 .dockerignore delete mode 100755 src/stores/auth.store.js create mode 100755 src/stores/auth.ts create mode 100644 src/stores/counts.ts delete mode 100755 src/stores/users.store.js diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..a8be82b --- /dev/null +++ b/.dockerignore @@ -0,0 +1,4 @@ +package-lock.json +node_modules +dist +.env \ No newline at end of file diff --git a/Dockerfile.prod b/Dockerfile.prod index 32ef3d5..91273bd 100644 --- a/Dockerfile.prod +++ b/Dockerfile.prod @@ -1,32 +1,36 @@ - - +# --- STAGE 1: Build the Vue application --- FROM node:20.11.1 AS builder - +# Set build-time environment variables for your API URLs ENV VITE_BASE_URL="https://apioil.edwineames.com" -ENV VITE_MONEY_URL="https://apimoney.edwineames.com" ENV VITE_AUTO_URL="https://apiauto.edwineames.com" - -ENV VITE_COMPANY_ID="1" -ENV NODE_ENV=production +ENV VITE_MONEY_URL="https://apimoney.edwineames.com" WORKDIR /app -COPY package*.json . -RUN npm ci + +COPY package.json ./ + +# --- THE FIX IS HERE --- +# 1. Install ALL dependencies (including devDependencies like vue-tsc) +RUN npm install + +# 2. Copy the rest of your source code COPY . . + +# 3. Now run the build, which will succeed because vue-tsc is installed RUN npm run build -RUN npm prune --production +# --- STAGE 2: Serve the built files with Nginx --- +FROM nginx:stable-alpine - - -FROM nginx:stable-alpine as production-stage -ENV NODE_ENV=production -# Copy the build application from the previous stage to the Nginx container +# Copy the static files from the 'builder' stage COPY --from=builder /app/dist /usr/share/nginx/html -# Copy the nginx configuration file -COPY ./nginx/default.conf /etc/nginx/conf.d/default.conf -# Expose the port 80 + +# Copy your custom Nginx configuration +COPY nginx/default.conf /etc/nginx/conf.d/default.conf + +# Tell the world that port 80 is now listening EXPOSE 80 -# Start Nginx to serve the application + +# Start Nginx when the container launches CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file diff --git a/nginx/default.conf b/nginx/default.conf index 5299bb9..cc51f86 100644 --- a/nginx/default.conf +++ b/nginx/default.conf @@ -1,9 +1,16 @@ +# This config is for the Nginx server INSIDE the frontend container + server { - listen 80; - server_name localhost; - root /usr/share/nginx/html; - index index.html index.htm; -location / { - try_files $uri $uri/ /index.html; - } + listen 80; + + # The location of the static files built by Vue + root /usr/share/nginx/html; + index index.html; + + # This is the magic for Single-Page Applications (SPAs) + # It makes sure that if you refresh the page on a route like /customers/123, + # Nginx serves index.html instead of looking for a file named '123'. + location / { + try_files $uri $uri/ /index.html; + } } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 8340d82..91e7caa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,18 +29,18 @@ "vuelidate": "^0.7.7" }, "devDependencies": { - "@types/leaflet": "^1.9.20", - "@vitejs/plugin-vue": "^4.5.2", + "@types/leaflet": "^1.9.12", + "@vitejs/plugin-vue": "^5.0.4", "@vue-leaflet/vue-leaflet": "^0.10.1", - "autoprefixer": "^10.4.16", - "daisyui": "^4.4.19", + "autoprefixer": "^10.4.19", + "daisyui": "^4.10.1", "leaflet": "^1.9.4", - "postcss": "^8.4.32", - "sass": "^1.72.0", - "tailwindcss": "^3.3.6", - "typescript": "^5.2.2", - "vite": "^5.0.8", - "vue-tsc": "^1.8.25" + "postcss": "^8.4.38", + "sass": "^1.75.0", + "tailwindcss": "^3.4.3", + "typescript": "5.4.5", + "vite": "^5.2.8", + "vue-tsc": "2.0.13" } }, "node_modules/@alloc/quick-lru": { @@ -525,6 +525,7 @@ "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -540,12 +541,14 @@ "node_modules/@isaacs/cliui/node_modules/emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true }, "node_modules/@isaacs/cliui/node_modules/string-width": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -562,6 +565,7 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, "dependencies": { "ansi-regex": "^6.0.1" }, @@ -1080,6 +1084,7 @@ "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, "optional": true, "engines": { "node": ">=14" @@ -1819,43 +1824,43 @@ "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==" }, "node_modules/@vitejs/plugin-vue": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.6.2.tgz", - "integrity": "sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.4.tgz", + "integrity": "sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==", "dev": true, "engines": { - "node": "^14.18.0 || >=16.0.0" + "node": "^18.0.0 || >=20.0.0" }, "peerDependencies": { - "vite": "^4.0.0 || ^5.0.0", + "vite": "^5.0.0 || ^6.0.0", "vue": "^3.2.25" } }, "node_modules/@volar/language-core": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.11.1.tgz", - "integrity": "sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==", + "version": "2.2.0-alpha.8", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.2.0-alpha.8.tgz", + "integrity": "sha512-Ew1Iw7/RIRNuDLn60fWJdOLApAlfTVPxbPiSLzc434PReC9kleYtaa//Wo2WlN1oiRqneW0pWQQV0CwYqaimLQ==", "dev": true, "dependencies": { - "@volar/source-map": "1.11.1" + "@volar/source-map": "2.2.0-alpha.8" } }, "node_modules/@volar/source-map": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.11.1.tgz", - "integrity": "sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==", + "version": "2.2.0-alpha.8", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.2.0-alpha.8.tgz", + "integrity": "sha512-E1ZVmXFJ5DU4fWDcWHzi8OLqqReqIDwhXvIMhVdk6+VipfMVv4SkryXu7/rs4GA/GsebcRyJdaSkKBB3OAkIcA==", "dev": true, "dependencies": { - "muggle-string": "^0.3.1" + "muggle-string": "^0.4.0" } }, "node_modules/@volar/typescript": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.11.1.tgz", - "integrity": "sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==", + "version": "2.2.0-alpha.8", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.2.0-alpha.8.tgz", + "integrity": "sha512-RLbRDI+17CiayHZs9HhSzlH0FhLl/+XK6o2qoiw2o2GGKcyD1aDoY6AcMd44acYncTOrqoTNoY6LuCiRyiJiGg==", "dev": true, "dependencies": { - "@volar/language-core": "1.11.1", + "@volar/language-core": "2.2.0-alpha.8", "path-browserify": "^1.0.1" } }, @@ -1929,18 +1934,16 @@ "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==" }, "node_modules/@vue/language-core": { - "version": "1.8.27", - "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-1.8.27.tgz", - "integrity": "sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==", + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-2.0.13.tgz", + "integrity": "sha512-oQgM+BM66SU5GKtUMLQSQN0bxHFkFpLSSAiY87wVziPaiNQZuKVDt/3yA7GB9PiQw0y/bTNL0bOc0jM/siYjKg==", "dev": true, "dependencies": { - "@volar/language-core": "~1.11.1", - "@volar/source-map": "~1.11.1", - "@vue/compiler-dom": "^3.3.0", - "@vue/shared": "^3.3.0", + "@volar/language-core": "2.2.0-alpha.8", + "@vue/compiler-dom": "^3.4.0", + "@vue/shared": "^3.4.0", "computeds": "^0.0.1", "minimatch": "^9.0.3", - "muggle-string": "^0.3.1", "path-browserify": "^1.0.1", "vue-template-compiler": "^2.7.14" }, @@ -2164,6 +2167,7 @@ "version": "6.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, "engines": { "node": ">=12" }, @@ -2270,7 +2274,8 @@ "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true }, "node_modules/base64-arraybuffer": { "version": "1.0.2", @@ -2314,6 +2319,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, "dependencies": { "balanced-match": "^1.0.0" } @@ -3025,7 +3031,8 @@ "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true }, "node_modules/electron-to-chromium": { "version": "1.5.211", @@ -3492,6 +3499,7 @@ "version": "3.3.1", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "dev": true, "dependencies": { "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" @@ -3507,6 +3515,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, "engines": { "node": ">=14" }, @@ -3668,6 +3677,7 @@ "version": "10.4.5", "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", @@ -4131,6 +4141,7 @@ "version": "3.4.3", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, "dependencies": { "@isaacs/cliui": "^8.0.2" }, @@ -4443,6 +4454,7 @@ "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, "dependencies": { "brace-expansion": "^2.0.1" }, @@ -4465,6 +4477,7 @@ "version": "7.1.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, "engines": { "node": ">=16 || 14 >=14.17" } @@ -4483,9 +4496,9 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "node_modules/muggle-string": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.3.1.tgz", - "integrity": "sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", "dev": true }, "node_modules/mz": { @@ -7205,7 +7218,8 @@ "node_modules/package-json-from-dist": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", - "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==" + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true }, "node_modules/pako": { "version": "0.2.9", @@ -7301,6 +7315,7 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" @@ -8369,6 +8384,7 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -8394,6 +8410,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -8405,6 +8422,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, "engines": { "node": ">=8" } @@ -8760,9 +8778,9 @@ } }, "node_modules/typescript": { - "version": "5.9.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz", - "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==", + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", "devOptional": true, "bin": { "tsc": "bin/tsc", @@ -9074,13 +9092,13 @@ } }, "node_modules/vue-tsc": { - "version": "1.8.27", - "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.8.27.tgz", - "integrity": "sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==", + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-2.0.13.tgz", + "integrity": "sha512-a3nL3FvguCWVJUQW/jFrUxdeUtiEkbZoQjidqvMeBK//tuE2w6NWQAbdrEpY2+6nSa4kZoKZp8TZUMtHpjt4mQ==", "dev": true, "dependencies": { - "@volar/typescript": "~1.11.1", - "@vue/language-core": "1.8.27", + "@volar/typescript": "2.2.0-alpha.8", + "@vue/language-core": "2.0.13", "semver": "^7.5.4" }, "bin": { @@ -9143,6 +9161,7 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -9160,6 +9179,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -9176,6 +9196,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -9189,12 +9210,14 @@ "node_modules/wrap-ansi/node_modules/emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true }, "node_modules/wrap-ansi/node_modules/string-width": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -9211,6 +9234,7 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, "dependencies": { "ansi-regex": "^6.0.1" }, diff --git a/package.json b/package.json index 0fabb19..1759452 100755 --- a/package.json +++ b/package.json @@ -29,18 +29,18 @@ "vue3-pdfmake": "^2.2.0", "vuelidate": "^0.7.7" }, - "devDependencies": { - "@types/leaflet": "^1.9.20", - "@vitejs/plugin-vue": "^4.5.2", +"devDependencies": { + "@types/leaflet": "^1.9.12", + "@vitejs/plugin-vue": "^5.0.4", "@vue-leaflet/vue-leaflet": "^0.10.1", - "autoprefixer": "^10.4.16", - "daisyui": "^4.4.19", + "autoprefixer": "^10.4.19", + "daisyui": "^4.10.1", "leaflet": "^1.9.4", - "postcss": "^8.4.32", - "sass": "^1.72.0", - "tailwindcss": "^3.3.6", - "typescript": "^5.2.2", - "vite": "^5.0.8", - "vue-tsc": "^1.8.25" + "postcss": "^8.4.38", + "sass": "^1.75.0", + "tailwindcss": "^3.4.3", + "typescript": "5.4.5", + "vite": "^5.2.8", + "vue-tsc": "2.0.13" } } diff --git a/src/App.vue b/src/App.vue index 46923ad..601963e 100755 --- a/src/App.vue +++ b/src/App.vue @@ -1,34 +1,27 @@ - \ No newline at end of file + diff --git a/src/layouts/sidebar/sidebar.vue b/src/layouts/sidebar/sidebar.vue index bca518f..a8a1806 100755 --- a/src/layouts/sidebar/sidebar.vue +++ b/src/layouts/sidebar/sidebar.vue @@ -1,24 +1,15 @@ - \ No newline at end of file diff --git a/src/pages/auth/login.vue b/src/pages/auth/login.vue index 628d25a..83a4db9 100755 --- a/src/pages/auth/login.vue +++ b/src/pages/auth/login.vue @@ -1,4 +1,5 @@ + - \ No newline at end of file diff --git a/src/pages/delivery/view.vue b/src/pages/delivery/view.vue index 4c3e906..47a2d08 100755 --- a/src/pages/delivery/view.vue +++ b/src/pages/delivery/view.vue @@ -23,7 +23,11 @@
{{ customer.customer_first_name }} {{ customer.customer_last_name }}
Account: {{ customer.account_number }}
- + + View Profile @@ -75,6 +79,7 @@ Partial Delivery Misdelivery Unknown + Pending Finalized @@ -144,28 +149,50 @@ - -
- -
- -
-
- Cash - Credit Card - Credit Card & Cash - Check - Other - Not Specified -
-
-
{{ userCard.type_of_card }}
-
{{ userCard.card_number }}
-
{{ userCard.name_on_card }}
-
Expires: {{ userCard.expiration_month }}/{{ userCard.expiration_year }}
-
-
-
+
+ +
+ +
+
+ Cash + Credit Card + Credit Card & Cash + Check + Other + Not Specified +
+ + +
+ +
+
+
{{ userCard.name_on_card }}
+
{{ userCard.type_of_card }}
+
+
Primary
+
+ +
+ +

**** **** **** {{ userCard.last_four_digits }}

+

+ Exp: + + 0{{ userCard.expiration_month }} / {{ userCard.expiration_year }} +

+
+
+
+
@@ -180,8 +207,11 @@
- -
+ +
@@ -196,7 +226,6 @@