-
Notifications
You must be signed in to change notification settings - Fork 42
Expand file tree
/
Copy pathTaskDetailView.tsx
More file actions
36 lines (31 loc) · 966 Bytes
/
TaskDetailView.tsx
File metadata and controls
36 lines (31 loc) · 966 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import {
isWorkspaceStarting,
isTaskWorking,
type TaskDetails,
} from "@repo/shared";
import { AgentChatHistory } from "./AgentChatHistory";
import { ErrorBanner } from "./ErrorBanner";
import { TaskDetailHeader } from "./TaskDetailHeader";
import { TaskMessageInput } from "./TaskMessageInput";
import { WorkspaceLogs } from "./WorkspaceLogs";
interface TaskDetailViewProps {
details: TaskDetails;
onBack: () => void;
}
export function TaskDetailView({ details, onBack }: TaskDetailViewProps) {
const { task, logs } = details;
const starting = isWorkspaceStarting(task);
const isThinking = isTaskWorking(task);
return (
<div className="task-detail-view">
<TaskDetailHeader task={task} onBack={onBack} />
{task.status === "error" && <ErrorBanner task={task} />}
{starting ? (
<WorkspaceLogs task={task} />
) : (
<AgentChatHistory taskLogs={logs} isThinking={isThinking} />
)}
<TaskMessageInput task={task} />
</div>
);
}