文案(详情页):按 human-copy 过一遍;智能体提示去掉已取消的待处理中心
Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
This commit is contained in:
1 parent
d8f958d4fb
commit
be6349bbae
4 files changed
+12
-12
No files matched your search
@@ -202,7 +202,7 @@ export function MediaHero({ facts, badges, actions }: { facts: MediaFacts; badge
|
||||
className="mt-2 max-w-2xl text-caption leading-relaxed text-foreground/90"
|
||||
/>
|
||||
) : (
|
||||
<p className="mt-2 text-meta text-muted-foreground">暂无简介</p>
|
||||
<p className="mt-2 text-meta text-muted-foreground">没有简介</p>
|
||||
)}
|
||||
{dates.length || facts.externalLinks.length ? (
|
||||
<div className="mt-3 flex flex-wrap items-center gap-x-3 gap-y-1 text-meta text-muted-foreground">
|
||||
@@ -364,7 +364,7 @@ export function EpisodeRow({ e }: { e: EpisodeRowData }) {
|
||||
{e.overview ? (
|
||||
<ClampText text={e.overview} lines={2} className="mt-1 text-caption text-foreground/85" />
|
||||
) : (
|
||||
<p className="mt-0.5 text-meta text-muted-foreground">暂无简介</p>
|
||||
<p className="mt-0.5 text-meta text-muted-foreground">没有简介</p>
|
||||
)}
|
||||
{e.extra}
|
||||
</div>
|
||||
|
||||
@@ -215,7 +215,7 @@ function IdentityPanel({ detail }: { detail: LibraryDetail }) {
|
||||
const candidates = detail.identities.filter((i) => i.status === "proposed" || i.status === "conflicted");
|
||||
return (
|
||||
<Panel
|
||||
title="匹配的 TMDB 条目"
|
||||
title="TMDB 匹配"
|
||||
actions={
|
||||
<Button variant="outline" size="sm" onClick={() => setOpen(true)}>
|
||||
<PencilLine />
|
||||
@@ -271,7 +271,7 @@ function IdentityRow({ i }: { i: ExternalIdentity }) {
|
||||
className="mt-1 text-meta text-muted-foreground"
|
||||
title={`证据 ${evidenceLabel(i.evidenceLevel)} · ${VERIFY_STATUS[i.verifyStatus]?.label ?? i.verifyStatus} · r${i.revision}`}
|
||||
>
|
||||
{i.locked || i.evidenceLevel === "manual" ? "你确认的" : "自动匹配"}
|
||||
{i.locked || i.evidenceLevel === "manual" ? "人工确认" : "自动匹配"}
|
||||
{i.verifiedAt ? ` · ${relTime(i.verifiedAt)}` : ""}
|
||||
</p>
|
||||
{reason ? <p className="mt-0.5 text-meta break-words text-muted-foreground">{reason}</p> : null}
|
||||
@@ -350,7 +350,7 @@ function EvidenceLine({ field }: { field: MediaEntityDetail["metadataFields"][nu
|
||||
<ExternalLink className="h-3 w-3 shrink-0" />
|
||||
</a>
|
||||
) : (
|
||||
<span>无出处</span>
|
||||
<span>没有出处</span>
|
||||
)}
|
||||
{field?.field === "posterUrl" && ev.enrichmentId ? (
|
||||
<img
|
||||
@@ -407,7 +407,7 @@ function MetadataPanel({ detail, entity }: { detail: LibraryDetail; entity: Medi
|
||||
refresh.mutate(
|
||||
{ full: true },
|
||||
{
|
||||
onSuccess: () => toast.success("已提交刷新,含全部季的每集信息"),
|
||||
onSuccess: () => toast.success("已开始刷新,包括全部季的每集信息"),
|
||||
onError: (err) => toast.error(errorMessage(err, "刷新失败")),
|
||||
},
|
||||
)
|
||||
@@ -735,7 +735,7 @@ function EpisodesPanel({ detail, units }: { detail: LibraryDetail; units: Conten
|
||||
refresh.mutate(
|
||||
{ full: true },
|
||||
{
|
||||
onSuccess: () => toast.success("已提交刷新,含全部季的每集信息"),
|
||||
onSuccess: () => toast.success("已开始刷新,包括全部季的每集信息"),
|
||||
onError: (err) => toast.error(errorMessage(err, "刷新失败")),
|
||||
},
|
||||
);
|
||||
|
||||
@@ -62,7 +62,7 @@ export default function TmdbMediaPage() {
|
||||
<>
|
||||
{back}
|
||||
<ErrorState
|
||||
title={code === "not_found" ? "TMDB 没有这个条目" : "作品加载失败"}
|
||||
title={code === "not_found" ? "TMDB 上找不到这部作品" : "作品加载失败"}
|
||||
error={q.error}
|
||||
onRetry={code === "not_found" ? undefined : () => q.refetch()}
|
||||
/>
|
||||
@@ -204,13 +204,13 @@ function InventoryPanel({ d }: { d: TmdbMediaDetail }) {
|
||||
const inv = d.inventory;
|
||||
const line = slotLine(inv);
|
||||
return (
|
||||
<Panel title="库中情况">
|
||||
<Panel title="本地状态">
|
||||
<dl className="grid gap-4 sm:grid-cols-2">
|
||||
<div className="min-w-0">
|
||||
<dt className="text-meta text-muted-foreground">媒体库</dt>
|
||||
<dd className="mt-1 space-y-1 text-caption text-foreground">
|
||||
{inv.state === "not_collected" ? (
|
||||
<p>不在媒体库。</p>
|
||||
<p>不在媒体库</p>
|
||||
) : (
|
||||
<>
|
||||
<p>
|
||||
@@ -234,7 +234,7 @@ function InventoryPanel({ d }: { d: TmdbMediaDetail }) {
|
||||
</Link>
|
||||
</p>
|
||||
) : emby.isPending ? (
|
||||
<p className="text-muted-foreground">查询中…</p>
|
||||
<p className="text-muted-foreground">加载中…</p>
|
||||
) : emby.isError ? (
|
||||
<p className="text-warning">{errorMessage(emby.error, "查询失败")}</p>
|
||||
) : (
|
||||
|
||||
@@ -89,7 +89,7 @@ export const INTENT_ROUTES: readonly IntentRoute[] = [
|
||||
{
|
||||
intent: "问待处理事项、要我处理什么",
|
||||
steps: [{ cap: "decision.list", note: "未关闭事项、严重度与可选处理" }],
|
||||
tips: ["处理由用户在待处理中心选,智能体只汇总与建议。"],
|
||||
tips: ["处理由用户在出问题的页面(如整理记录)或铃铛里选,智能体只汇总与建议。"],
|
||||
},
|
||||
{
|
||||
intent: "问存储、清理空间",
|
||||
|
||||
Reference in new issue
Block a user