From 62c9b79d0b138c4b5445de10d982d7010cc85f89 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 01:27:25 +0000 Subject: [PATCH] Changes Co-authored-by: renee-png <262607627+renee-png@users.noreply.github.com> --- src/components/cases/time-tab.tsx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/components/cases/time-tab.tsx b/src/components/cases/time-tab.tsx index ce376fb..1b1b855 100644 --- a/src/components/cases/time-tab.tsx +++ b/src/components/cases/time-tab.tsx @@ -46,6 +46,9 @@ export function CaseTimeTab({ caseRecord, onInvoice }: CaseTimeTabProps) { billable: true, }); + const [fees, setFees] = useState([]); + const [selectedFeeId, setSelectedFeeId] = useState(""); + const load = async () => { const { data, error } = await supabase .from("time_entries") @@ -64,6 +67,20 @@ export function CaseTimeTab({ caseRecord, onInvoice }: CaseTimeTabProps) { useEffect(() => { load(); }, [caseRecord.id]); + // Load fee schedule (time category) + useEffect(() => { + (async () => { + const { data } = await supabase + .from("fee_schedule_items") + .select("id, name, description, amount, billable") + .eq("category", "time") + .eq("active", true) + .order("sort_order") + .order("name"); + setFees((data ?? []) as FeeItem[]); + })(); + }, []); + // Pull this user's default hourly rate; use it to prefill when case has no override. useEffect(() => { if (!user?.id) return;