fix(05-04): sync defaultEmail into state after hydration

This commit is contained in:
Chandler Copeland
2026-03-20 00:55:22 -06:00
parent 0a719c9d60
commit f8897cce34

View File

@@ -1,5 +1,5 @@
'use client';
import { useState } from 'react';
import { useState, useEffect } from 'react';
import { useRouter } from 'next/navigation';
import { TextFillForm } from './TextFillForm';
@@ -21,6 +21,10 @@ function isValidEmail(email: string): boolean {
export function PreparePanel({ docId, defaultEmail, clientName, currentStatus }: PreparePanelProps) {
const router = useRouter();
const [recipients, setRecipients] = useState(defaultEmail ?? '');
// Sync if defaultEmail arrives after initial render (streaming / hydration timing)
useEffect(() => {
if (defaultEmail) setRecipients(defaultEmail);
}, [defaultEmail]);
const [textFillData, setTextFillData] = useState<Record<string, string>>({});
const [loading, setLoading] = useState(false);
const [result, setResult] = useState<{ ok: boolean; message: string } | null>(null);