- execute: actually call isInScheduleWindow/waitForWindow/sleepBetweenJobs in runSequential (they were dead code); emit queue_status SSE events (running/paused/sleeping/idle) so the pipeline's existing QueueStatus listener lights up - review: POST /:id/retry resets an errored plan to approved, wipes old done/error jobs, rebuilds command from current decisions, queues fresh job - scan: dev-mode DELETE now also wipes jobs + subtitle_files (previously orphaned after every dev reset) - biome: migrate config to 2.4 schema, autoformat 68 files (strings + indentation), relax opinionated a11y/hooks-deps/index-key rules that don't fit this codebase - routeTree.gen.ts regenerated after /nodes removal
25 lines
839 B
TypeScript
25 lines
839 B
TypeScript
import { Badge } from "~/shared/components/ui/badge";
|
|
|
|
interface DoneColumnProps {
|
|
items: any[];
|
|
}
|
|
|
|
export function DoneColumn({ items }: DoneColumnProps) {
|
|
return (
|
|
<div className="flex flex-col w-64 min-w-64 min-h-0 bg-gray-50 rounded-lg">
|
|
<div className="px-3 py-2 border-b font-medium text-sm">
|
|
Done <span className="text-gray-400">({items.length})</span>
|
|
</div>
|
|
<div className="flex-1 overflow-y-auto p-2 space-y-1">
|
|
{items.map((item: any) => (
|
|
<div key={item.id} className="rounded border bg-white p-2">
|
|
<p className="text-xs font-medium truncate">{item.name}</p>
|
|
<Badge variant={item.status === "done" ? "done" : "error"}>{item.status}</Badge>
|
|
</div>
|
|
))}
|
|
{items.length === 0 && <p className="text-sm text-gray-400 text-center py-8">No completed items</p>}
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|