Files
ezbookkeeping/src/views/desktop/user/UserSettingsPage.vue
T
2023-07-01 23:10:49 +08:00

82 lines
2.7 KiB
Vue

<template>
<div>
<v-tabs show-arrows class="text-uppercase" v-model="activeTab">
<v-tab value="basicSetting">
<v-icon size="20" start :icon="icons.basicSetting"/>
{{ $t('Basic') }}
</v-tab>
<v-tab value="securitySetting">
<v-icon size="20" start :icon="icons.securitySetting"/>
{{ $t('Security') }}
</v-tab>
<v-tab value="twoFactorSetting">
<v-icon size="20" start :icon="icons.twoFactorSetting"/>
{{ $t('Two-Factor Authentication') }}
</v-tab>
<v-tab value="dataManagementSetting">
<v-icon size="20" start :icon="icons.dataManagementSetting"/>
{{ $t('Data Management') }}
</v-tab>
</v-tabs>
<v-divider />
<v-window class="mt-5 disable-tab-transition" v-model="activeTab">
<v-window-item value="basicSetting">
<user-basic-setting-tab/>
</v-window-item>
<v-window-item value="securitySetting">
<user-security-setting-tab/>
</v-window-item>
<v-window-item value="twoFactorSetting">
<user-two-factor-auth-setting-tab ref="twoFactorSettingTab"/>
</v-window-item>
<v-window-item value="dataManagementSetting">
<user-data-management-setting-tab/>
</v-window-item>
</v-window>
</div>
</template>
<script>
import UserBasicSettingTab from './settings/UserBasicSettingTab.vue';
import UserSecuritySettingTab from './settings/UserSecuritySettingTab.vue';
import UserTwoFactorAuthSettingTab from './settings/UserTwoFactorAuthSettingTab.vue';
import UserDataManagementSettingTab from './settings/UserDataManagementSettingTab.vue';
import {
mdiAccountOutline,
mdiLockOpenOutline,
mdiOnepassword,
mdiDatabaseCogOutline
} from '@mdi/js';
export default {
components: {
UserBasicSettingTab,
UserSecuritySettingTab,
UserTwoFactorAuthSettingTab,
UserDataManagementSettingTab
},
data() {
return {
activeTab: 'basicSetting',
icons: {
basicSetting: mdiAccountOutline,
securitySetting: mdiLockOpenOutline,
twoFactorSetting: mdiOnepassword,
dataManagementSetting: mdiDatabaseCogOutline
}
};
},
watch: {
'activeTab': function (newValue, oldValue) {
if (oldValue === 'twoFactorSetting' && newValue !== 'twoFactorSetting') {
this.$refs.twoFactorSettingTab.reset();
}
}
}
}
</script>