From f969cfed445b15e4ef84d52cc14b082118840509 Mon Sep 17 00:00:00 2001 From: debu-2 Date: Mon, 5 Oct 2026 22:22:18 +0530 Subject: [PATCH] inbox streamlining --- frontend/src/components/AgAgentPanel.jsx | 50 +++- frontend/src/components/MailDetail.jsx | 336 ++++++++++++++++++----- frontend/src/components/MailboxView.jsx | 11 + frontend/src/styles.css | 89 ++++-- 4 files changed, 382 insertions(+), 104 deletions(-) diff --git a/frontend/src/components/AgAgentPanel.jsx b/frontend/src/components/AgAgentPanel.jsx index 55d2c45..ebac062 100644 --- a/frontend/src/components/AgAgentPanel.jsx +++ b/frontend/src/components/AgAgentPanel.jsx @@ -76,9 +76,26 @@ function metricTotal(stats) { return cards.reduce((sum, card) => sum + (stats[card.key] || 0), 0); } +function emailContextSummary(email) { + const text = (email?.body_text || email?.snippet || "").trim(); + if (!text) return "Open message loaded — summary will appear here."; + return text.length > 160 ? `${text.slice(0, 157)}…` : text; +} + +function emailContextActions(email) { + const text = (email?.body_text || email?.snippet || "").toLowerCase(); + const actions = []; + if (text.includes("check") && text.includes("inbox")) actions.push("Check inbox"); + if (text.includes("repl")) actions.push("Review replies"); + if (text.includes("attach")) actions.push("Review attachments"); + if (!actions.length) actions.push("Review message", "Draft a reply"); + return actions.slice(0, 3); +} + export default function AgAgentPanel({ account, emails, + contextEmail, focus, insight, loading = false, @@ -95,9 +112,10 @@ export default function AgAgentPanel({ const firstName = account?.first_name || "there"; const allMetricsZero = metricTotal(stats) === 0; const hasQuery = agentQuery.trim().length > 0; + const emailContextMode = Boolean(contextEmail) && !insight; const showOnboarding = !insight && !loading && mailboxEmpty && isBrandNewMailbox; const showQuietEmpty = !insight && !loading && mailboxEmpty && !isBrandNewMailbox; - const showFullPanel = !insight && !loading && !mailboxEmpty; + const showFullPanel = !insight && !loading && !mailboxEmpty && !emailContextMode; function submitAgentQuery(event) { event.preventDefault(); @@ -108,7 +126,7 @@ export default function AgAgentPanel({ } return ( -
+