This commit is contained in:
fengxiangdebaozi committed 2026-05-25 19:30:36 +08:00
1 parent ca1d7e77ba
commit 70814b1026
1 file changed
+14 -13
+14 -13
View File
@@ -62,6 +62,7 @@ import {
statusLabel, statusLabel,
statusVariant, statusVariant,
} from "@/components/workspace/scheduled-tasks/schedule-builder"; } from "@/components/workspace/scheduled-tasks/schedule-builder";
import { desensitize } from "@/lib/desensitize";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
function formatDate(value?: string | null) { function formatDate(value?: string | null) {
@@ -334,7 +335,7 @@ export default function ScheduledTasksPage() {
<div className="flex items-start justify-between gap-3"> <div className="flex items-start justify-between gap-3">
<div className="min-w-0 flex-1"> <div className="min-w-0 flex-1">
<div className="font-medium leading-snug break-all"> <div className="font-medium leading-snug break-all">
{task.name} {desensitize(task.name)}
</div> </div>
<div className="mt-1 flex flex-wrap items-center gap-1"> <div className="mt-1 flex flex-wrap items-center gap-1">
{isRunningNow && ( {isRunningNow && (
@@ -358,7 +359,7 @@ export default function ScheduledTasksPage() {
)} )}
</div> </div>
<div className="text-muted-foreground mt-1 truncate text-xs"> <div className="text-muted-foreground mt-1 truncate text-xs">
{task.schedule_text} · {task.timezone} {desensitize(task.schedule_text ?? "")} · {task.timezone}
</div> </div>
</div> </div>
<Badge variant={task.enabled ? "default" : "secondary"} className="shrink-0"> <Badge variant={task.enabled ? "default" : "secondary"} className="shrink-0">
@@ -531,9 +532,9 @@ export default function ScheduledTasksPage() {
<div key={item.task_id} className="bg-card rounded-md border p-4"> <div key={item.task_id} className="bg-card rounded-md border p-4">
<div className="flex items-start justify-between gap-3"> <div className="flex items-start justify-between gap-3">
<div className="min-w-0"> <div className="min-w-0">
<div className="truncate font-medium">{item.name}</div> <div className="truncate font-medium">{desensitize(item.name)}</div>
<div className="text-muted-foreground mt-1 truncate text-xs"> <div className="text-muted-foreground mt-1 truncate text-xs">
{item.schedule_text} · {item.timezone} {desensitize(item.schedule_text ?? "")} · {item.timezone}
</div> </div>
</div> </div>
{subscribed && ( {subscribed && (
@@ -543,7 +544,7 @@ export default function ScheduledTasksPage() {
)} )}
</div> </div>
<div className="text-muted-foreground mt-3 line-clamp-3 text-xs whitespace-pre-wrap"> <div className="text-muted-foreground mt-3 line-clamp-3 text-xs whitespace-pre-wrap">
{item.prompt_summary || "(无摘要)"} {item.prompt_summary ? desensitize(item.prompt_summary) : "(无摘要)"}
</div> </div>
<div className="mt-3 flex flex-wrap gap-2"> <div className="mt-3 flex flex-wrap gap-2">
<Button <Button
@@ -585,7 +586,7 @@ export default function ScheduledTasksPage() {
</Select> </Select>
</div> </div>
<p className="text-muted-foreground text-sm"> <p className="text-muted-foreground text-sm">
{selectedTask ? selectedTask.name : "请选择左侧任务"} {selectedTask ? desensitize(selectedTask.name) : "请选择左侧任务"}
</p> </p>
{selectedTask && (selectedTask.creator_email || selectedTask.creator_user_id) && ( {selectedTask && (selectedTask.creator_email || selectedTask.creator_user_id) && (
<p className="text-muted-foreground text-xs"> <p className="text-muted-foreground text-xs">
@@ -625,7 +626,7 @@ export default function ScheduledTasksPage() {
<div className="flex flex-wrap items-start justify-between gap-3"> <div className="flex flex-wrap items-start justify-between gap-3">
<div className="min-w-0"> <div className="min-w-0">
<div className="truncate font-medium"> <div className="truncate font-medium">
{run.result?.title || formatDate(run.scheduled_for)} {run.result?.title ? desensitize(run.result.title) : formatDate(run.scheduled_for)}
</div> </div>
<div className="text-muted-foreground mt-1 text-xs"> <div className="text-muted-foreground mt-1 text-xs">
计划:{formatDate(run.scheduled_for)} · 开始: 计划:{formatDate(run.scheduled_for)} · 开始:
@@ -642,7 +643,7 @@ export default function ScheduledTasksPage() {
</div> </div>
{run.error && ( {run.error && (
<div className="text-destructive mt-3 line-clamp-2 text-sm"> <div className="text-destructive mt-3 line-clamp-2 text-sm">
{run.error} {desensitize(run.error)}
</div> </div>
)} )}
<div className="mt-4 flex flex-wrap gap-2"> <div className="mt-4 flex flex-wrap gap-2">
@@ -703,13 +704,13 @@ export default function ScheduledTasksPage() {
</DialogHeader> </DialogHeader>
<div className="flex flex-col gap-3"> <div className="flex flex-col gap-3">
<div> <div>
<div className="font-medium">{subscribeTarget?.name}</div> <div className="font-medium">{desensitize(subscribeTarget?.name ?? "")}</div>
<div className="text-muted-foreground mt-1 text-xs"> <div className="text-muted-foreground mt-1 text-xs">
{subscribeTarget?.schedule_text} · {subscribeTarget?.timezone} {desensitize(subscribeTarget?.schedule_text ?? "")} · {subscribeTarget?.timezone}
</div> </div>
</div> </div>
<div className="text-muted-foreground line-clamp-4 text-sm whitespace-pre-wrap"> <div className="text-muted-foreground line-clamp-4 text-sm whitespace-pre-wrap">
{subscribeTarget?.prompt_summary || "(无摘要)"} {subscribeTarget?.prompt_summary ? desensitize(subscribeTarget.prompt_summary) : "(无摘要)"}
</div> </div>
<div className="flex items-center justify-between rounded-md border p-3"> <div className="flex items-center justify-between rounded-md border p-3">
<div> <div>
@@ -809,8 +810,8 @@ export default function ScheduledTasksPage() {
{agents.map((agent) => ( {agents.map((agent) => (
<SelectItem key={agent.id} value={agent.id}> <SelectItem key={agent.id} value={agent.id}>
<span className="block truncate"> <span className="block truncate">
{agent.name} {desensitize(agent.name)}
{agent.description ? ` — ${agent.description}` : ""} {agent.description ? ` — ${desensitize(agent.description)}` : ""}
</span> </span>
</SelectItem> </SelectItem>
))} ))}