diff --git a/src/frontend/src/components/MailPanel.tsx b/src/frontend/src/components/MailPanel.tsx
index 97c03b5..5aece33 100644
--- a/src/frontend/src/components/MailPanel.tsx
+++ b/src/frontend/src/components/MailPanel.tsx
@@ -66,7 +66,7 @@ export default function MailPanel() {
const filtered = mails.filter((m: any) => {
if (filterFrom && m.from !== filterFrom) return false;
- if (filterUnread && m.is_read) return false;
+ if (filterUnread && ['done', 'failed', 'cancelled'].includes(m.status)) return false;
return true;
});
@@ -98,14 +98,14 @@ export default function MailPanel() {
setSelectedId(m.id)} style={{
padding: '10px 14px', borderBottom: '1px solid var(--line)',
cursor: 'pointer', transition: 'background .15s',
- background: selectedId === m.id ? 'var(--panel2)' : m.is_read ? 'transparent' : '#0a1530',
+ background: selectedId === m.id ? 'var(--panel2)' : ['done', 'failed', 'cancelled'].includes(m.status) ? 'transparent' : '#0a1530',
}}
onMouseEnter={e => e.currentTarget.style.background = 'var(--panel2)'}
- onMouseLeave={e => e.currentTarget.style.background = selectedId === m.id ? 'var(--panel2)' : m.is_read ? 'transparent' : '#0a1530'}
+ onMouseLeave={e => e.currentTarget.style.background = selectedId === m.id ? 'var(--panel2)' : ['done', 'failed', 'cancelled'].includes(m.status) ? 'transparent' : '#0a1530'}
>
- {!m.is_read && }
+ {!['done', 'failed', 'cancelled'].includes(m.status) && }
{m.from || '—'}
→
{m.to || '—'}
@@ -113,7 +113,7 @@ export default function MailPanel() {
{fmtTime(m.created_at)}
{TYPE_ICON[m.type] || '💬'} {m.title}