文案(搜索):按 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
542f107566
commit
822d4e7c63
4 files changed
+15
-15
No files matched your search
@@ -194,7 +194,7 @@ function PaletteBody({ initial }: { initial: string }) {
|
||||
}}
|
||||
/>
|
||||
<p className="py-6 text-center text-caption text-muted-foreground">
|
||||
输入作品名、别名或页面名称。选中作品打开详情页。
|
||||
输入作品名、别名或页面名
|
||||
</p>
|
||||
</div>
|
||||
) : (
|
||||
@@ -320,7 +320,7 @@ function actionItem(a: SearchAction, run: () => void): Item {
|
||||
icon: actionIcon(a.kind),
|
||||
title: a.title,
|
||||
meta: a.group,
|
||||
hint: "前往",
|
||||
hint: "打开",
|
||||
run,
|
||||
};
|
||||
}
|
||||
@@ -181,7 +181,7 @@ export function ReleaseResults({
|
||||
</h2>
|
||||
{first ? (
|
||||
<p className="mt-0.5 text-meta break-words text-muted-foreground tabular-nums">
|
||||
{first.sites.length} 个站点 · {first.cached ? "缓存结果" : "站点实时结果"} · 抓取于{" "}
|
||||
{first.sites.length} 个站点 · {first.cached ? "缓存结果" : "实时结果"} · 上次抓取{" "}
|
||||
{relTime(first.fetchedAt)}
|
||||
</p>
|
||||
) : null}
|
||||
@@ -199,7 +199,7 @@ export function ReleaseResults({
|
||||
onClick={() => refresh.mutate(api, { onError: (e) => toast.error(errorMessage(e, "刷新失败")) })}
|
||||
>
|
||||
<RefreshCw className={cn(refresh.isPending && "animate-spin")} />
|
||||
{refresh.isPending ? "查询中…" : "刷新"}
|
||||
{refresh.isPending ? "刷新中…" : "刷新"}
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -240,7 +240,7 @@ export function ReleaseResults({
|
||||
<div className="pg-slab min-w-0 overflow-hidden rounded-xl">
|
||||
{res.isPending ? (
|
||||
<div className="p-4">
|
||||
<p className="mb-3 text-meta text-muted-foreground">正在查询各站点,最慢约 15 秒…</p>
|
||||
<p className="mb-3 text-meta text-muted-foreground">查询各站点中,最长约 15 秒…</p>
|
||||
<LoadingState rows={4} />
|
||||
</div>
|
||||
) : res.isError && !rows.length ? (
|
||||
@@ -361,7 +361,7 @@ function CoverageNotice({ page }: { page: ReleaseSearchPage }) {
|
||||
<ul className="mt-1 flex flex-wrap gap-x-3 gap-y-0.5 text-meta text-muted-foreground">
|
||||
{page.failedSites.map((s) => (
|
||||
<li key={s.siteId} className="break-all" title={s.error ?? undefined}>
|
||||
{s.siteName}:{SITE_STATUS[s.status]}
|
||||
{s.siteName}:{SITE_STATUS[s.status]}
|
||||
{s.error ? `(${s.error})` : ""}
|
||||
</li>
|
||||
))}
|
||||
@@ -384,7 +384,7 @@ function CoverageNotice({ page }: { page: ReleaseSearchPage }) {
|
||||
<ul className="mt-1 space-y-0.5 pl-4">
|
||||
{skipped.map((s) => (
|
||||
<li key={s.siteId} className="break-all">
|
||||
{s.siteName}:{s.error ?? "站点不支持搜索"}
|
||||
{s.siteName}:{s.error ?? "不支持搜索"}
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
@@ -650,11 +650,11 @@ function ReleaseRow({ r, onOpen, onDownload }: { r: SearchRelease; onOpen: () =>
|
||||
</span>
|
||||
<span className="lg:w-16 lg:text-right">{r.sizeBytes === null ? "—" : formatBytes(r.sizeBytes, 1)}</span>
|
||||
<span className="inline-flex items-center gap-0.5 lg:w-28" title="做种 / 下载">
|
||||
<ArrowUp aria-label="做种" className="h-3.5 w-3.5" />
|
||||
<ArrowUp aria-label="做种数" className="h-3.5 w-3.5" />
|
||||
<span className={cn("text-body", seedless ? "text-muted-foreground" : "font-semibold text-foreground")}>
|
||||
{r.seeders ?? "—"}
|
||||
</span>
|
||||
<ArrowDown aria-label="下载" className="ml-1.5 h-3 w-3" />
|
||||
<ArrowDown aria-label="下载数" className="ml-1.5 h-3 w-3" />
|
||||
{r.leechers ?? "—"}
|
||||
</span>
|
||||
<span
|
||||
@@ -667,15 +667,15 @@ function ReleaseRow({ r, onOpen, onDownload }: { r: SearchRelease; onOpen: () =>
|
||||
<span className="flex flex-wrap items-center gap-1">
|
||||
{r.sourceReleaseId ? (
|
||||
<Button asChild variant="ghost" size="sm">
|
||||
<Link to={`/console/sites/${r.siteId}`} title="在站点工作台查看">
|
||||
<Link to={`/console/sites/${r.siteId}`} title="打开站点页">
|
||||
<ExternalLink />
|
||||
工作台
|
||||
站点页
|
||||
</Link>
|
||||
</Button>
|
||||
) : null}
|
||||
<Button variant="ghost" size="sm" onClick={() => delegateToAgent(r)}>
|
||||
<Bot />
|
||||
委托智能体
|
||||
交给智能体
|
||||
</Button>
|
||||
<Button size="sm" onClick={onDownload}>
|
||||
<Download />
|
||||
|
||||
@@ -74,7 +74,7 @@ export function WorksSection({ q }: { q: string }) {
|
||||
plain
|
||||
icon={Film}
|
||||
title="没有匹配的作品"
|
||||
description="换个译名、原名或别名再搜;资源标题可以点「按关键词搜资源」。"
|
||||
description="换个译名、原名或别名再搜,或点「按关键词搜资源」直接搜资源标题。"
|
||||
className="py-8"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -134,7 +134,7 @@ export function SitePickerDialog({
|
||||
))}
|
||||
</fieldset>
|
||||
{sitesQ.isPending ? (
|
||||
<p className="text-caption text-muted-foreground">加载站点…</p>
|
||||
<p className="text-caption text-muted-foreground">加载中…</p>
|
||||
) : sites.length === 0 ? (
|
||||
<p className="text-caption text-muted-foreground">
|
||||
还没有启用的站点。
|
||||
@@ -156,7 +156,7 @@ export function SitePickerDialog({
|
||||
.filter((s) => ids.includes(s.id))
|
||||
.map((s) => s.name)
|
||||
.join("、")
|
||||
: "没有站点勾选「默认参与搜索」。在站点页打开,或改选全部站点。"}
|
||||
: "没有站点勾选「默认参与搜索」。到站点页勾选,或改选「全部站点」。"}
|
||||
</p>
|
||||
)}
|
||||
<DialogFooter>
|
||||
|
||||
Reference in new issue
Block a user