diff --git a/client/package-lock.json b/client/package-lock.json index 02401ce..ad7f395 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -11,9 +11,11 @@ "axios": "^1.7.7", "pinia": "^2.2.6", "vue": "^3.5.12", - "vue-router": "^4.4.5" + "vue-router": "^4.4.5", + "vuetify": "^3.7.4" }, "devDependencies": { + "@mdi/font": "^7.4.47", "@tsconfig/node22": "^22.0.0", "@types/node": "^22.9.0", "@vitejs/plugin-vue": "^5.1.4", @@ -1207,6 +1209,13 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@mdi/font": { + "version": "7.4.47", + "resolved": "https://registry.npmjs.org/@mdi/font/-/font-7.4.47.tgz", + "integrity": "sha512-43MtGpd585SNzHZPcYowu/84Vz2a2g31TvPMTm9uTiCSWzaheQySUcSyUH/46fPnuPQWof2yd0pGBtzee/IQWw==", + "dev": true, + "license": "Apache-2.0" + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -4915,6 +4924,36 @@ "typescript": ">=5.0.0" } }, + "node_modules/vuetify": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/vuetify/-/vuetify-3.7.4.tgz", + "integrity": "sha512-Y8UU5wUDQXC3oz2uumPb8IOdvB4XMCxtxnmqdOc+LihNuPlkSgxIwf92ndRzbOtJFKHsggFUxpyLqpQp+A+5kg==", + "license": "MIT", + "engines": { + "node": "^12.20 || >=14.13" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/johnleider" + }, + "peerDependencies": { + "typescript": ">=4.7", + "vite-plugin-vuetify": ">=1.0.0", + "vue": "^3.3.0", + "webpack-plugin-vuetify": ">=2.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + }, + "vite-plugin-vuetify": { + "optional": true + }, + "webpack-plugin-vuetify": { + "optional": true + } + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", diff --git a/client/package.json b/client/package.json index d2da4f7..2dc6860 100644 --- a/client/package.json +++ b/client/package.json @@ -18,9 +18,11 @@ "axios": "^1.7.7", "pinia": "^2.2.6", "vue": "^3.5.12", - "vue-router": "^4.4.5" + "vue-router": "^4.4.5", + "vuetify": "^3.7.4" }, "devDependencies": { + "@mdi/font": "^7.4.47", "@tsconfig/node22": "^22.0.0", "@types/node": "^22.9.0", "@vitejs/plugin-vue": "^5.1.4", diff --git a/client/src/main.ts b/client/src/main.ts index 5dcad83..e587587 100644 --- a/client/src/main.ts +++ b/client/src/main.ts @@ -1,14 +1,30 @@ import './assets/main.css' +import '@mdi/font/css/materialdesignicons.css' import { createApp } from 'vue' import { createPinia } from 'pinia' +// Vuetifyq +import 'vuetify/styles' +import { createVuetify } from 'vuetify' +import * as components from 'vuetify/components' +import * as directives from 'vuetify/directives' + import App from './App.vue' import router from './router' const app = createApp(App) +const vuetify = createVuetify({ + components, + directives, + theme: { + defaultTheme: 'light', + }, +}) + app.use(createPinia()) app.use(router) +app.use(vuetify) app.mount('#app') diff --git a/client/src/views/HomeView.vue b/client/src/views/HomeView.vue index e93d8d1..8ad23b5 100644 --- a/client/src/views/HomeView.vue +++ b/client/src/views/HomeView.vue @@ -22,10 +22,10 @@ const handlePing = async () => {