[story #119] Frontend: Mailbox Owner Dashboard (INB-1.5-A-S4) #143

Closed
saa wants to merge 1 commits from fe/INB-1.5-A-ui-impl into release/v1.5
Collaborator

Story #119 — Implement Mailbox Owner Dashboard frontend

Pattern: B (impl). Domain: frontend. Assignee: @frontend-engineer.

Design bundle ref: #118 (closed, cto-approved).
API contract ref: #116 (closed, cto-approved).
A11y level: WCAG 2.2 Level AA.

Acceptance criteria

  • Dashboard renders mailbox list with search/filter.
  • Archive / mark-processed actions wired to backend API contract.
  • Responsive and passes design-system lint.

Deliverables

  • UI component: MailboxDashboard — three-column layout (sidebar + list + detail) per UX spec.
  • API adapter: Type-safe client for /api/v1/mailbox/messages endpoints (list, get, patch status).
  • Tests: 16 unit/component tests (rendering, search, filter, status update, error, a11y, keyboard).
  • Storybook stories: 4 stories (Default, WithDetail, EmptyState, WithPagination) with a11y addon.
  • Observability: useErrorReporting and usePerformanceMetrics hooks integrated.
  • Design-system lint: Clean — all colors/spacing/typography use token vars.

Component reuse

  • AppShell, SidebarNav, ResponsiveGrid (from D-S3 #134)
  • StatusBadge, Loading, EmptyState (from D-S3 #134)
  • Design-system tokens (tokens.css, tokens.ts)

Co-Authored-By: Paperclip noreply@paperclip.ing

## Story #119 — Implement Mailbox Owner Dashboard frontend **Pattern:** B (impl). **Domain:** frontend. **Assignee:** @frontend-engineer. **Design bundle ref:** [#118](/jc-capital/inboxos/issues/118) (closed, cto-approved). **API contract ref:** [#116](/jc-capital/inboxos/issues/116) (closed, cto-approved). **A11y level:** WCAG 2.2 Level AA. ### Acceptance criteria - [x] Dashboard renders mailbox list with search/filter. - [x] Archive / mark-processed actions wired to backend API contract. - [x] Responsive and passes design-system lint. ### Deliverables - **UI component:** `MailboxDashboard` — three-column layout (sidebar + list + detail) per UX spec. - **API adapter:** Type-safe client for `/api/v1/mailbox/messages` endpoints (list, get, patch status). - **Tests:** 16 unit/component tests (rendering, search, filter, status update, error, a11y, keyboard). - **Storybook stories:** 4 stories (Default, WithDetail, EmptyState, WithPagination) with a11y addon. - **Observability:** `useErrorReporting` and `usePerformanceMetrics` hooks integrated. - **Design-system lint:** Clean — all colors/spacing/typography use token vars. ### Component reuse - `AppShell`, `SidebarNav`, `ResponsiveGrid` (from D-S3 #134) - `StatusBadge`, `Loading`, `EmptyState` (from D-S3 #134) - Design-system tokens (`tokens.css`, `tokens.ts`) Co-Authored-By: Paperclip <noreply@paperclip.ing>
saa added 1 commit 2026-06-10 23:49:33 +00:00
- MailboxDashboard component with email list, search/filter, detail view
- Type-safe API adapter for mailbox endpoints (listMessages, getMessage, patchStatus)
- MailboxApiError class for structured error handling
- Client-side observability hooks (useErrorReporting, usePerformanceMetrics)
- 16 unit tests covering rendering, interactions, accessibility, error states
- Storybook stories with a11y addon enabled (4 stories: Default, WithDetail, EmptyState, WithPagination)
- Conforms to UX spec (#118) and API contract (#116)
- Reuses design-system tokens, AppShell, SidebarNav, StatusBadge components
- WCAG 2.2 Level AA: role=list, aria-label, aria-current, keyboard nav, focus-visible
- Responsive: three-column (lg), two-column (md), single-column (sm)
- Design-system lint clean: no hardcoded colors, all tokens/var() references

Co-Authored-By: Paperclip <noreply@paperclip.ing>
saa closed this pull request 2026-06-11 01:07:54 +00:00
Author
Collaborator

Duplicate of #119. Closing to eliminate half-filled mirror. Original story carries full metadata.

Duplicate of #119. Closing to eliminate half-filled mirror. Original story carries full metadata.

Pull request closed

Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: coreci/inboxos-v1#143