Skip to content

Commit 3235989

Browse files
authored
feat!: upgrade to vuetify 4 (#9)
1 parent 786b1e9 commit 3235989

8 files changed

Lines changed: 686 additions & 734 deletions

File tree

package.json

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"private": true,
33
"type": "module",
4-
"packageManager": "pnpm@10.29.3",
4+
"packageManager": "pnpm@10.30.3",
55
"scripts": {
66
"dev": "vite --open --host",
77
"build": "vite build",
@@ -16,25 +16,25 @@
1616
"@vueuse/core": "^14.2.1",
1717
"echarts": "^6.0.0",
1818
"pinia": "^3.0.4",
19-
"vue": "^3.5.28",
19+
"vue": "^3.5.29",
2020
"vue-echarts": "^8.0.1",
21-
"vue-router": "^5.0.2",
22-
"vuetify": "^3.11.8"
21+
"vue-router": "^5.0.3",
22+
"vuetify": "^4.0.1"
2323
},
2424
"devDependencies": {
2525
"@mdi/js": "^7.4.47",
26-
"@nuxt/eslint-config": "^1.15.1",
26+
"@nuxt/eslint-config": "^1.15.2",
2727
"@pinia/testing": "^1.0.3",
2828
"@playwright/test": "^1.58.2",
2929
"@testing-library/vue": "^8.1.0",
3030
"@tsconfig/node24": "^24.0.4",
31-
"@types/jsdom": "^27.0.0",
32-
"@types/node": "^24.10.13",
31+
"@types/jsdom": "^28.0.0",
32+
"@types/node": "^24.12.0",
3333
"@vitejs/plugin-vue": "^6.0.4",
3434
"@vue/test-utils": "^2.4.6",
35-
"@vue/tsconfig": "^0.8.1",
36-
"eslint": "^10.0.0",
37-
"eslint-plugin-playwright": "^2.5.1",
35+
"@vue/tsconfig": "^0.9.0",
36+
"eslint": "^10.0.3",
37+
"eslint-plugin-playwright": "^2.9.0",
3838
"jsdom": "^28.1.0",
3939
"prettier": "^3.8.1",
4040
"rollup-plugin-regexp": "^5.0.1",
@@ -45,7 +45,7 @@
4545
"vite-plugin-vue-meta-layouts": "^0.6.1",
4646
"vite-plugin-vuetify": "^2.1.3",
4747
"vitest": "^4.0.18",
48-
"vue-tsc": "^3.2.4"
48+
"vue-tsc": "^3.2.5"
4949
},
5050
"onlyBuiltDependencies": [
5151
"esbuild",

pnpm-lock.yaml

Lines changed: 655 additions & 697 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/components/StatsCard.vue

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -34,19 +34,18 @@ withDefaults(
3434
:class="`text-${color}`"
3535
v-text="title"
3636
/>
37-
<h3
37+
<span
3838
class="font-weight-regular d-inline-block ml-2"
39-
style="font-size: 18px"
4039
>
4140
{{ value != null ? formatter(value) : '' }}
4241
<small v-if="unit">{{ unit }}</small>
43-
</h3>
42+
</span>
4443
<v-divider />
4544
</div>
4645
<div class="v-alert__border" :class="`text-${color}`" />
4746
<div
4847
v-if="$slots.footer"
49-
class="text-grey text-right stats-footer text-caption"
48+
class="text-grey text-right stats-footer text-body-small"
5049
>
5150
<slot name="footer" />
5251
</div>
@@ -64,19 +63,15 @@ withDefaults(
6463
backdrop-filter: blur(3px);
6564
}
6665
}
67-
.caption {
68-
font-size: 12px;
69-
letter-spacing: 0;
70-
}
7166
.stats-icon {
7267
position: absolute;
7368
opacity: 0.3;
7469
}
7570
.stats-footer {
7671
:deep(span) {
7772
display: inline-block;
78-
font-size: 12px !important;
79-
letter-spacing: 0 !important;
73+
font-size: 12px;
74+
letter-spacing: 0;
8075
}
8176
}
8277
}

src/components/layout/AppBar.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,6 @@ const toggleDark = useToggle<true, false | null>(isDark)
5656
opacity: 0.5;
5757
}
5858
:deep(.v-switch__thumb .v-icon) {
59-
--v-icon-size-multiplier: 1.2 !important;
59+
--v-icon-size-multiplier: 1.2;
6060
}
6161
</style>

src/components/layout/AppDrawer.vue

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ drawerStored.value = lgAndUp.value && width.value !== 1280
4040
/>
4141
</template>
4242
<v-list-item-title
43-
class="text-h5 font-weight-bold"
43+
class="text-display-small font-weight-bold"
4444
style="line-height: 2rem; text-overflow: clip"
4545
>
4646
Vitify <span class="text-primary">Admin</span>
@@ -58,8 +58,8 @@ drawerStored.value = lgAndUp.value && width.value !== 1280
5858
<v-spacer />
5959
<template #append>
6060
<v-list-item class="drawer-footer px-0 d-flex flex-column justify-center">
61-
<div class="text-caption pt-6 pb-1 pt-md-0 text-center text-no-wrap">
62-
&copy; Copyright 2023
61+
<div class="text-body-small pt-6 pb-1 pt-md-0 text-center text-no-wrap">
62+
&copy; Copyright 2026
6363
<a
6464
href="https://github.com/kingyue737"
6565
class="font-weight-bold text-primary"
@@ -83,7 +83,7 @@ drawerStored.value = lgAndUp.value && width.value !== 1280
8383
.v-navigation-drawer {
8484
transition-property:
8585
box-shadow, transform, visibility, width, height, left, right, top, bottom,
86-
border-radius !important;
86+
border-radius;
8787
overflow: hidden;
8888
&.v-navigation-drawer--rail {
8989
border-top-right-radius: 0px;
@@ -100,11 +100,11 @@ drawerStored.value = lgAndUp.value && width.value !== 1280
100100
transform: translateX(-160px);
101101
}
102102
.drawer-header-icon {
103-
height: 1em !important;
104-
width: 1em !important;
103+
height: 1em;
104+
width: 1em;
105105
}
106106
.v-list-group__items .v-list-item {
107-
padding-inline-start: 8px !important;
107+
padding-inline-start: 8px;
108108
}
109109
}
110110
}
@@ -119,9 +119,9 @@ drawerStored.value = lgAndUp.value && width.value !== 1280
119119
min-height: 30px;
120120
}
121121
.drawer-header-icon {
122-
opacity: 1 !important;
123-
height: 1.2em !important;
124-
width: 1.2em !important;
122+
opacity: 1;
123+
height: 1.2em;
124+
width: 1.2em;
125125
transition: all 0.2s;
126126
margin-right: -4px;
127127
}

src/components/layout/AppFooter.vue

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,10 @@
1111
</template>
1212
<style>
1313
.v-footer {
14-
padding: 0px 10px !important;
14+
padding: 0px 10px;
1515
> .v-btn--icon {
1616
.v-icon {
17-
height: 1.25em;
18-
width: 1.25em;
17+
--v-icon-size-multiplier: 0.875;
1918
}
2019
}
2120
}

src/components/layout/AppNotification.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ function toggleAll() {
4242
>
4343
<v-toolbar flat density="compact">
4444
<v-toolbar-title
45-
class="font-weight-light text-body-1"
45+
class="font-weight-light text-body-large"
4646
:text="notifications.length ? 'Notification' : 'No New Notifications'"
4747
/>
4848
<v-tooltip location="top" text="Clear All Notifications">

src/components/layout/ButtonSettings.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ const theme = useTheme()
66
const { store } = useColorMode()
77
const color = computed({
88
get() {
9-
return theme.themes.value.light!.colors.primary
9+
return theme.themes.value.light!.colors.primary as string
1010
},
1111
set(val: string) {
1212
localStorage.setItem('theme-primary', val)

0 commit comments

Comments
 (0)