diff --git a/frontend/src/components/layout/AppSidebar.vue b/frontend/src/components/layout/AppSidebar.vue index b8d89243..2e5babeb 100644 --- a/frontend/src/components/layout/AppSidebar.vue +++ b/frontend/src/components/layout/AppSidebar.vue @@ -357,51 +357,6 @@ const ServerIcon = { ) } -const DatabaseIcon = { - render: () => - h( - 'svg', - { fill: 'none', viewBox: '0 0 24 24', stroke: 'currentColor', 'stroke-width': '1.5' }, - [ - h('path', { - 'stroke-linecap': 'round', - 'stroke-linejoin': 'round', - d: 'M3.75 5.25C3.75 4.007 7.443 3 12 3s8.25 1.007 8.25 2.25S16.557 7.5 12 7.5 3.75 6.493 3.75 5.25z' - }), - h('path', { - 'stroke-linecap': 'round', - 'stroke-linejoin': 'round', - d: 'M3.75 5.25v4.5C3.75 10.993 7.443 12 12 12s8.25-1.007 8.25-2.25v-4.5' - }), - h('path', { - 'stroke-linecap': 'round', - 'stroke-linejoin': 'round', - d: 'M3.75 9.75v4.5c0 1.243 3.693 2.25 8.25 2.25s8.25-1.007 8.25-2.25v-4.5' - }), - h('path', { - 'stroke-linecap': 'round', - 'stroke-linejoin': 'round', - d: 'M3.75 14.25v4.5C3.75 19.993 7.443 21 12 21s8.25-1.007 8.25-2.25v-4.5' - }) - ] - ) -} - -const CloudArrowUpIcon = { - render: () => - h( - 'svg', - { fill: 'none', viewBox: '0 0 24 24', stroke: 'currentColor', 'stroke-width': '1.5' }, - [ - h('path', { - 'stroke-linecap': 'round', - 'stroke-linejoin': 'round', - d: 'M12 16.5V9.75m0 0l3 3m-3-3l-3 3M6.75 19.5a4.5 4.5 0 01-1.41-8.775 5.25 5.25 0 0110.233-2.33 3 3 0 013.758 3.848A3.752 3.752 0 0118 19.5H6.75z' - }) - ] - ) -} - const BellIcon = { render: () => h( @@ -626,8 +581,6 @@ const adminNavItems = computed((): NavItem[] => { if (authStore.isSimpleMode) { const filtered = baseItems.filter(item => !item.hideInSimpleMode) filtered.push({ path: '/keys', label: t('nav.apiKeys'), icon: KeyIcon }) - filtered.push({ path: '/admin/backup', label: t('nav.backup'), icon: CloudArrowUpIcon }) - filtered.push({ path: '/admin/data-management', label: t('nav.dataManagement'), icon: DatabaseIcon }) filtered.push({ path: '/admin/settings', label: t('nav.settings'), icon: CogIcon }) // Add admin custom menu items after settings for (const cm of customMenuItemsForAdmin.value) { @@ -636,8 +589,6 @@ const adminNavItems = computed((): NavItem[] => { return filtered } - baseItems.push({ path: '/admin/backup', label: t('nav.backup'), icon: CloudArrowUpIcon }) - baseItems.push({ path: '/admin/data-management', label: t('nav.dataManagement'), icon: DatabaseIcon }) baseItems.push({ path: '/admin/settings', label: t('nav.settings'), icon: CogIcon }) // Add admin custom menu items after settings for (const cm of customMenuItemsForAdmin.value) { diff --git a/frontend/src/i18n/locales/en.ts b/frontend/src/i18n/locales/en.ts index 35c3cbad..a5a21984 100644 --- a/frontend/src/i18n/locales/en.ts +++ b/frontend/src/i18n/locales/en.ts @@ -340,8 +340,6 @@ export default { redeemCodes: 'Redeem Codes', ops: 'Ops', promoCodes: 'Promo Codes', - backup: 'DB Backup', - dataManagement: 'Data Management', settings: 'Settings', myAccount: 'My Account', lightMode: 'Light Mode', @@ -3938,6 +3936,8 @@ export default { users: 'Users', gateway: 'Gateway', email: 'Email', + backup: 'Backup', + data: 'Sora Storage', }, emailTabDisabledTitle: 'Email Verification Not Enabled', emailTabDisabledHint: 'Enable email verification in the Security tab to configure SMTP settings.', diff --git a/frontend/src/i18n/locales/zh.ts b/frontend/src/i18n/locales/zh.ts index 4bc95594..fd2056f6 100644 --- a/frontend/src/i18n/locales/zh.ts +++ b/frontend/src/i18n/locales/zh.ts @@ -340,8 +340,6 @@ export default { redeemCodes: '兑换码', ops: '运维监控', promoCodes: '优惠码', - backup: '数据库备份', - dataManagement: '数据管理', settings: '系统设置', myAccount: '我的账户', lightMode: '浅色模式', @@ -4112,6 +4110,8 @@ export default { users: '用户默认值', gateway: '网关服务', email: '邮件设置', + backup: '数据备份', + data: 'Sora 存储', }, emailTabDisabledTitle: '邮箱验证未启用', emailTabDisabledHint: '请在「安全与认证」选项卡中启用邮箱验证后,再配置 SMTP 设置。', diff --git a/frontend/src/router/index.ts b/frontend/src/router/index.ts index 23d92cb5..0ffef1a3 100644 --- a/frontend/src/router/index.ts +++ b/frontend/src/router/index.ts @@ -350,30 +350,6 @@ const routes: RouteRecordRaw[] = [ descriptionKey: 'admin.promo.description' } }, - { - path: '/admin/backup', - name: 'AdminBackup', - component: () => import('@/views/admin/BackupView.vue'), - meta: { - requiresAuth: true, - requiresAdmin: true, - title: 'Database Backup', - titleKey: 'admin.backup.title', - descriptionKey: 'admin.backup.description' - } - }, - { - path: '/admin/data-management', - name: 'AdminDataManagement', - component: () => import('@/views/admin/DataManagementView.vue'), - meta: { - requiresAuth: true, - requiresAdmin: true, - title: 'Data Management', - titleKey: 'admin.dataManagement.title', - descriptionKey: 'admin.dataManagement.description' - } - }, { path: '/admin/settings', name: 'AdminSettings', diff --git a/frontend/src/views/admin/BackupView.vue b/frontend/src/views/admin/BackupView.vue index ae10f42c..93da19a9 100644 --- a/frontend/src/views/admin/BackupView.vue +++ b/frontend/src/views/admin/BackupView.vue @@ -1,5 +1,4 @@