Files
new-api/web/default/src/components/layout/config/system-settings.config.ts
CaIon 0f9f094a48 feat(default): reorganize system settings pricing UI
Refine the default system settings structure and model pricing editor so pricing configuration is easier to scan and edit.
2026-05-06 16:29:45 +08:00

71 lines
2.1 KiB
TypeScript
Vendored

import { type TFunction } from 'i18next'
import {
Box,
CreditCard,
Layout,
Settings,
Shield,
ShieldAlert,
Wrench,
} from 'lucide-react'
import { getAuthSectionNavItems } from '@/features/system-settings/auth/section-registry.tsx'
import { getBillingSectionNavItems } from '@/features/system-settings/billing/section-registry.tsx'
import { getContentSectionNavItems } from '@/features/system-settings/content/section-registry.tsx'
import { getModelsSectionNavItems } from '@/features/system-settings/models/section-registry.tsx'
import { getOperationsSectionNavItems } from '@/features/system-settings/operations/section-registry.tsx'
import { getSecuritySectionNavItems } from '@/features/system-settings/security/section-registry.tsx'
import { getSiteSectionNavItems } from '@/features/system-settings/site/section-registry.tsx'
import { type NavGroup } from '../types'
/**
* System settings sidebar configuration
* Displayed when switching to "System Settings" workspace
*/
export const WORKSPACE_SYSTEM_SETTINGS_ID = 'system-settings'
export function getSystemSettingsNavGroups(t: TFunction): NavGroup[] {
return [
{
id: 'system-administration',
title: t('System Administration'),
items: [
{
title: t('Site & Branding'),
icon: Settings,
items: getSiteSectionNavItems(t),
},
{
title: t('Authentication'),
icon: Shield,
items: getAuthSectionNavItems(t),
},
{
title: t('Billing & Payment'),
icon: CreditCard,
items: getBillingSectionNavItems(t),
},
{
title: t('Models & Routing'),
icon: Box,
items: getModelsSectionNavItems(t),
},
{
title: t('Security & Limits'),
icon: ShieldAlert,
items: getSecuritySectionNavItems(t),
},
{
title: t('Console Content'),
icon: Layout,
items: getContentSectionNavItems(t),
},
{
title: t('Operations'),
icon: Wrench,
items: getOperationsSectionNavItems(t),
},
],
},
]
}