设置页面删除个人设置板块
This commit is contained in:
parent
05f5b5b7de
commit
e2a09d0dde
@ -2,39 +2,10 @@
|
||||
<div class="settings-page">
|
||||
<div class="page-header">
|
||||
<h1 class="page-title">{{ t('Settings') }}</h1>
|
||||
<p class="page-description">{{ t('System and personal settings') }}</p>
|
||||
<p class="page-description">{{ t('System settings') }}</p>
|
||||
</div>
|
||||
|
||||
<n-grid :cols="2" :x-gap="24" :y-gap="24" :responsive="'screen'" :item-responsive="true">
|
||||
<!-- 个人设置 -->
|
||||
<n-grid-item>
|
||||
<n-card :title="t('Personal Settings')">
|
||||
<n-form :model="userSettings" label-placement="left" label-width="100px">
|
||||
<n-form-item :label="t('Username')">
|
||||
<n-input v-model:value="userSettings.username" disabled />
|
||||
</n-form-item>
|
||||
<n-form-item :label="t('Email')">
|
||||
<n-input v-model:value="userSettings.email" :placeholder="t('Enter email')" />
|
||||
</n-form-item>
|
||||
<n-form-item :label="t('Avatar')">
|
||||
<n-upload
|
||||
:file-list="fileList"
|
||||
:max="1"
|
||||
list-type="image-card"
|
||||
@change="handleUploadChange"
|
||||
>
|
||||
{{ t('Click to upload') }}
|
||||
</n-upload>
|
||||
</n-form-item>
|
||||
<n-form-item>
|
||||
<n-button type="primary" @click="saveUserSettings">
|
||||
{{ t('Save settings') }}
|
||||
</n-button>
|
||||
</n-form-item>
|
||||
</n-form>
|
||||
</n-card>
|
||||
</n-grid-item>
|
||||
|
||||
<n-grid :cols="1" :x-gap="24" :y-gap="24">
|
||||
<!-- 系统设置 -->
|
||||
<n-grid-item>
|
||||
<n-card :title="t('System Settings')">
|
||||
@ -91,19 +62,11 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, onMounted } from 'vue'
|
||||
import { NGrid, NGridItem, NCard, NForm, NFormItem, NInput, NButton, NUpload, NInputNumber, NSelect, useMessage } from 'naive-ui'
|
||||
import { useAuthStore } from '../shared/stores/auth'
|
||||
import { reactive, onMounted } from 'vue'
|
||||
import { NGrid, NGridItem, NCard, NForm, NFormItem, NInput, NButton, NInputNumber, NSelect, useMessage } from 'naive-ui'
|
||||
import { getCurrentLocale, setLocale, locales, initLocale, t } from '../shared/i18n'
|
||||
|
||||
const message = useMessage()
|
||||
const authStore = useAuthStore()
|
||||
|
||||
const userSettings = reactive({
|
||||
username: '',
|
||||
email: '',
|
||||
avatar: ''
|
||||
})
|
||||
|
||||
const systemSettings = reactive({
|
||||
appName: localStorage.getItem('appName') || 'Jingrow',
|
||||
@ -116,8 +79,6 @@ const systemSettings = reactive({
|
||||
timezone: localStorage.getItem('timezone') || 'Asia/Shanghai'
|
||||
})
|
||||
|
||||
const fileList = ref([])
|
||||
|
||||
// 语言选项
|
||||
const languageOptions = locales.map(locale => ({
|
||||
label: `${locale.flag} ${locale.name}`,
|
||||
@ -150,19 +111,11 @@ const timezoneOptions = [
|
||||
{ label: 'Pacific/Auckland (新西兰时间)', value: 'Pacific/Auckland' }
|
||||
]
|
||||
|
||||
const handleUploadChange = (options: any) => {
|
||||
fileList.value = options.fileList
|
||||
}
|
||||
|
||||
const changeLanguage = (locale: string) => {
|
||||
setLocale(locale)
|
||||
message.success(t('Language updated'))
|
||||
}
|
||||
|
||||
const saveUserSettings = () => {
|
||||
message.success(t('User settings saved'))
|
||||
}
|
||||
|
||||
const saveSystemSettings = () => {
|
||||
// 保存应用名称
|
||||
localStorage.setItem('appName', systemSettings.appName)
|
||||
@ -181,11 +134,6 @@ const saveSystemSettings = () => {
|
||||
onMounted(() => {
|
||||
initLocale()
|
||||
systemSettings.language = getCurrentLocale()
|
||||
if (authStore.user) {
|
||||
userSettings.username = authStore.user.username
|
||||
userSettings.email = authStore.user.email
|
||||
userSettings.avatar = authStore.user.avatar || ''
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user