From 15043f0b0c57f235d3f94cb18b8adab7dc1fe302 Mon Sep 17 00:00:00 2001 From: alma Date: Thu, 1 May 2025 21:20:17 +0200 Subject: [PATCH] courrier preview --- app/courrier/page.tsx | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/app/courrier/page.tsx b/app/courrier/page.tsx index 995b9c78..e71bd0d3 100644 --- a/app/courrier/page.tsx +++ b/app/courrier/page.tsx @@ -195,6 +195,7 @@ export default function CourrierPage() { const [newPassword, setNewPassword] = useState(''); const [editLoading, setEditLoading] = useState(false); const [deleteLoading, setDeleteLoading] = useState(false); + const [selectedColor, setSelectedColor] = useState(''); // Use the reducer-managed values directly instead of tracked separately const [searchQuery, setSearchQuery] = useState(''); @@ -671,6 +672,7 @@ export default function CourrierPage() { const updatedAccount = accounts.find(a => a.id === account.id); if (updatedAccount) { setAccountToEdit(updatedAccount as any); + setSelectedColor(updatedAccount.color || ''); setShowEditModal(true); } else { toast({ @@ -918,6 +920,8 @@ export default function CourrierPage() { setEditLoading(false); setAccountToEdit(null); setNewPassword(''); + setSelectedColor(''); + window.location.reload(); } }}> @@ -929,7 +933,7 @@ export default function CourrierPage() { try { const formElement = e.target as HTMLFormElement; const displayName = (formElement.querySelector('#display-name') as HTMLInputElement).value; - const color = (formElement.querySelector('input[name="color"]:checked') as HTMLInputElement)?.value || accountToEdit.color; + const color = selectedColor; // If password is changed, test the connection first if (newPassword) { @@ -994,6 +998,8 @@ export default function CourrierPage() { )); // Clear accountToEdit to ensure fresh data on next edit setAccountToEdit(null); + // Force a page refresh to reset all UI states + window.location.reload(); } catch (err) { toast({ title: 'Error', description: err instanceof Error ? err.message : 'Failed to update account settings', variant: 'destructive' }); } finally { @@ -1034,15 +1040,17 @@ export default function CourrierPage() { id={`color-${index}`} name="color" value={color} - defaultChecked={accountToEdit?.color === color} + checked={selectedColor === color} + onChange={() => setSelectedColor(color)} className="sr-only" /> @@ -1055,7 +1063,10 @@ export default function CourrierPage() {