refactor(web): 下载盘、RSS、订阅、设置与待处理的剩余去噪项(DEAI-2)

- 下载面板:下载盘只显示「已用 x / 总量」与进度条,暂停线 / 在途 / 预留 / 可清理 / 做种保留收进详情;
  阈值文案统一「暂停线 / 恢复线 / 下载盘满暂停」
- RSS 页去掉与站点页重复的站点表,节标题「RSS 地址」;用途只在非通用时显示
- 订阅:一条都没有时不铺筛选;表单里「空 = 24;0 = 关」等等式改成 placeholder + 一句说明
- 设置:浏览器服务、元数据识别、MCP 说明去掉组件名与实现细节;会话目录与 fake 脚本只在开发构建显示;
  API Key scope 前加中文名;命名模板变量去掉「MP 无」
- 待处理顶部计数卡改成一行筛选按钮
- 智能体悬浮按钮只在没有侧栏的窄屏出现,抽屉打开时不再显示「收起」胶囊

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
rootandClaude Opus 5.5 committed 2026-09-29 21:02:30 +08:00
1 parent 57ce40168d
commit 2c8c33c31c
15 files changed
+185 -237

No files matched your search

@@ -591,11 +591,12 @@ export function SubscriptionFormDialog({
label="总集数"
htmlFor={f("total")}
error={err("total")}
hint={d.totalLocked ? "锁定后元数据刷新不再改写" : "空 = 按 TMDB;不锁定时只升不降"}
hint={d.totalLocked ? "锁定后元数据刷新不再改写" : "留空按 TMDB"}
>
<Input
id={f("total")}
inputMode="numeric"
placeholder="按 TMDB"
value={d.total}
aria-invalid={!!err("total")}
onChange={(e) => {
@@ -729,11 +730,7 @@ export function SubscriptionFormDialog({
<TabsContent value="advanced" className="mt-4 min-w-0 space-y-5">
<Section title="过滤">
<FormField
label="规则组"
htmlFor={f("groups")}
hint="按选择顺序串联;不选 = 订阅默认规则组。收录版本自己的规则组另算"
>
<FormField label="规则组" htmlFor={f("groups")} hint="不选时用默认规则组">
{groups.isPending ? (
<p className="text-caption text-muted-foreground">读取规则组…</p>
) : (groups.data?.items ?? []).length === 0 ? (
@@ -835,11 +832,12 @@ export function SubscriptionFormDialog({
label="主动搜索间隔(小时)"
htmlFor={f("interval")}
error={err("searchIntervalHours")}
hint="空 = 24;0 = 关"
hint="0 表示不主动搜索"
>
<Input
id={f("interval")}
inputMode="decimal"
placeholder="24"
value={d.searchIntervalHours}
aria-invalid={!!err("searchIntervalHours")}
onChange={(e) => patch({ searchIntervalHours: e.target.value })}