fix: simplify top-level settings

This commit is contained in:
Codex
2026-07-30 22:08:34 +08:00
parent af5abb4b82
commit 3a6652be0f
3 changed files with 31 additions and 83 deletions
+3 -29
View File
@@ -40,7 +40,6 @@ import {
type NotificationsDataSource,
} from './instances/notifications-module.js';
import { OtaModule, type OtaDataSource } from './instances/ota-module.js';
import { InstanceSettingsPage } from './settings/instance-settings-page.js';
import {
InstanceDetail,
INSTANCE_MODULE_LABELS,
@@ -69,7 +68,6 @@ export type RouteKind =
| 'job-detail'
| 'audit'
| 'audit-detail'
| 'settings-instances'
| 'settings-instance-detail'
| 'settings-system'
| 'not-found';
@@ -139,13 +137,14 @@ function decode(value: string): string {
export function resolveRoute(input: string): ResolvedRoute {
const pathname = normalize(input);
if (pathname === '/') return { kind: 'redirect', pathname, to: '/fleet' };
if (pathname === '/settings/instances')
return { kind: 'redirect', pathname, to: '/settings/system' };
const staticRoutes: Readonly<Record<string, RouteKind>> = {
'/fleet': 'fleet',
'/automation': 'automation',
'/instances/new': 'instance-new',
'/jobs': 'jobs',
'/audit': 'audit',
'/settings/instances': 'settings-instances',
'/settings/system': 'settings-system',
};
if (staticRoutes[pathname]) return { kind: staticRoutes[pathname], pathname };
@@ -270,14 +269,6 @@ function Page({
}
/>
);
if (route.kind === 'settings-instances')
return (
<InstanceSettingsPage
{...(fleetDataSource ? { dataSource: fleetDataSource } : {})}
{...(fleetData ? { initialData: fleetData } : {})}
refreshSignal={fleetRefreshSignal}
/>
);
if (route.kind === 'settings-system') return <ConsoleAuthSettings />;
if (route.kind === 'not-found')
return (
@@ -405,7 +396,6 @@ function Page({
'job-detail': '任务详情',
audit: '审计',
'audit-detail': '审计事件',
'settings-instances': '实例设置',
'settings-instance-detail': '实例设置',
'settings-system': '系统设置',
};
@@ -432,7 +422,7 @@ const GLOBAL_NAVIGATION: readonly {
}[] = [
{ section: 'fleet', href: '/fleet', label: '节点', icon: 'grid' },
{ section: 'automation', href: '/automation', label: '自动化', icon: 'jobs' },
{ section: 'settings', href: '/settings/instances', label: '设置', icon: 'settings' },
{ section: 'settings', href: '/settings/system', label: '设置', icon: 'settings' },
];
const STREAM_LABELS = {
@@ -693,22 +683,6 @@ export function AppShell({
</header>
<div className="app-layout app-layout-single">
<main id="main-content" tabIndex={-1}>
{currentSection === 'settings' ? (
<nav className="settings-navigation" aria-label="设置导航">
<a
href="/settings/instances"
aria-current={route.kind === 'settings-system' ? undefined : 'page'}
>
</a>
<a
href="/settings/system"
aria-current={route.kind === 'settings-system' ? 'page' : undefined}
>
</a>
</nav>
) : null}
{routeInstanceId && instanceLoading ? (
<p role="status" aria-label="实例加载状态">