"use client"; import { Task, TaskStatus } from "@/types"; import { TaskDescription } from "./task-description"; import { AcceptanceCriteria } from "./acceptance-criteria"; import { SubtasksList } from "./subtasks-list"; import { WorkSessionCard } from "./work-session-card"; import { VideoPreviewCard } from "./video-preview-card"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Badge } from "@/components/ui/badge"; import { Markdown } from "@/components/ui/markdown"; import { HelpTip } from "@/components/ui/help-tip"; import Link from "next/link"; interface TabOverviewProps { task: Task; } export function TabOverview({ task }: TabOverviewProps) { return (
{/* Parent Task Link */} {task.parent_task_id && (
Subtask of: Parent Task #{task.parent_task_id.slice(0, 8)}
)} {/* Description */} {/* Acceptance Criteria */} {/* Subtasks */} {/* Work Session / Git Info */} {/* Video preview (source=video authoring tasks with a captured render_preview, or already awaiting the CEO's approval — the state with nothing else to show) */} {task.source === "video" && (!!task.orchestration_markers?.render_preview || task.status === TaskStatus.AWAITING_CEO_APPROVAL) && ( )} {/* Quick Context (for resumption) */} {task.quick_context && ( Quick Context {task.quick_context} )} {/* Verification Status */} Verification Status
Self Verified: {task.self_verified ? "Yes" : "No"}
QA Verified: {task.qa_verified === true ? "Passed" : task.qa_verified === false ? "Failed" : "Pending"}
); }