From 1729a61dc5e4317cec5f90dbecca0b0aeda9bcbe Mon Sep 17 00:00:00 2001 From: Will Freeman Date: Thu, 5 Dec 2024 15:01:21 -0700 Subject: [PATCH] dedicated homepage, updated qr page, added counter, clickable logo --- webapp/package-lock.json | 11 ++ webapp/package.json | 1 + webapp/src/App.vue | 10 +- webapp/src/assets/main.css | 1 + webapp/src/components/ALPRCounter.vue | 89 ++++++---- webapp/src/router/index.ts | 19 ++- webapp/src/views/Landing.vue | 185 +++++++++++++++++++++ webapp/src/views/{HomeView.vue => Map.vue} | 7 +- webapp/src/views/QRLandingView.vue | 24 ++- 9 files changed, 301 insertions(+), 46 deletions(-) create mode 100644 webapp/src/views/Landing.vue rename webapp/src/views/{HomeView.vue => Map.vue} (98%) diff --git a/webapp/package-lock.json b/webapp/package-lock.json index 183f590..1b9e9de 100644 --- a/webapp/package-lock.json +++ b/webapp/package-lock.json @@ -9,6 +9,7 @@ "version": "0.0.0", "dependencies": { "axios": "^1.7.7", + "countup.js": "^2.8.0", "vue": "^3.4.29", "vue-router": "^4.3.3", "vuetify": "^3.7.2" @@ -929,6 +930,11 @@ "integrity": "sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==", "dev": true }, + "node_modules/countup.js": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/countup.js/-/countup.js-2.8.0.tgz", + "integrity": "sha512-f7xEhX0awl4NOElHulrl4XRfKoNH3rB+qfNSZZyjSZhaAoUk6elvhH+MNxMmlmuUJ2/QNTWPSA7U4mNtIAKljQ==" + }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -2092,6 +2098,11 @@ "integrity": "sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==", "dev": true }, + "countup.js": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/countup.js/-/countup.js-2.8.0.tgz", + "integrity": "sha512-f7xEhX0awl4NOElHulrl4XRfKoNH3rB+qfNSZZyjSZhaAoUk6elvhH+MNxMmlmuUJ2/QNTWPSA7U4mNtIAKljQ==" + }, "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", diff --git a/webapp/package.json b/webapp/package.json index 826d2ac..c48f62f 100644 --- a/webapp/package.json +++ b/webapp/package.json @@ -12,6 +12,7 @@ }, "dependencies": { "axios": "^1.7.7", + "countup.js": "^2.8.0", "vue": "^3.4.29", "vue-router": "^4.3.3", "vuetify": "^3.7.2" diff --git a/webapp/src/App.vue b/webapp/src/App.vue index 0fe6006..4b4a3df 100644 --- a/webapp/src/App.vue +++ b/webapp/src/App.vue @@ -1,9 +1,10 @@ + + diff --git a/webapp/src/router/index.ts b/webapp/src/router/index.ts index 2a94127..f9e345d 100644 --- a/webapp/src/router/index.ts +++ b/webapp/src/router/index.ts @@ -1,5 +1,6 @@ import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' +import Landing from '../views/Landing.vue' +import Map from '../views/Map.vue' const router = createRouter({ history: createWebHistory(import.meta.env.BASE_URL), @@ -16,7 +17,12 @@ const router = createRouter({ { path: '/', name: 'home', - component: HomeView + component: Landing + }, + { + path: '/map', + name: 'map', + component: Map }, { path: '/about', @@ -69,4 +75,13 @@ const router = createRouter({ ] }) +// backward compatibility with old url scheme +router.beforeEach((to, from, next) => { + if (to.path === '/' && to.hash) { + next({ path: '/map', hash: to.hash }) + } else { + next() + } +}) + export default router diff --git a/webapp/src/views/Landing.vue b/webapp/src/views/Landing.vue new file mode 100644 index 0000000..ca004fe --- /dev/null +++ b/webapp/src/views/Landing.vue @@ -0,0 +1,185 @@ + + + + + + diff --git a/webapp/src/views/HomeView.vue b/webapp/src/views/Map.vue similarity index 98% rename from webapp/src/views/HomeView.vue rename to webapp/src/views/Map.vue index 51c59bb..fb9bed7 100644 --- a/webapp/src/views/HomeView.vue +++ b/webapp/src/views/Map.vue @@ -1,6 +1,6 @@