From 9804cf3693d91d13f6ae704426db1d26de7cc7ac Mon Sep 17 00:00:00 2001 From: smugg99 Date: Wed, 30 Oct 2024 01:31:52 +0100 Subject: [PATCH] divisions page layout wip --- .../components.d.ts | 1 + .../package-lock.json | 79 ++++++++ .../package.json | 4 + .../src/App.vue | 5 - .../src/components/DivisionButton.vue | 97 +++++++-- .../src/components/LanguageSwitcher.vue | 2 +- .../src/components/Overlay.vue | 190 +++++++++--------- .../src/components/ThemeSwitcher.vue | 4 +- .../src/components/Weather.vue | 141 ++++++------- .../src/components/pages/Divisions.vue | 146 ++++++++------ .../src/components/pages/Home.vue | 18 +- .../src/components/pages/Settings.vue | 2 +- .../src/locales/en.js | 13 +- .../src/locales/pl.js | 11 +- .../src/main.ts | 20 ++ .../src/plugins/vuetify.ts | 36 ++-- .../src/router.ts | 13 +- .../src/vanta.d.ts | 5 + 18 files changed, 498 insertions(+), 289 deletions(-) create mode 100644 web/optivum-better-schedule-frontend/src/vanta.d.ts diff --git a/web/optivum-better-schedule-frontend/components.d.ts b/web/optivum-better-schedule-frontend/components.d.ts index 3b2f008..acf846b 100644 --- a/web/optivum-better-schedule-frontend/components.d.ts +++ b/web/optivum-better-schedule-frontend/components.d.ts @@ -16,6 +16,7 @@ declare module 'vue' { Divisions: typeof import('./src/components/pages/Divisions.vue')['default'] Dots: typeof import('./src/components/Dots.vue')['default'] Drawer: typeof import('./src/components/Drawer.vue')['default'] + Fog: typeof import('./src/components/Fog.vue')['default'] HelloWorld: typeof import('./src/components/HelloWorld.vue')['default'] Home: typeof import('./src/components/pages/Home.vue')['default'] HomePage: typeof import('./src/components/pages/HomePage.vue')['default'] diff --git a/web/optivum-better-schedule-frontend/package-lock.json b/web/optivum-better-schedule-frontend/package-lock.json index d859ef9..f666e37 100644 --- a/web/optivum-better-schedule-frontend/package-lock.json +++ b/web/optivum-better-schedule-frontend/package-lock.json @@ -13,6 +13,9 @@ "iso-639-1": "^3.1.3", "pinia": "^2.2.4", "roboto-fontface": "*", + "three": "^0.169.0", + "vanilla-tilt": "^1.8.1", + "vanta": "^0.5.24", "vue": "^3.4.31", "vue-i18n": "^9.14.1", "vue-material-design-icons": "^5.3.1", @@ -22,6 +25,7 @@ "devDependencies": { "@babel/types": "^7.24.7", "@types/node": "^20.14.10", + "@types/three": "^0.169.0", "@vitejs/plugin-vue": "^5.0.5", "sass": "1.77.6", "typescript": "^5.4.2", @@ -782,6 +786,13 @@ "win32" ] }, + "node_modules/@tweenjs/tween.js": { + "version": "23.1.3", + "resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-23.1.3.tgz", + "integrity": "sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/estree": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", @@ -799,6 +810,35 @@ "undici-types": "~6.19.2" } }, + "node_modules/@types/stats.js": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.3.tgz", + "integrity": "sha512-pXNfAD3KHOdif9EQXZ9deK82HVNaXP5ZIF5RP2QG6OQFNTaY2YIetfrE9t528vEreGQvEPRDDc8muaoYeK0SxQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/three": { + "version": "0.169.0", + "resolved": "https://registry.npmjs.org/@types/three/-/three-0.169.0.tgz", + "integrity": "sha512-oan7qCgJBt03wIaK+4xPWclYRPG9wzcg7Z2f5T8xYTNEF95kh0t0lklxLLYBDo7gQiGLYzE6iF4ta7nXF2bcsw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tweenjs/tween.js": "~23.1.3", + "@types/stats.js": "*", + "@types/webxr": "*", + "@webgpu/types": "*", + "fflate": "~0.8.2", + "meshoptimizer": "~0.18.1" + } + }, + "node_modules/@types/webxr": { + "version": "0.5.20", + "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.20.tgz", + "integrity": "sha512-JGpU6qiIJQKUuVSKx1GtQnHJGxRjtfGIhzO2ilq43VZZS//f1h1Sgexbdk+Lq+7569a6EYhOWrUpIruR/1Enmg==", + "dev": true, + "license": "MIT" + }, "node_modules/@vitejs/plugin-vue": { "version": "5.1.4", "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.1.4.tgz", @@ -998,6 +1038,13 @@ "vuetify": "^3.0.0" } }, + "node_modules/@webgpu/types": { + "version": "0.1.49", + "resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.49.tgz", + "integrity": "sha512-NMmS8/DofhH/IFeW+876XrHVWel+J/vdcFCHLDqeJgkH9x0DeiwjVd8LcBdaxdG/T7Rf8VUAYsA8X1efMzLjRQ==", + "dev": true, + "license": "BSD-3-Clause" + }, "node_modules/acorn": { "version": "8.12.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", @@ -1260,6 +1307,13 @@ "reusify": "^1.0.4" } }, + "node_modules/fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", + "dev": true, + "license": "MIT" + }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -1442,6 +1496,13 @@ "node": ">= 8" } }, + "node_modules/meshoptimizer": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.18.1.tgz", + "integrity": "sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==", + "dev": true, + "license": "MIT" + }, "node_modules/micromatch": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", @@ -1830,6 +1891,12 @@ "node": ">=0.10.0" } }, + "node_modules/three": { + "version": "0.169.0", + "resolved": "https://registry.npmjs.org/three/-/three-0.169.0.tgz", + "integrity": "sha512-Ed906MA3dR4TS5riErd4QBsRGPcx+HBDX2O5yYE5GqJeFQTPU+M56Va/f/Oph9X7uZo3W3o4l2ZhBZ6f6qUv0w==", + "license": "MIT" + }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -1971,6 +2038,18 @@ "yarn": "*" } }, + "node_modules/vanilla-tilt": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/vanilla-tilt/-/vanilla-tilt-1.8.1.tgz", + "integrity": "sha512-hPB1XUsnh+SIeVSW2beb5RnuFxz4ZNgxjGD78o52F49gS4xaoLeEMh9qrQnJrnEn/vjjBI7IlxrrXmz4tGV0Kw==", + "license": "MIT" + }, + "node_modules/vanta": { + "version": "0.5.24", + "resolved": "https://registry.npmjs.org/vanta/-/vanta-0.5.24.tgz", + "integrity": "sha512-fvieEbHy1ZS23zrcX+topzqAgA4Uct1enngOEWLFBgs9TtOf6RDFOYatH7KSVdrABzQDMCQ5myQy+nTSZZwLzg==", + "license": "MIT" + }, "node_modules/vite": { "version": "5.4.8", "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.8.tgz", diff --git a/web/optivum-better-schedule-frontend/package.json b/web/optivum-better-schedule-frontend/package.json index 8a95a2c..fdbaca0 100644 --- a/web/optivum-better-schedule-frontend/package.json +++ b/web/optivum-better-schedule-frontend/package.json @@ -12,6 +12,9 @@ "iso-639-1": "^3.1.3", "pinia": "^2.2.4", "roboto-fontface": "*", + "three": "^0.169.0", + "vanilla-tilt": "^1.8.1", + "vanta": "^0.5.24", "vue": "^3.4.31", "vue-i18n": "^9.14.1", "vue-material-design-icons": "^5.3.1", @@ -21,6 +24,7 @@ "devDependencies": { "@babel/types": "^7.24.7", "@types/node": "^20.14.10", + "@types/three": "^0.169.0", "@vitejs/plugin-vue": "^5.0.5", "sass": "1.77.6", "typescript": "^5.4.2", diff --git a/web/optivum-better-schedule-frontend/src/App.vue b/web/optivum-better-schedule-frontend/src/App.vue index 55525c7..65d6f77 100644 --- a/web/optivum-better-schedule-frontend/src/App.vue +++ b/web/optivum-better-schedule-frontend/src/App.vue @@ -5,10 +5,6 @@ - - \ No newline at end of file diff --git a/web/optivum-better-schedule-frontend/src/components/DivisionButton.vue b/web/optivum-better-schedule-frontend/src/components/DivisionButton.vue index e7cf295..4bf12cb 100644 --- a/web/optivum-better-schedule-frontend/src/components/DivisionButton.vue +++ b/web/optivum-better-schedule-frontend/src/components/DivisionButton.vue @@ -1,29 +1,90 @@ - - - \ No newline at end of file + diff --git a/web/optivum-better-schedule-frontend/src/components/LanguageSwitcher.vue b/web/optivum-better-schedule-frontend/src/components/LanguageSwitcher.vue index 36335d8..318f2b0 100644 --- a/web/optivum-better-schedule-frontend/src/components/LanguageSwitcher.vue +++ b/web/optivum-better-schedule-frontend/src/components/LanguageSwitcher.vue @@ -1,6 +1,6 @@