From a33cab379e68833d928c15a776f1de174f5d0c56 Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Sun, 19 Apr 2026 23:36:37 +0000 Subject: [PATCH] Changes Co-authored-by: renee-png <262607627+renee-png@users.noreply.github.com> --- src/components/cases/collections-tab.tsx | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/components/cases/collections-tab.tsx b/src/components/cases/collections-tab.tsx index a0298cb..9cdcb84 100644 --- a/src/components/cases/collections-tab.tsx +++ b/src/components/cases/collections-tab.tsx @@ -140,6 +140,7 @@ export function CaseCollectionsTab({ const [collections, setCollections] = useState([]); const [homeowners, setHomeowners] = useState([]); + const [contactHomeowners, setContactHomeowners] = useState([]); const [balances, setBalances] = useState>({}); const [loading, setLoading] = useState(true); const [activeId, setActiveId] = useState(null); @@ -151,7 +152,7 @@ export function CaseCollectionsTab({ const load = async () => { setLoading(true); - const [{ data: cols }, { data: hos }] = await Promise.all([ + const [{ data: cols }, { data: hos }, { data: ccs }] = await Promise.all([ supabase .from("collections") .select("*, homeowner:homeowners(*)") @@ -162,10 +163,23 @@ export function CaseCollectionsTab({ .select("*") .eq("client_id", clientId) .order("last_name"), + supabase + .from("case_contacts") + .select("role, contact:contacts(*)") + .eq("case_id", caseId), ]); const list = cols ?? []; setCollections(list); setHomeowners(hos ?? []); + // Filter: case_contacts.role = 'homeowner' OR contact.contact_type = 'homeowner' + const hoContacts = (ccs ?? []) + .filter((cc: any) => { + const roleMatch = (cc.role || "").toLowerCase() === "homeowner"; + const typeMatch = (cc.contact?.contact_type || "").toLowerCase() === "homeowner"; + return cc.contact && (roleMatch || typeMatch); + }) + .map((cc: any) => ({ ...cc.contact, _link_role: cc.role })); + setContactHomeowners(hoContacts); // pull balances per collection if (list.length) {