"use client"; import { useState } from "react"; import { toast } from "sonner"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@/components/ui/select"; import { Button } from "@/components/ui/button"; import { STATUS_LABELS, STATUS_ICONS } from "@/components/cases/status-badge"; import { useUpdateCase, type CaseStatus } from "@/lib/api/cases"; /* * Dropdown for manually overriding the case status — skip a step * or revert to an earlier stage. Calls PUT /api/cases/:caseNumber * with { status: newValue }. */ const ALL_STATUSES: CaseStatus[] = [ "new", "uploading", "processing", "documents_ready", "analyst_verified", "research_complete", "outcome_set", "brainstorming", "direction_approved", "analysis_enriched", "ready_for_writing", "drafting", "qa_review", "drafted", "exported", "reviewed", "final", ]; export function StatusChanger({ caseNumber, currentStatus, }: { caseNumber: string; currentStatus?: CaseStatus; }) { const [selected, setSelected] = useState(currentStatus ?? ""); const mutate = useUpdateCase(caseNumber); const handleSave = async () => { if (!selected || selected === currentStatus) return; try { await mutate.mutateAsync({ status: selected }); toast.success(`הסטטוס עודכן ל${STATUS_LABELS[selected]}`); } catch (e) { toast.error(e instanceof Error ? e.message : "שגיאה בעדכון הסטטוס"); } }; return (
); }