diff --git a/src/components/contacts/contacts-link-tab.tsx b/src/components/contacts/contacts-link-tab.tsx index c022448..313ba45 100644 --- a/src/components/contacts/contacts-link-tab.tsx +++ b/src/components/contacts/contacts-link-tab.tsx @@ -14,8 +14,8 @@ import { import { supabase } from "@/integrations/supabase/client"; import { useAuth } from "@/lib/auth"; import { toast } from "sonner"; -import { Plus, Trash2, Mail, Phone, Building2, MapPin, Search, UserPlus } from "lucide-react"; -import { ContactFormDialog, CONTACT_TYPES } from "./contact-form-dialog"; +import { Plus, Trash2, Mail, Phone, Building2, MapPin, Search, UserPlus, Pencil } from "lucide-react"; +import { ContactFormDialog, CONTACT_TYPES, type ContactRecord } from "./contact-form-dialog"; interface LinkedContact { id: string; @@ -55,6 +55,7 @@ export function ContactsLinkTab({ const [loading, setLoading] = useState(true); const [pickerOpen, setPickerOpen] = useState(false); const [createOpen, setCreateOpen] = useState(false); + const [editContact, setEditContact] = useState(null); const [caseLinkRole, setCaseLinkRole] = useState("other"); const load = async () => { @@ -144,6 +145,19 @@ export function ContactsLinkTab({ const linkedIds = useMemo(() => new Set(linked.map((l) => l.contact.id)), [linked]); + const openEdit = async (contactId: string) => { + const { data, error } = await supabase + .from("contacts") + .select("*") + .eq("id", contactId) + .maybeSingle(); + if (error || !data) { + toast.error(error?.message ?? "Could not load contact"); + return; + } + setEditContact(data as ContactRecord); + }; + return ( @@ -235,6 +249,9 @@ export function ContactsLinkTab({ )} + @@ -258,6 +275,12 @@ export function ContactsLinkTab({ await linkContact(saved.id, caseLinkRole); }} /> + { if (!v) setEditContact(null); }} + contact={editContact} + onSaved={() => { setEditContact(null); load(); }} + /> ); diff --git a/src/routeTree.gen.ts b/src/routeTree.gen.ts index 92d70af..908955b 100644 --- a/src/routeTree.gen.ts +++ b/src/routeTree.gen.ts @@ -1335,12 +1335,3 @@ const rootRouteChildren: RootRouteChildren = { export const routeTree = rootRouteImport ._addFileChildren(rootRouteChildren) ._addFileTypes() - -import type { getRouter } from './router.tsx' -import type { createStart } from '@tanstack/react-start' -declare module '@tanstack/react-start' { - interface Register { - ssr: true - router: Awaited> - } -}