From efba8dc2d3c482bf3c52cc37302890db33c73bd1 Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Sat, 18 Apr 2026 23:28:16 +0000 Subject: [PATCH 1/3] Changes Co-authored-by: renee-png <262607627+renee-png@users.noreply.github.com> --- src/components/tasks/new-task-dialog.tsx | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/components/tasks/new-task-dialog.tsx b/src/components/tasks/new-task-dialog.tsx index 41b6bdd..7ecc6ed 100644 --- a/src/components/tasks/new-task-dialog.tsx +++ b/src/components/tasks/new-task-dialog.tsx @@ -36,6 +36,11 @@ interface CaseOption { id: string; case_number: string; title: string; + client_id: string | null; +} +interface ClientOption { + id: string; + name: string; } interface Profile { id: string; From 6587bfbf13beacd99a0104e89411e2dbb997406a Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Sat, 18 Apr 2026 23:28:40 +0000 Subject: [PATCH 2/3] Changes Co-authored-by: renee-png <262607627+renee-png@users.noreply.github.com> --- src/components/tasks/new-task-dialog.tsx | 27 +++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/src/components/tasks/new-task-dialog.tsx b/src/components/tasks/new-task-dialog.tsx index 7ecc6ed..4783e70 100644 --- a/src/components/tasks/new-task-dialog.tsx +++ b/src/components/tasks/new-task-dialog.tsx @@ -69,8 +69,10 @@ export function NewTaskDialog({ const [priority, setPriority] = useState<"low" | "normal" | "high" | "urgent">("normal"); const [dueDate, setDueDate] = useState(); const [caseId, setCaseId] = useState(defaultCaseId ?? null); + const [clientId, setClientId] = useState(null); const [assigneeIds, setAssigneeIds] = useState([]); const [cases, setCases] = useState([]); + const [clients, setClients] = useState([]); const [profiles, setProfiles] = useState([]); const [submitting, setSubmitting] = useState(false); const [showPicker, setShowPicker] = useState(false); @@ -78,21 +80,40 @@ export function NewTaskDialog({ useEffect(() => { if (!open) return; setCaseId(defaultCaseId ?? null); + setClientId(null); setTitle(""); setDescription(""); setPriority("normal"); setDueDate(undefined); setAssigneeIds(user ? [user.id] : []); (async () => { - const [c, p] = await Promise.all([ - supabase.from("cases").select("id, case_number, title").order("case_number"), + const [c, cl, p] = await Promise.all([ + supabase + .from("cases") + .select("id, case_number, title, client_id") + .is("archived_at", null) + .neq("status", "closed") + .order("case_number"), + supabase + .from("clients") + .select("id, name") + .is("archived_at", null) + .order("name"), supabase.from("profiles").select("id, full_name, email").order("full_name"), ]); - setCases((c.data ?? []) as CaseOption[]); + const caseList = (c.data ?? []) as CaseOption[]; + setCases(caseList); + setClients((cl.data ?? []) as ClientOption[]); setProfiles((p.data ?? []) as Profile[]); + if (defaultCaseId) { + const k = caseList.find((x) => x.id === defaultCaseId); + if (k?.client_id) setClientId(k.client_id); + } })(); }, [open, defaultCaseId, user]); + const filteredCases = clientId ? cases.filter((c) => c.client_id === clientId) : cases; + const submit = async () => { if (!user || !title.trim()) return; setSubmitting(true); From 60283aed438d10627ab87e513fa85bb3916ca3f3 Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Sat, 18 Apr 2026 23:28:55 +0000 Subject: [PATCH 3/3] Changes Co-authored-by: renee-png <262607627+renee-png@users.noreply.github.com> --- src/components/tasks/new-task-dialog.tsx | 59 ++++++++++++++++++------ 1 file changed, 44 insertions(+), 15 deletions(-) diff --git a/src/components/tasks/new-task-dialog.tsx b/src/components/tasks/new-task-dialog.tsx index 4783e70..3b2b092 100644 --- a/src/components/tasks/new-task-dialog.tsx +++ b/src/components/tasks/new-task-dialog.tsx @@ -210,21 +210,50 @@ export function NewTaskDialog({ -
- - +
+
+ + +
+
+ + +