From 3cb312e6eca31a8db01385de9f86f70efe713404 Mon Sep 17 00:00:00 2001 From: lorentz Date: Wed, 1 Apr 2026 08:08:59 -0400 Subject: [PATCH] feat: live client-side recipient filtering with match count, no reload needed --- app/admin/sync/mimecast/page.tsx | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/app/admin/sync/mimecast/page.tsx b/app/admin/sync/mimecast/page.tsx index d797283..da64e89 100644 --- a/app/admin/sync/mimecast/page.tsx +++ b/app/admin/sync/mimecast/page.tsx @@ -788,9 +788,12 @@ function HeldMailTab() { } }; - const filtered = policyFilter - ? messages.filter(m => m.policyInfo?.toLowerCase().includes(policyFilter.toLowerCase())) - : messages; + const recipientLower = recipient.trim().toLowerCase(); + const filtered = messages.filter(m => { + if (recipientLower && !m.to?.toLowerCase().includes(recipientLower) && !m.toDisplay?.toLowerCase().includes(recipientLower)) return false; + if (policyFilter && !m.policyInfo?.toLowerCase().includes(policyFilter.toLowerCase())) return false; + return true; + }); const policies = [...new Set(messages.map((m: any) => m.policyInfo).filter(Boolean))].sort(); const tenantInfo: any[] = data?.tenants ?? []; @@ -813,13 +816,17 @@ function HeldMailTab() {
- + setRecipient(e.target.value)} - onKeyDown={e => e.key === 'Enter' && load()} className="w-full border rounded-md px-3 py-1.5 text-sm bg-background" />