diff --git a/src/components/quick-add/quick-add.tsx b/src/components/quick-add/quick-add.tsx index a486a1e..d4bb8ce 100644 --- a/src/components/quick-add/quick-add.tsx +++ b/src/components/quick-add/quick-add.tsx @@ -34,7 +34,7 @@ interface CaseOpt { id: string; case_number: string; title: string; - client_id: string; + client_id: string | null; default_hourly_rate: number | null; } interface FeeItem { diff --git a/src/components/timer/header-timer.tsx b/src/components/timer/header-timer.tsx index 4da0e13..6e8e2ca 100644 --- a/src/components/timer/header-timer.tsx +++ b/src/components/timer/header-timer.tsx @@ -30,7 +30,7 @@ interface CaseOption { id: string; case_number: string; title: string; - client_id: string; + client_id: string | null; default_hourly_rate: number | null; } diff --git a/src/integrations/supabase/types.ts b/src/integrations/supabase/types.ts index c106623..5c939ec 100644 --- a/src/integrations/supabase/types.ts +++ b/src/integrations/supabase/types.ts @@ -191,7 +191,7 @@ export type Database = { case_number: string case_summary: string | null claim_amount: number | null - client_id: string + client_id: string | null closed_at: string | null court: string | null court_case_number: string | null @@ -228,7 +228,7 @@ export type Database = { case_number: string case_summary?: string | null claim_amount?: number | null - client_id: string + client_id?: string | null closed_at?: string | null court?: string | null court_case_number?: string | null @@ -265,7 +265,7 @@ export type Database = { case_number?: string case_summary?: string | null claim_amount?: number | null - client_id?: string + client_id?: string | null closed_at?: string | null court?: string | null court_case_number?: string | null diff --git a/src/routes/cases.new.tsx b/src/routes/cases.new.tsx index 4e7c735..d685840 100644 --- a/src/routes/cases.new.tsx +++ b/src/routes/cases.new.tsx @@ -72,13 +72,13 @@ function NewCase() { const onSubmit = async (e: React.FormEvent) => { e.preventDefault(); - if (!form.client_id || !form.title.trim() || !form.case_number.trim()) { - toast.error("Please fill in client, title, and case number."); + if (!form.title.trim() || !form.case_number.trim()) { + toast.error("Please fill in title and case number."); return; } setSubmitting(true); const payload = { - client_id: form.client_id, + client_id: form.client_id || null, case_number: form.case_number.trim(), title: form.title.trim(), practice_area: form.practice_area.trim() || null, @@ -110,10 +110,11 @@ function NewCase() {
- - setForm({ ...form, client_id: v === "__none" ? "" : v })}> + + No client (attach later) {clients.map((c) => {c.name})} diff --git a/supabase/migrations/20260418024845_69e69b36-e6a5-4642-a74a-689c32e4f012.sql b/supabase/migrations/20260418024845_69e69b36-e6a5-4642-a74a-689c32e4f012.sql new file mode 100644 index 0000000..39418d3 --- /dev/null +++ b/supabase/migrations/20260418024845_69e69b36-e6a5-4642-a74a-689c32e4f012.sql @@ -0,0 +1 @@ +ALTER TABLE public.cases ALTER COLUMN client_id DROP NOT NULL; \ No newline at end of file