diff --git a/web-ui/src/app/cases/[caseNumber]/page.tsx b/web-ui/src/app/cases/[caseNumber]/page.tsx index 60c5165..7573f81 100644 --- a/web-ui/src/app/cases/[caseNumber]/page.tsx +++ b/web-ui/src/app/cases/[caseNumber]/page.tsx @@ -16,7 +16,9 @@ import { DocumentsPanel } from "@/components/cases/documents-panel"; import { DraftsPanel } from "@/components/cases/drafts-panel"; import { UploadSheet } from "@/components/documents/upload-sheet"; import { expectedOutcomes } from "@/lib/schemas/case"; -import { useCase } from "@/lib/api/cases"; +import { useCase, useStartWorkflow } from "@/lib/api/cases"; +import { toast } from "sonner"; +import { Play, Loader2 } from "lucide-react"; const EXPECTED_OUTCOME_LABELS: Record = Object.fromEntries( expectedOutcomes.map((o) => [o.value, o.label]), @@ -33,6 +35,8 @@ export default function CaseDetailPage({ }) { const { caseNumber } = use(params); const { data, isPending, error } = useCase(caseNumber); + const startWorkflow = useStartWorkflow(caseNumber); + const canStartWorkflow = data?.status === "new" || data?.status === "documents_ready"; const expectedOutcomeLabel = data?.expected_outcome ? EXPECTED_OUTCOME_LABELS[data.expected_outcome] ?? data.expected_outcome : null; @@ -107,6 +111,29 @@ export default function CaseDetailPage({
+ {canStartWorkflow && ( + + )}