diff --git a/src/routes/documents.templates.$templateId.tsx b/src/routes/documents.templates.$templateId.tsx index c038710..94a0859 100644 --- a/src/routes/documents.templates.$templateId.tsx +++ b/src/routes/documents.templates.$templateId.tsx @@ -70,6 +70,7 @@ function TemplateDetailPage() { const [docName, setDocName] = useState("Document"); const [saving, setSaving] = useState(false); const [generating, setGenerating] = useState(false); + const [firm, setFirm] = useState(null); useEffect(() => { supabase.from("document_templates").select("*").eq("id", templateId).single().then(({ data }) => { @@ -81,9 +82,21 @@ function TemplateDetailPage() { setFields(Array.isArray(data.fields) ? (data.fields as unknown as FieldDef[]) : []); setDocName(data.name); }); + supabase.from("firm_settings").select("*").maybeSingle().then(({ data }) => setFirm(data as FirmSettings | null)); }, [templateId]); - const merged = useMemo(() => mergeBody(body, values), [body, values]); + const autoValues = useMemo>(() => { + const v: Record = { + today: formatToday(), + firm_header: buildFirmHeader(firm), + re_line: values.re?.trim() ? `Re: ${values.re.trim()}\n\n` : "", + certified_mail_line: values.certified_mail_no?.trim() ? `VIA CERTIFIED MAIL NO. ${values.certified_mail_no.trim()}\n` : "", + fedex_line: values.fedex_no?.trim() ? `VIA FEDEX TRACKING NO. ${values.fedex_no.trim()}\n` : "", + }; + return v; + }, [firm, values.re, values.certified_mail_no, values.fedex_no]); + + const merged = useMemo(() => mergeBody(body, { ...autoValues, ...values }), [body, values, autoValues]); const saveTemplate = async () => { setSaving(true);