1
0
mirror of https://github.com/ZeroCatDev/Classworks.git synced 2025-07-07 04:29:24 +00:00

Enhance settings page with responsive navigation drawer. Implement drawer state management based on device type, ensuring a better user experience on mobile devices. Update related methods and properties for improved functionality.

This commit is contained in:
SunWuyuan 2025-07-05 09:00:38 +08:00
parent ac0c491765
commit 965f36cbf5
No known key found for this signature in database
GPG Key ID: A6A54CF66F56BB64

View File

@ -2,17 +2,27 @@
<div class="settings-page"> <div class="settings-page">
<v-app-bar elevation="1"> <v-app-bar elevation="1">
<template #prepend> <template #prepend>
<v-btn <v-btn
icon="mdi-arrow-left" icon="mdi-arrow-left"
variant="text" variant="text"
@click="$router.push('/')" @click="$router.push('/')"
/> <v-btn
icon="mdi-menu"
variant="text"
@click="drawer = !drawer"
class="d-md-none"
/> />
</template> </template>
<v-app-bar-title class="text-h6">设置</v-app-bar-title> <v-app-bar-title class="text-h6">设置</v-app-bar-title>
</v-app-bar> </v-app-bar>
<v-container fluid> <v-container fluid>
<v-navigation-drawer> <v-navigation-drawer
v-model="drawer"
:permanent="!isMobile"
:temporary="isMobile"
>
<v-list> <v-list>
<v-list-item <v-list-item
v-for="tab in settingsTabs" v-for="tab in settingsTabs"
@ -391,6 +401,7 @@ export default {
value: "about", value: "about",
}, },
], ],
drawer: false,
}; };
}, },
@ -401,6 +412,12 @@ export default {
}, },
deep: true, deep: true,
}, },
isMobile: {
handler(newValue) {
this.drawer = !newValue;
},
immediate: true
},
studentData: { studentData: {
handler(newData) { handler(newData) {
// //
@ -420,6 +437,8 @@ export default {
this.unwatchSettings = watchSettings(() => { this.unwatchSettings = watchSettings(() => {
this.loadAllSettings(); this.loadAllSettings();
}); });
//
this.drawer = !this.isMobile;
}, },
beforeUnmount() { beforeUnmount() {