chore(web): 合并 U / V / W 后的收尾——剩余「入库」文案、设置新分区深链、冒烟锚点

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
This commit is contained in:
rootandClaude Opus 5.5 committed 2026-10-06 18:25:20 +08:00
1 parent ee3ebcb25c
commit f397687a5f
11 files changed
+31 -36

No files matched your search

+1 -1
View File
@@ -88,7 +88,7 @@ describe("控制台导航", () => {
});
it("settingsPath 只认新分区名", () => {
expect(settingsPath("automation", "cache")).toBe("/console/settings#automation/cache");
expect(settingsPath("downloaders", "cache")).toBe("/console/settings#downloaders/cache");
expect(settingsPath("agent")).toBe("/console/settings#agent");
});
});
+9 -6
View File
@@ -51,7 +51,7 @@ export const NAV_GROUPS: NavGroup[] = [
to: "/console",
label: "首页",
icon: House,
description: "在忙什么、要我处理什么、最近入库了什么",
description: "在忙什么、要我处理什么、最近整理了什么",
},
{
to: "/console/agent",
@@ -139,15 +139,18 @@ export const NAV_ITEMS = NAV_GROUPS.flatMap((g) => g.items);
/** 设置页深链(IA-2):`/console/settings#分区[/节]`。调用方只认新分区名 */
export type SettingsSection =
| "automation"
| "sites"
| "downloaders"
| "library"
| "media-servers"
| "sites"
| "metadata"
| "acquire"
| "library"
| "organize"
| "agent"
| "api-keys"
| "account";
| "system"
| "cache"
| "account"
| "interface";
export function settingsPath(section: SettingsSection, anchor?: string): string {
return `${CONSOLE_BASE}/settings#${section}${anchor ? `/${anchor}` : ""}`;
}
@@ -28,7 +28,7 @@ export const TASK_KIND_LABEL: Record<TaskKind, string> = {
resolveObservation: "识别资源",
evaluateAcquisition: "评估候选",
submitDownload: "提交下载",
verifyAndImport: "核验入库",
verifyAndImport: "核验整理",
refreshMetadata: "刷新元数据",
reconcileLibrary: "文件核对",
cleanupDownloadCache: "清理缓存",
@@ -246,7 +246,7 @@ export function BusinessTasks() {
empty={{
icon: ListTodo,
title: f.active ? "没有符合筛选的任务" : "还没有业务任务",
description: f.active ? undefined : "提交下载、核验入库、清理缓存、对账等后台任务会出现在这里。",
description: f.active ? undefined : "提交下载、核验整理、清理缓存、对账等后台任务会出现在这里。",
}}
/>
<DetailSheet
@@ -106,7 +106,7 @@ export function CacheVolumes() {
<h2 className="text-label font-semibold tracking-[0.18em] text-muted-foreground uppercase">下载盘</h2>
<div className="flex flex-wrap gap-2">
<Button asChild variant="ghost" size="sm">
<Link to={settingsPath("automation", "cache")}>
<Link to={settingsPath("downloaders", "cache")}>
<SlidersHorizontal />
调整阈值
</Link>
@@ -20,7 +20,7 @@ import { cn, formatBytes, formatDateTime } from "~/lib/utils.ts";
// 运行状态页「存储」节(FIX-5):GET /system/health 的存储告警 + GET /system/storage 明细(库体积与预算、表 top 10、
// 缓存用量、图片 / 备份 / 会话与证据、DATA_DIR 分目录、各清理任务),手动清理调 POST /system/storage/cleanup/{target}。
// 预算与保留期在「设置 → 自动化 → 存储与保留」改,见 docs/runbook/storage.md。
// 预算与保留期在「设置 → 系统 → 存储预算 / 数据保留」改,见 docs/runbook/storage.md。
const LEVEL: Record<HealthLevel, { label: string; tone: StatusTone }> = {
ok: { label: "正常", tone: "success" },
+1 -1
View File
@@ -36,7 +36,7 @@ export const WORKFLOW_LABEL: Record<string, string> = {
resolveObservation: "识别资源",
evaluateAcquisition: "评估候选",
submitDownload: "提交下载",
verifyAndImport: "核验入库",
verifyAndImport: "核验整理",
scrapeMedia: "刮削",
refreshMetadata: "刷新元数据",
reconcileLibrary: "文件核对",