fix: simplify top-level settings
This commit is contained in:
@@ -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="实例加载状态">
|
||||
正在加载实例…
|
||||
|
||||
Reference in New Issue
Block a user