Files
fusion/packages/dashboard/app/components/MailboxStructuralItem.css
gsxdsm 98ad663011 FN-8872: add structural mail reports from chat
Add a report-oriented mail workflow that turns completed chat responses into structured, reviewable messages.

- Render structural report items with dedicated visual treatment and tests across mail surfaces.
- Add report-mode composer fields and route Send as report handoffs from completed chat responses.
- Document the mail/chat workflow and publish a Fusion changeset.

Files changed:
 .changeset/fn-8872-structural-mail-ui.md           |   7 +
 docs/dashboard-guide.md                            |   3 +
 packages/dashboard/app/App.tsx                     |   9 +
 packages/dashboard/app/components/ChatView.tsx     |  36 ++--
 packages/dashboard/app/components/MailboxModal.tsx |  28 ++-
 .../app/components/MailboxStructuralItem.css       |  73 +++++++
 .../app/components/MailboxStructuralItem.tsx       | 100 ++++++++++
 packages/dashboard/app/components/MailboxView.tsx  |  50 ++++-
 .../dashboard/app/components/MessageComposer.css   |  18 ++
 .../dashboard/app/components/MessageComposer.tsx   |  57 +++++-
 .../__tests__/ChatMailReportRouting.test.tsx       | 144 ++++++++++++++
 .../__tests__/ChatView.send-as-report.test.tsx     |  96 +++++++++
 .../__tests__/MailboxStructuralItem.test.tsx       |  90 +++++++++
 .../MailboxStructuralMail.surfaces.test.tsx        | 217 +++++++++++++++++++++
 .../app/components/__tests__/MailboxView.test.tsx  |  28 +++
 .../__tests__/MessageComposer.report-mode.test.tsx | 106 ++++++++++
 .../components/__tests__/chatReportHandoff.test.ts |  26 +++
 .../dashboard/app/components/chatReportHandoff.ts  |  65 ++++++
 .../app/components/dashboard/MainContent.tsx       |   4 +
 .../dashboard/app/components/dashboard/types.ts    |   3 +
 20 files changed, 1135 insertions(+), 25 deletions(-)

Fusion-Task-Id: FN-8872

Fusion-Task-Lineage: 55e4bf5e-e7f3-48a5-8084-4090ab24710a

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-08-09 06:07:01 -07:00

74 lines
1.8 KiB
CSS

/* FNXC:StructuralMail 2026-08-09-09:09: Reports and approval references need a compact structural treatment without changing ordinary mail. */
.mailbox-kind-badge {
border-radius: var(--radius-sm);
display: inline-flex;
font-size: var(--font-size-xs);
font-weight: var(--font-weight-medium);
margin-inline-start: var(--space-xs);
padding: var(--space-2xs) var(--space-xs);
}
.mailbox-kind-badge--report {
background: color-mix(in srgb, var(--color-info) 16%, transparent);
color: var(--color-info);
}
.mailbox-kind-badge--approval {
background: color-mix(in srgb, var(--color-warning) 16%, transparent);
color: var(--color-warning);
}
.mailbox-structural-report,
.mailbox-structural-approval {
border: var(--border) solid var(--border-subtle);
border-radius: var(--radius-md);
margin-block-start: var(--space-md);
padding: var(--space-md);
}
.mailbox-structural-report h3,
.mailbox-report-section h4 {
margin-block: 0 var(--space-sm);
}
.mailbox-report-section + .mailbox-report-section {
border-block-start: var(--border) solid var(--border-subtle);
margin-block-start: var(--space-md);
padding-block-start: var(--space-md);
}
.mailbox-inline-approval {
display: grid;
gap: var(--space-sm);
}
.mailbox-inline-approval-actions {
display: flex;
flex-wrap: wrap;
gap: var(--space-sm);
}
.mailbox-inline-approval textarea {
min-height: var(--space-3xl);
}
.mailbox-inline-approval button:focus-visible {
outline: var(--focus-ring-strong);
}
.mailbox-approval-unresolvable,
.mailbox-inline-approval-status {
color: var(--text-muted);
}
@media (max-width: 768px) {
.mailbox-structural-report,
.mailbox-structural-approval {
padding: var(--space-sm);
}
.mailbox-inline-approval-actions .btn {
min-height: var(--space-2xl);
}
}