diff --git a/src/static/client/index.html b/src/static/client/index.html
index b19040a..bc95402 100644
--- a/src/static/client/index.html
+++ b/src/static/client/index.html
@@ -2,7 +2,7 @@
-
+
Vite App
diff --git a/src/static/client/package-lock.json b/src/static/client/package-lock.json
index 36aa772..989d409 100644
--- a/src/static/client/package-lock.json
+++ b/src/static/client/package-lock.json
@@ -8,9 +8,11 @@
"name": "client",
"version": "0.0.0",
"dependencies": {
- "pinia": "^3.0.1",
+ "bootstrap": "^5.3.6",
+ "bootstrap-icons": "^1.13.1",
+ "pinia": "^3.0.2",
"vue": "^3.5.13",
- "vue-router": "^4.5.0"
+ "vue-router": "^4.5.1"
},
"devDependencies": {
"@vitejs/plugin-vue": "^5.2.3",
@@ -68,9 +70,9 @@
}
},
"node_modules/@babel/core": {
- "version": "7.27.3",
- "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.27.3.tgz",
- "integrity": "sha512-hyrN8ivxfvJ4i0fIJuV4EOlV0WDMz5Ui4StRTgVaAvWeiRCilXgwVvxJKtFQ3TKtHgJscB2YiXKGNJuVwhQMtA==",
+ "version": "7.27.4",
+ "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.27.4.tgz",
+ "integrity": "sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -79,10 +81,10 @@
"@babel/generator": "^7.27.3",
"@babel/helper-compilation-targets": "^7.27.2",
"@babel/helper-module-transforms": "^7.27.3",
- "@babel/helpers": "^7.27.3",
- "@babel/parser": "^7.27.3",
+ "@babel/helpers": "^7.27.4",
+ "@babel/parser": "^7.27.4",
"@babel/template": "^7.27.2",
- "@babel/traverse": "^7.27.3",
+ "@babel/traverse": "^7.27.4",
"@babel/types": "^7.27.3",
"convert-source-map": "^2.0.0",
"debug": "^4.1.0",
@@ -297,9 +299,9 @@
}
},
"node_modules/@babel/helpers": {
- "version": "7.27.3",
- "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.27.3.tgz",
- "integrity": "sha512-h/eKy9agOya1IGuLaZ9tEUgz+uIRXcbtOhRtUyyMf8JFmn1iT13vnl/IGVWSkdOCG/pC57U4S1jnAabAavTMwg==",
+ "version": "7.27.4",
+ "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.27.4.tgz",
+ "integrity": "sha512-Y+bO6U+I7ZKaM5G5rDUZiYfUvQPUibYmAFe7EnKdnKBbVXDZxvp+MWOH5gYciY0EPk4EScsuFMQBbEfpdRKSCQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -311,9 +313,9 @@
}
},
"node_modules/@babel/parser": {
- "version": "7.27.3",
- "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.27.3.tgz",
- "integrity": "sha512-xyYxRj6+tLNDTWi0KCBcZ9V7yg3/lwL9DWh9Uwh/RIVlIfFidggcgxKX3GCXwCiswwcGRawBKbEg2LG/Y8eJhw==",
+ "version": "7.27.4",
+ "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.27.4.tgz",
+ "integrity": "sha512-BRmLHGwpUqLFR2jzx9orBuX/ABDkj2jLKOXrHDTN2aOKL+jFDDKaRNo9nyYsIl9h/UE/7lMKdDjKQQyxKKDZ7g==",
"license": "MIT",
"dependencies": {
"@babel/types": "^7.27.3"
@@ -456,15 +458,15 @@
}
},
"node_modules/@babel/traverse": {
- "version": "7.27.3",
- "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.27.3.tgz",
- "integrity": "sha512-lId/IfN/Ye1CIu8xG7oKBHXd2iNb2aW1ilPszzGcJug6M8RCKfVNcYhpI5+bMvFYjK7lXIM0R+a+6r8xhHp2FQ==",
+ "version": "7.27.4",
+ "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.27.4.tgz",
+ "integrity": "sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/code-frame": "^7.27.1",
"@babel/generator": "^7.27.3",
- "@babel/parser": "^7.27.3",
+ "@babel/parser": "^7.27.4",
"@babel/template": "^7.27.2",
"@babel/types": "^7.27.3",
"debug": "^4.3.1",
@@ -971,6 +973,17 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/@popperjs/core": {
+ "version": "2.11.8",
+ "resolved": "https://registry.npmmirror.com/@popperjs/core/-/core-2.11.8.tgz",
+ "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==",
+ "license": "MIT",
+ "peer": true,
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/popperjs"
+ }
+ },
"node_modules/@rollup/pluginutils": {
"version": "5.1.4",
"resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-5.1.4.tgz",
@@ -1369,39 +1382,39 @@
}
},
"node_modules/@vue/compiler-core": {
- "version": "3.5.15",
- "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.5.15.tgz",
- "integrity": "sha512-nGRc6YJg/kxNqbv/7Tg4juirPnjHvuVdhcmDvQWVZXlLHjouq7VsKmV1hIxM/8yKM0VUfwT/Uzc0lO510ltZqw==",
+ "version": "3.5.16",
+ "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.5.16.tgz",
+ "integrity": "sha512-AOQS2eaQOaaZQoL1u+2rCJIKDruNXVBZSiUD3chnUrsoX5ZTQMaCvXlWNIfxBJuU15r1o7+mpo5223KVtIhAgQ==",
"license": "MIT",
"dependencies": {
"@babel/parser": "^7.27.2",
- "@vue/shared": "3.5.15",
+ "@vue/shared": "3.5.16",
"entities": "^4.5.0",
"estree-walker": "^2.0.2",
"source-map-js": "^1.2.1"
}
},
"node_modules/@vue/compiler-dom": {
- "version": "3.5.15",
- "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.5.15.tgz",
- "integrity": "sha512-ZelQd9n+O/UCBdL00rlwCrsArSak+YLZpBVuNDio1hN3+wrCshYZEDUO3khSLAzPbF1oQS2duEoMDUHScUlYjA==",
+ "version": "3.5.16",
+ "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.5.16.tgz",
+ "integrity": "sha512-SSJIhBr/teipXiXjmWOVWLnxjNGo65Oj/8wTEQz0nqwQeP75jWZ0n4sF24Zxoht1cuJoWopwj0J0exYwCJ0dCQ==",
"license": "MIT",
"dependencies": {
- "@vue/compiler-core": "3.5.15",
- "@vue/shared": "3.5.15"
+ "@vue/compiler-core": "3.5.16",
+ "@vue/shared": "3.5.16"
}
},
"node_modules/@vue/compiler-sfc": {
- "version": "3.5.15",
- "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.5.15.tgz",
- "integrity": "sha512-3zndKbxMsOU6afQWer75Zot/aydjtxNj0T2KLg033rAFaQUn2PGuE32ZRe4iMhflbTcAxL0yEYsRWFxtPro8RQ==",
+ "version": "3.5.16",
+ "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.5.16.tgz",
+ "integrity": "sha512-rQR6VSFNpiinDy/DVUE0vHoIDUF++6p910cgcZoaAUm3POxgNOOdS/xgoll3rNdKYTYPnnbARDCZOyZ+QSe6Pw==",
"license": "MIT",
"dependencies": {
"@babel/parser": "^7.27.2",
- "@vue/compiler-core": "3.5.15",
- "@vue/compiler-dom": "3.5.15",
- "@vue/compiler-ssr": "3.5.15",
- "@vue/shared": "3.5.15",
+ "@vue/compiler-core": "3.5.16",
+ "@vue/compiler-dom": "3.5.16",
+ "@vue/compiler-ssr": "3.5.16",
+ "@vue/shared": "3.5.16",
"estree-walker": "^2.0.2",
"magic-string": "^0.30.17",
"postcss": "^8.5.3",
@@ -1409,13 +1422,13 @@
}
},
"node_modules/@vue/compiler-ssr": {
- "version": "3.5.15",
- "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.5.15.tgz",
- "integrity": "sha512-gShn8zRREZbrXqTtmLSCffgZXDWv8nHc/GhsW+mbwBfNZL5pI96e7IWcIq8XGQe1TLtVbu7EV9gFIVSmfyarPg==",
+ "version": "3.5.16",
+ "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.5.16.tgz",
+ "integrity": "sha512-d2V7kfxbdsjrDSGlJE7my1ZzCXViEcqN6w14DOsDrUCHEA6vbnVCpRFfrc4ryCP/lCKzX2eS1YtnLE/BuC9f/A==",
"license": "MIT",
"dependencies": {
- "@vue/compiler-dom": "3.5.15",
- "@vue/shared": "3.5.15"
+ "@vue/compiler-dom": "3.5.16",
+ "@vue/shared": "3.5.16"
}
},
"node_modules/@vue/devtools-api": {
@@ -1489,53 +1502,53 @@
}
},
"node_modules/@vue/reactivity": {
- "version": "3.5.15",
- "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.5.15.tgz",
- "integrity": "sha512-GaA5VUm30YWobCwpvcs9nvFKf27EdSLKDo2jA0IXzGS344oNpFNbEQ9z+Pp5ESDaxyS8FcH0vFN/XSe95BZtHQ==",
+ "version": "3.5.16",
+ "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.5.16.tgz",
+ "integrity": "sha512-FG5Q5ee/kxhIm1p2bykPpPwqiUBV3kFySsHEQha5BJvjXdZTUfmya7wP7zC39dFuZAcf/PD5S4Lni55vGLMhvA==",
"license": "MIT",
"dependencies": {
- "@vue/shared": "3.5.15"
+ "@vue/shared": "3.5.16"
}
},
"node_modules/@vue/runtime-core": {
- "version": "3.5.15",
- "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.5.15.tgz",
- "integrity": "sha512-CZAlIOQ93nj0OPpWWOx4+QDLCMzBNY85IQR4Voe6vIID149yF8g9WQaWnw042f/6JfvLttK7dnyWlC1EVCRK8Q==",
+ "version": "3.5.16",
+ "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.5.16.tgz",
+ "integrity": "sha512-bw5Ykq6+JFHYxrQa7Tjr+VSzw7Dj4ldR/udyBZbq73fCdJmyy5MPIFR9IX/M5Qs+TtTjuyUTCnmK3lWWwpAcFQ==",
"license": "MIT",
"dependencies": {
- "@vue/reactivity": "3.5.15",
- "@vue/shared": "3.5.15"
+ "@vue/reactivity": "3.5.16",
+ "@vue/shared": "3.5.16"
}
},
"node_modules/@vue/runtime-dom": {
- "version": "3.5.15",
- "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.5.15.tgz",
- "integrity": "sha512-wFplHKzKO/v998up2iCW3RN9TNUeDMhdBcNYZgs5LOokHntrB48dyuZHspcahKZczKKh3v6i164gapMPxBTKNw==",
+ "version": "3.5.16",
+ "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.5.16.tgz",
+ "integrity": "sha512-T1qqYJsG2xMGhImRUV9y/RseB9d0eCYZQ4CWca9ztCuiPj/XWNNN+lkNBuzVbia5z4/cgxdL28NoQCvC0Xcfww==",
"license": "MIT",
"dependencies": {
- "@vue/reactivity": "3.5.15",
- "@vue/runtime-core": "3.5.15",
- "@vue/shared": "3.5.15",
+ "@vue/reactivity": "3.5.16",
+ "@vue/runtime-core": "3.5.16",
+ "@vue/shared": "3.5.16",
"csstype": "^3.1.3"
}
},
"node_modules/@vue/server-renderer": {
- "version": "3.5.15",
- "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.5.15.tgz",
- "integrity": "sha512-Gehc693kVTYkLt6QSYEjGvqvdK2zZ/gf/D5zkgmvBdeB30dNnVZS8yY7+IlBmHRd1rR/zwaqeu06Ij04ZxBscg==",
+ "version": "3.5.16",
+ "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.5.16.tgz",
+ "integrity": "sha512-BrX0qLiv/WugguGsnQUJiYOE0Fe5mZTwi6b7X/ybGB0vfrPH9z0gD/Y6WOR1sGCgX4gc25L1RYS5eYQKDMoNIg==",
"license": "MIT",
"dependencies": {
- "@vue/compiler-ssr": "3.5.15",
- "@vue/shared": "3.5.15"
+ "@vue/compiler-ssr": "3.5.16",
+ "@vue/shared": "3.5.16"
},
"peerDependencies": {
- "vue": "3.5.15"
+ "vue": "3.5.16"
}
},
"node_modules/@vue/shared": {
- "version": "3.5.15",
- "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.15.tgz",
- "integrity": "sha512-bKvgFJJL1ZX9KxMCTQY6xD9Dhe3nusd1OhyOb1cJYGqvAr0Vg8FIjHPMOEVbJ9GDT9HG+Bjdn4oS8ohKP8EvoA==",
+ "version": "3.5.16",
+ "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.16.tgz",
+ "integrity": "sha512-c/0fWy3Jw6Z8L9FmTyYfkpM5zklnqqa9+a6dz3DvONRKW2NEbh46BP0FHuLFSWi2TnQEtp91Z6zOWNrU6QiyPg==",
"license": "MIT"
},
"node_modules/birpc": {
@@ -1547,10 +1560,45 @@
"url": "https://github.com/sponsors/antfu"
}
},
+ "node_modules/bootstrap": {
+ "version": "5.3.6",
+ "resolved": "https://registry.npmmirror.com/bootstrap/-/bootstrap-5.3.6.tgz",
+ "integrity": "sha512-jX0GAcRzvdwISuvArXn3m7KZscWWFAf1MKBcnzaN02qWMb3jpMoUX4/qgeiGzqyIb4ojulRzs89UCUmGcFSzTA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/twbs"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/bootstrap"
+ }
+ ],
+ "license": "MIT",
+ "peerDependencies": {
+ "@popperjs/core": "^2.11.8"
+ }
+ },
+ "node_modules/bootstrap-icons": {
+ "version": "1.13.1",
+ "resolved": "https://registry.npmmirror.com/bootstrap-icons/-/bootstrap-icons-1.13.1.tgz",
+ "integrity": "sha512-ijombt4v6bv5CLeXvRWKy7CuM3TRTuPEuGaGKvTV5cz65rQSY8RQ2JcHt6b90cBBAC7s8fsf2EkQDldzCoXUjw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/twbs"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/bootstrap"
+ }
+ ],
+ "license": "MIT"
+ },
"node_modules/browserslist": {
- "version": "4.24.5",
- "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.24.5.tgz",
- "integrity": "sha512-FDToo4Wo82hIdgc1CQ+NQD0hEhmpPjrZ3hiUgwgOG6IuTdlpr8jdjyG24P6cNP1yJpTLzS5OcGgSw0xmDU1/Tw==",
+ "version": "4.25.0",
+ "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.25.0.tgz",
+ "integrity": "sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA==",
"dev": true,
"funding": [
{
@@ -1568,8 +1616,8 @@
],
"license": "MIT",
"dependencies": {
- "caniuse-lite": "^1.0.30001716",
- "electron-to-chromium": "^1.5.149",
+ "caniuse-lite": "^1.0.30001718",
+ "electron-to-chromium": "^1.5.160",
"node-releases": "^2.0.19",
"update-browserslist-db": "^1.1.3"
},
@@ -1597,9 +1645,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001718",
- "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001718.tgz",
- "integrity": "sha512-AflseV1ahcSunK53NfEs9gFWgOEmzr0f+kaMFA4xiLZlr9Hzt7HxcSpIFcnNCUkz6R6dWKa54rUz3HUmI3nVcw==",
+ "version": "1.0.30001720",
+ "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001720.tgz",
+ "integrity": "sha512-Ec/2yV2nNPwb4DnTANEV99ZWwm3ZWfdlfkQbWSDDt+PsXEVYwlhPH8tdMaPunYTKKmz7AnHi2oNEi1GcmKCD8g==",
"dev": true,
"funding": [
{
@@ -1722,9 +1770,9 @@
}
},
"node_modules/electron-to-chromium": {
- "version": "1.5.158",
- "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.158.tgz",
- "integrity": "sha512-9vcp2xHhkvraY6AHw2WMi+GDSLPX42qe2xjYaVoZqFRJiOcilVQFq9mZmpuHEQpzlgGDelKlV7ZiGcmMsc8WxQ==",
+ "version": "1.5.161",
+ "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.161.tgz",
+ "integrity": "sha512-hwtetwfKNZo/UlwHIVBlKZVdy7o8bIZxxKs0Mv/ROPiQQQmDgdm5a+KvKtBsxM8ZjFzTaCeLoodZ8jiBE3o9rA==",
"dev": true,
"license": "ISC"
},
@@ -1835,9 +1883,9 @@
}
},
"node_modules/fdir": {
- "version": "6.4.4",
- "resolved": "https://registry.npmmirror.com/fdir/-/fdir-6.4.4.tgz",
- "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==",
+ "version": "6.4.5",
+ "resolved": "https://registry.npmmirror.com/fdir/-/fdir-6.4.5.tgz",
+ "integrity": "sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw==",
"dev": true,
"license": "MIT",
"peerDependencies": {
@@ -2310,9 +2358,9 @@
}
},
"node_modules/postcss": {
- "version": "8.5.3",
- "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.5.3.tgz",
- "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==",
+ "version": "8.5.4",
+ "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.5.4.tgz",
+ "integrity": "sha512-QSa9EBe+uwlGTFmHsPKokv3B/oEMQZxfqW0QqNCyhpa6mB1afzulwn8hihglqAb2pOw+BJgNlmXQ8la2VeHB7w==",
"funding": [
{
"type": "opencollective",
@@ -2329,7 +2377,7 @@
],
"license": "MIT",
"dependencies": {
- "nanoid": "^3.3.8",
+ "nanoid": "^3.3.11",
"picocolors": "^1.1.1",
"source-map-js": "^1.2.1"
},
@@ -2761,16 +2809,16 @@
}
},
"node_modules/vue": {
- "version": "3.5.15",
- "resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.15.tgz",
- "integrity": "sha512-aD9zK4rB43JAMK/5BmS4LdPiEp8Fdh8P1Ve/XNuMF5YRf78fCyPE6FUbQwcaWQ5oZ1R2CD9NKE0FFOVpMR7gEQ==",
+ "version": "3.5.16",
+ "resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.16.tgz",
+ "integrity": "sha512-rjOV2ecxMd5SiAmof2xzh2WxntRcigkX/He4YFJ6WdRvVUrbt6DxC1Iujh10XLl8xCDRDtGKMeO3D+pRQ1PP9w==",
"license": "MIT",
"dependencies": {
- "@vue/compiler-dom": "3.5.15",
- "@vue/compiler-sfc": "3.5.15",
- "@vue/runtime-dom": "3.5.15",
- "@vue/server-renderer": "3.5.15",
- "@vue/shared": "3.5.15"
+ "@vue/compiler-dom": "3.5.16",
+ "@vue/compiler-sfc": "3.5.16",
+ "@vue/runtime-dom": "3.5.16",
+ "@vue/server-renderer": "3.5.16",
+ "@vue/shared": "3.5.16"
},
"peerDependencies": {
"typescript": "*"
diff --git a/src/static/client/package.json b/src/static/client/package.json
index cf337ee..630499d 100644
--- a/src/static/client/package.json
+++ b/src/static/client/package.json
@@ -9,9 +9,11 @@
"preview": "vite preview"
},
"dependencies": {
- "pinia": "^3.0.1",
+ "bootstrap": "^5.3.6",
+ "bootstrap-icons": "^1.13.1",
+ "pinia": "^3.0.2",
"vue": "^3.5.13",
- "vue-router": "^4.5.0"
+ "vue-router": "^4.5.1"
},
"devDependencies": {
"@vitejs/plugin-vue": "^5.2.3",
diff --git a/src/static/client/public/favicon.ico b/src/static/client/public/favicon.ico
deleted file mode 100644
index df36fcf..0000000
Binary files a/src/static/client/public/favicon.ico and /dev/null differ
diff --git a/src/static/client/public/img/Logo-1-128x128.png b/src/static/client/public/img/Logo-1-128x128.png
new file mode 100644
index 0000000..b128f59
Binary files /dev/null and b/src/static/client/public/img/Logo-1-128x128.png differ
diff --git a/src/static/client/public/img/Logo-1-256x256.png b/src/static/client/public/img/Logo-1-256x256.png
new file mode 100644
index 0000000..df1da30
Binary files /dev/null and b/src/static/client/public/img/Logo-1-256x256.png differ
diff --git a/src/static/client/public/img/Logo-1-384x384.png b/src/static/client/public/img/Logo-1-384x384.png
new file mode 100644
index 0000000..498cb3f
Binary files /dev/null and b/src/static/client/public/img/Logo-1-384x384.png differ
diff --git a/src/static/client/public/img/Logo-1-512x512.png b/src/static/client/public/img/Logo-1-512x512.png
new file mode 100644
index 0000000..33b27ce
Binary files /dev/null and b/src/static/client/public/img/Logo-1-512x512.png differ
diff --git a/src/static/client/public/img/Logo-1-Maskable-512x512.png b/src/static/client/public/img/Logo-1-Maskable-512x512.png
new file mode 100644
index 0000000..c2add0f
Binary files /dev/null and b/src/static/client/public/img/Logo-1-Maskable-512x512.png differ
diff --git a/src/static/client/public/img/Logo-1-Rounded-128x128.png b/src/static/client/public/img/Logo-1-Rounded-128x128.png
new file mode 100644
index 0000000..90e5bf0
Binary files /dev/null and b/src/static/client/public/img/Logo-1-Rounded-128x128.png differ
diff --git a/src/static/client/public/img/Logo-1-Rounded-256x256.png b/src/static/client/public/img/Logo-1-Rounded-256x256.png
new file mode 100644
index 0000000..6bf016b
Binary files /dev/null and b/src/static/client/public/img/Logo-1-Rounded-256x256.png differ
diff --git a/src/static/client/public/img/Logo-1-Rounded-384x384.png b/src/static/client/public/img/Logo-1-Rounded-384x384.png
new file mode 100644
index 0000000..dae6f60
Binary files /dev/null and b/src/static/client/public/img/Logo-1-Rounded-384x384.png differ
diff --git a/src/static/client/public/img/Logo-1-Rounded-512x512.png b/src/static/client/public/img/Logo-1-Rounded-512x512.png
new file mode 100644
index 0000000..d7edf8e
Binary files /dev/null and b/src/static/client/public/img/Logo-1-Rounded-512x512.png differ
diff --git a/src/static/client/public/img/Logo-2-128x128.png b/src/static/client/public/img/Logo-2-128x128.png
new file mode 100644
index 0000000..24594c4
Binary files /dev/null and b/src/static/client/public/img/Logo-2-128x128.png differ
diff --git a/src/static/client/public/img/Logo-2-256x256.png b/src/static/client/public/img/Logo-2-256x256.png
new file mode 100644
index 0000000..5ccabf8
Binary files /dev/null and b/src/static/client/public/img/Logo-2-256x256.png differ
diff --git a/src/static/client/public/img/Logo-2-384x384.png b/src/static/client/public/img/Logo-2-384x384.png
new file mode 100644
index 0000000..15df097
Binary files /dev/null and b/src/static/client/public/img/Logo-2-384x384.png differ
diff --git a/src/static/client/public/img/Logo-2-512x512.png b/src/static/client/public/img/Logo-2-512x512.png
new file mode 100644
index 0000000..e5a8418
Binary files /dev/null and b/src/static/client/public/img/Logo-2-512x512.png differ
diff --git a/src/static/client/public/img/Logo-2-Rounded-128x128.png b/src/static/client/public/img/Logo-2-Rounded-128x128.png
new file mode 100644
index 0000000..962251a
Binary files /dev/null and b/src/static/client/public/img/Logo-2-Rounded-128x128.png differ
diff --git a/src/static/client/public/img/Logo-2-Rounded-256x256.png b/src/static/client/public/img/Logo-2-Rounded-256x256.png
new file mode 100644
index 0000000..927e5bb
Binary files /dev/null and b/src/static/client/public/img/Logo-2-Rounded-256x256.png differ
diff --git a/src/static/client/public/img/Logo-2-Rounded-384x384.png b/src/static/client/public/img/Logo-2-Rounded-384x384.png
new file mode 100644
index 0000000..a455115
Binary files /dev/null and b/src/static/client/public/img/Logo-2-Rounded-384x384.png differ
diff --git a/src/static/client/public/img/Logo-2-Rounded-512x512.png b/src/static/client/public/img/Logo-2-Rounded-512x512.png
new file mode 100644
index 0000000..f1e703d
Binary files /dev/null and b/src/static/client/public/img/Logo-2-Rounded-512x512.png differ
diff --git a/src/static/client/src/App.vue b/src/static/client/src/App.vue
index e864195..9633cd9 100644
--- a/src/static/client/src/App.vue
+++ b/src/static/client/src/App.vue
@@ -1,85 +1,11 @@
-
-
-
-
-
-
-
- Home
- About
-
-
-
-
-
+
diff --git a/src/static/client/src/assets/base.css b/src/static/client/src/assets/base.css
deleted file mode 100644
index 8816868..0000000
--- a/src/static/client/src/assets/base.css
+++ /dev/null
@@ -1,86 +0,0 @@
-/* color palette from */
-:root {
- --vt-c-white: #ffffff;
- --vt-c-white-soft: #f8f8f8;
- --vt-c-white-mute: #f2f2f2;
-
- --vt-c-black: #181818;
- --vt-c-black-soft: #222222;
- --vt-c-black-mute: #282828;
-
- --vt-c-indigo: #2c3e50;
-
- --vt-c-divider-light-1: rgba(60, 60, 60, 0.29);
- --vt-c-divider-light-2: rgba(60, 60, 60, 0.12);
- --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65);
- --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48);
-
- --vt-c-text-light-1: var(--vt-c-indigo);
- --vt-c-text-light-2: rgba(60, 60, 60, 0.66);
- --vt-c-text-dark-1: var(--vt-c-white);
- --vt-c-text-dark-2: rgba(235, 235, 235, 0.64);
-}
-
-/* semantic color variables for this project */
-:root {
- --color-background: var(--vt-c-white);
- --color-background-soft: var(--vt-c-white-soft);
- --color-background-mute: var(--vt-c-white-mute);
-
- --color-border: var(--vt-c-divider-light-2);
- --color-border-hover: var(--vt-c-divider-light-1);
-
- --color-heading: var(--vt-c-text-light-1);
- --color-text: var(--vt-c-text-light-1);
-
- --section-gap: 160px;
-}
-
-@media (prefers-color-scheme: dark) {
- :root {
- --color-background: var(--vt-c-black);
- --color-background-soft: var(--vt-c-black-soft);
- --color-background-mute: var(--vt-c-black-mute);
-
- --color-border: var(--vt-c-divider-dark-2);
- --color-border-hover: var(--vt-c-divider-dark-1);
-
- --color-heading: var(--vt-c-text-dark-1);
- --color-text: var(--vt-c-text-dark-2);
- }
-}
-
-*,
-*::before,
-*::after {
- box-sizing: border-box;
- margin: 0;
- font-weight: normal;
-}
-
-body {
- min-height: 100vh;
- color: var(--color-text);
- background: var(--color-background);
- transition:
- color 0.5s,
- background-color 0.5s;
- line-height: 1.6;
- font-family:
- Inter,
- -apple-system,
- BlinkMacSystemFont,
- 'Segoe UI',
- Roboto,
- Oxygen,
- Ubuntu,
- Cantarell,
- 'Fira Sans',
- 'Droid Sans',
- 'Helvetica Neue',
- sans-serif;
- font-size: 15px;
- text-rendering: optimizeLegibility;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
-}
diff --git a/src/static/client/src/assets/logo.svg b/src/static/client/src/assets/logo.svg
deleted file mode 100644
index 7565660..0000000
--- a/src/static/client/src/assets/logo.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/src/static/client/src/assets/main.css b/src/static/client/src/assets/main.css
index 36fb845..e69de29 100644
--- a/src/static/client/src/assets/main.css
+++ b/src/static/client/src/assets/main.css
@@ -1,35 +0,0 @@
-@import './base.css';
-
-#app {
- max-width: 1280px;
- margin: 0 auto;
- padding: 2rem;
- font-weight: normal;
-}
-
-a,
-.green {
- text-decoration: none;
- color: hsla(160, 100%, 37%, 1);
- transition: 0.4s;
- padding: 3px;
-}
-
-@media (hover: hover) {
- a:hover {
- background-color: hsla(160, 100%, 37%, 0.2);
- }
-}
-
-@media (min-width: 1024px) {
- body {
- display: flex;
- place-items: center;
- }
-
- #app {
- display: grid;
- grid-template-columns: 1fr 1fr;
- padding: 0 2rem;
- }
-}
diff --git a/src/static/client/src/components/HelloWorld.vue b/src/static/client/src/components/HelloWorld.vue
deleted file mode 100644
index eff59f1..0000000
--- a/src/static/client/src/components/HelloWorld.vue
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
-
-
{{ msg }}
-
- You’ve successfully created a project with
- Vite +
- Vue 3 .
-
-
-
-
-
diff --git a/src/static/client/src/components/TheWelcome.vue b/src/static/client/src/components/TheWelcome.vue
deleted file mode 100644
index fe48afc..0000000
--- a/src/static/client/src/components/TheWelcome.vue
+++ /dev/null
@@ -1,94 +0,0 @@
-
-
-
-
-
-
-
- Documentation
-
- Vue’s
- official documentation
- provides you with all information you need to get started.
-
-
-
-
-
-
- Tooling
-
- This project is served and bundled with
- Vite . The
- recommended IDE setup is
- VSCode
- +
- Vue - Official . If
- you need to test your components and web pages, check out
- Vitest
- and
- Cypress
- /
- Playwright .
-
-
-
- More instructions are available in
- README.md
.
-
-
-
-
-
-
- Ecosystem
-
- Get official tools and libraries for your project:
- Pinia ,
- Vue Router ,
- Vue Test Utils , and
- Vue Dev Tools . If
- you need more resources, we suggest paying
- Awesome Vue
- a visit.
-
-
-
-
-
-
- Community
-
- Got stuck? Ask your question on
- Vue Land
- (our official Discord server), or
- StackOverflow . You should also follow the official
- @vuejs.org
- Bluesky account or the
- @vuejs
- X account for latest news in the Vue world.
-
-
-
-
-
-
- Support Vue
-
- As an independent project, Vue relies on community backing for its sustainability. You can help
- us by
- becoming a sponsor .
-
-
diff --git a/src/static/client/src/components/WelcomeItem.vue b/src/static/client/src/components/WelcomeItem.vue
deleted file mode 100644
index ac366d0..0000000
--- a/src/static/client/src/components/WelcomeItem.vue
+++ /dev/null
@@ -1,86 +0,0 @@
-
-
-
-
-
diff --git a/src/static/client/src/components/icons/IconCommunity.vue b/src/static/client/src/components/icons/IconCommunity.vue
deleted file mode 100644
index 2dc8b05..0000000
--- a/src/static/client/src/components/icons/IconCommunity.vue
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
diff --git a/src/static/client/src/components/icons/IconDocumentation.vue b/src/static/client/src/components/icons/IconDocumentation.vue
deleted file mode 100644
index 6d4791c..0000000
--- a/src/static/client/src/components/icons/IconDocumentation.vue
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
diff --git a/src/static/client/src/components/icons/IconEcosystem.vue b/src/static/client/src/components/icons/IconEcosystem.vue
deleted file mode 100644
index c3a4f07..0000000
--- a/src/static/client/src/components/icons/IconEcosystem.vue
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
diff --git a/src/static/client/src/components/icons/IconSupport.vue b/src/static/client/src/components/icons/IconSupport.vue
deleted file mode 100644
index 7452834..0000000
--- a/src/static/client/src/components/icons/IconSupport.vue
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
diff --git a/src/static/client/src/components/icons/IconTooling.vue b/src/static/client/src/components/icons/IconTooling.vue
deleted file mode 100644
index 660598d..0000000
--- a/src/static/client/src/components/icons/IconTooling.vue
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
diff --git a/src/static/client/src/main.js b/src/static/client/src/main.js
index 5dcad83..aa08492 100644
--- a/src/static/client/src/main.js
+++ b/src/static/client/src/main.js
@@ -1,14 +1,12 @@
import './assets/main.css'
import { createApp } from 'vue'
-import { createPinia } from 'pinia'
-
import App from './App.vue'
-import router from './router'
+import router from "@/router/router.js";
+import {createPinia} from "pinia";
-const app = createApp(App)
-app.use(createPinia())
-app.use(router)
-
-app.mount('#app')
+createApp(App)
+ .use(createPinia())
+ .use(router)
+ .mount('#app')
diff --git a/src/static/client/src/router/index.js b/src/static/client/src/router/index.js
deleted file mode 100644
index d352385..0000000
--- a/src/static/client/src/router/index.js
+++ /dev/null
@@ -1,19 +0,0 @@
-import {createRouter, createWebHashHistory} from 'vue-router'
-import HomeView from '../views/HomeView.vue'
-
-const router = createRouter({
- history: createWebHashHistory(),
- routes: [
- {
- path: '/',
- name: 'Home',
- component: HomeView,
- }
- ],
-})
-
-router.beforeEach((to, from, next) => {
- document.title = to.name + ' | WGDashboard Client'
-})
-
-export default router
diff --git a/src/static/client/src/router/router.js b/src/static/client/src/router/router.js
new file mode 100644
index 0000000..101709d
--- /dev/null
+++ b/src/static/client/src/router/router.js
@@ -0,0 +1,19 @@
+import {createWebHashHistory, createRouter} from "vue-router";
+import Index from "@/views/index.vue";
+
+const router = createRouter({
+ history: createWebHashHistory(),
+ routes: [
+ {
+ path: '/',
+ component: Index,
+ name: "Home"
+ }
+ ]
+})
+
+router.afterEach((to, from, next) => {
+ document.title = to.name + ' | WGDashboard Client'
+})
+
+export default router
\ No newline at end of file
diff --git a/src/static/client/src/stores/counter.js b/src/static/client/src/stores/counter.js
deleted file mode 100644
index b6757ba..0000000
--- a/src/static/client/src/stores/counter.js
+++ /dev/null
@@ -1,12 +0,0 @@
-import { ref, computed } from 'vue'
-import { defineStore } from 'pinia'
-
-export const useCounterStore = defineStore('counter', () => {
- const count = ref(0)
- const doubleCount = computed(() => count.value * 2)
- function increment() {
- count.value++
- }
-
- return { count, doubleCount, increment }
-})
diff --git a/src/static/client/src/views/AboutView.vue b/src/static/client/src/views/AboutView.vue
deleted file mode 100644
index 756ad2a..0000000
--- a/src/static/client/src/views/AboutView.vue
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
This is an about page
-
-
-
-
diff --git a/src/static/client/src/views/HomeView.vue b/src/static/client/src/views/HomeView.vue
deleted file mode 100644
index 6bb706f..0000000
--- a/src/static/client/src/views/HomeView.vue
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/static/client/src/views/index.vue b/src/static/client/src/views/index.vue
new file mode 100644
index 0000000..332d4d6
--- /dev/null
+++ b/src/static/client/src/views/index.vue
@@ -0,0 +1,13 @@
+
+
+
+
+ Index PAge
+
+
+
+
\ No newline at end of file
diff --git a/src/static/client/vite.config.js b/src/static/client/vite.config.js
index 517c140..79d08ce 100644
--- a/src/static/client/vite.config.js
+++ b/src/static/client/vite.config.js
@@ -6,21 +6,14 @@ import vueDevTools from 'vite-plugin-vue-devtools'
// https://vite.dev/config/
export default defineConfig({
- base: "/static/client/dist",
plugins: [
vue(),
vueDevTools(),
- {
- name: 'rename',
- enforce: 'post',
- generateBundle(options, bundle) {
- bundle['index.html'].fileName = bundle['index.html'].fileName.replace('index.html', 'client.html')
- }
- }
],
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url))
},
- }
+ },
+ base: '/static/client/dist'
})