| 1 | import { Empty, EmptyDescription, EmptyHeader, EmptyTitle } from "./ui/empty"; |
| 2 | import { SidebarInset } from "./ui/sidebar"; |
| 3 | import { isElectron } from "../env"; |
| 4 | import { WorkspacePageHeader } from "./WorkspacePageHeader"; |
| 5 | |
| 6 | export function NoActiveThreadState() { |
| 7 | return ( |
| 8 | <SidebarInset className="h-dvh min-h-0 overflow-hidden overscroll-y-none"> |
| 9 | <div className="flex min-h-0 min-w-0 flex-1 flex-col overflow-x-hidden bg-background"> |
| 10 | <WorkspacePageHeader electron={isElectron} className="border-b border-border"> |
| 11 | {isElectron ? ( |
| 12 | <span className="text-xs text-muted-foreground/50">No active thread</span> |
| 13 | ) : ( |
| 14 | <div className="flex items-center gap-2"> |
| 15 | <span className="text-sm font-medium text-foreground md:text-muted-foreground/60"> |
| 16 | No active thread |
| 17 | </span> |
| 18 | </div> |
| 19 | )} |
| 20 | </WorkspacePageHeader> |
| 21 | |
| 22 | <Empty className="flex-1"> |
| 23 | <div className="w-full max-w-lg px-8 py-12"> |
| 24 | <EmptyHeader className="max-w-none"> |
| 25 | <EmptyTitle>Pick a thread to continue</EmptyTitle> |
| 26 | <EmptyDescription> |
| 27 | Select an existing thread or create a new one to get started. |
| 28 | </EmptyDescription> |
| 29 | </EmptyHeader> |
| 30 | </div> |
| 31 | </Empty> |
| 32 | </div> |
| 33 | </SidebarInset> |
| 34 | ); |
| 35 | } |