Changes
Co-authored-by: renee-png <262607627+renee-png@users.noreply.github.com>
This commit is contained in:
co-authored by
renee-png
parent
c2fc933bb5
commit
c08ec1ff16
@@ -1148,19 +1148,17 @@ function AddCollectionDialog({
|
||||
: "All homeowners on this HOA already have a collection on this matter."}
|
||||
</p>
|
||||
) : (
|
||||
<Select value={homeownerId} onValueChange={setHomeownerId}>
|
||||
<SelectTrigger>
|
||||
<SelectValue placeholder="Pick a homeowner…" />
|
||||
</SelectTrigger>
|
||||
<SelectContent>
|
||||
{available.map((h) => (
|
||||
<SelectItem key={h.id} value={h.id}>
|
||||
{h.last_name}, {h.first_name}
|
||||
{h.unit_number ? ` — Unit ${h.unit_number}` : ""}
|
||||
</SelectItem>
|
||||
))}
|
||||
</SelectContent>
|
||||
</Select>
|
||||
<SearchableSelect
|
||||
value={homeownerId}
|
||||
onValueChange={setHomeownerId}
|
||||
placeholder="Pick a homeowner…"
|
||||
searchPlaceholder="Search homeowners…"
|
||||
emptyText="No homeowners found."
|
||||
options={available.map((h) => {
|
||||
const label = `${h.last_name}, ${h.first_name}${h.unit_number ? ` — Unit ${h.unit_number}` : ""}`;
|
||||
return { value: h.id, label, keywords: `${h.first_name} ${h.last_name} ${h.unit_number ?? ""}` };
|
||||
})}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
<div>
|
||||
|
||||
@@ -214,46 +214,42 @@ export function NewTaskDialog({
|
||||
<div className="grid grid-cols-2 gap-3">
|
||||
<div>
|
||||
<Label className="text-xs">Client (optional)</Label>
|
||||
<Select
|
||||
<SearchableSelect
|
||||
value={clientId ?? "_none"}
|
||||
onValueChange={(v) => {
|
||||
const next = v === "_none" ? null : v;
|
||||
setClientId(next);
|
||||
// Clear case if it doesn't belong to selected client
|
||||
if (next && caseId) {
|
||||
const k = cases.find((c) => c.id === caseId);
|
||||
if (k && k.client_id !== next) setCaseId(null);
|
||||
}
|
||||
}}
|
||||
>
|
||||
<SelectTrigger>
|
||||
<SelectValue placeholder="No client" />
|
||||
</SelectTrigger>
|
||||
<SelectContent>
|
||||
<SelectItem value="_none">No client</SelectItem>
|
||||
{clients.map((c) => (
|
||||
<SelectItem key={c.id} value={c.id}>
|
||||
{c.name}
|
||||
</SelectItem>
|
||||
))}
|
||||
</SelectContent>
|
||||
</Select>
|
||||
placeholder="No client"
|
||||
searchPlaceholder="Search clients…"
|
||||
emptyText="No clients found."
|
||||
options={[
|
||||
{ value: "_none", label: "No client" },
|
||||
...clients.map((c) => ({ value: c.id, label: c.name, keywords: c.name })),
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<Label className="text-xs">Case (optional)</Label>
|
||||
<Select value={caseId ?? "_none"} onValueChange={(v) => setCaseId(v === "_none" ? null : v)}>
|
||||
<SelectTrigger>
|
||||
<SelectValue placeholder="No case" />
|
||||
</SelectTrigger>
|
||||
<SelectContent>
|
||||
<SelectItem value="_none">No case</SelectItem>
|
||||
{filteredCases.map((c) => (
|
||||
<SelectItem key={c.id} value={c.id}>
|
||||
{c.case_number} — {c.title}
|
||||
</SelectItem>
|
||||
))}
|
||||
</SelectContent>
|
||||
</Select>
|
||||
<SearchableSelect
|
||||
value={caseId ?? "_none"}
|
||||
onValueChange={(v) => setCaseId(v === "_none" ? null : v)}
|
||||
placeholder="No case"
|
||||
searchPlaceholder="Search cases…"
|
||||
emptyText="No cases found."
|
||||
options={[
|
||||
{ value: "_none", label: "No case" },
|
||||
...filteredCases.map((c) => ({
|
||||
value: c.id,
|
||||
label: `${c.case_number} — ${c.title}`,
|
||||
keywords: `${c.case_number} ${c.title}`,
|
||||
})),
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
|
||||
Reference in New Issue
Block a user