disclosure-bureau/web/components
Luiz Gustavo 067ce7bee6
Some checks failed
CI / Web — typecheck + lint + build (push) Failing after 1m23s
CI / Scripts — Python smoke (push) Failing after 41s
CI / Web — npm audit (push) Failing after 37s
CI / Retrieval — golden set (Recall@5 + MRR) (push) Failing after 5s
ux(nav): mobile hamburger + slide-in drawer for narrow viewports
The mobile audit caught the primary nav overflowing past the viewport edge
("Programs" was clipped on the right at 390px), and sub-pages on mobile had
no access to the entity hub at all because BureauNav doesn't carry it.

- New MobileNav (client) — hamburger button that opens a right-side slide-in
  panel containing the full primary nav, locale toggle and auth pill. ESC,
  backdrop click, link click, and the close button all dismiss; body scroll
  locks while open; focus jumps to the close button so screen readers
  announce the dialog and keyboard users can dismiss in one keystroke.
- SiteHeader — hide desktop nav <md, show hamburger <md. Brand and trigger
  are the only two elements in the row on mobile, so the overflow stops.
- BureauNav — same treatment: keep the breadcrumb pills, hide the desktop
  right cluster <md, surface the hamburger <md. Means a case-file reader on
  mobile can now jump to /sightings, /witnesses etc without going home
  first.
- MobileNav imports LocaleToggleClient directly (not the server-component
  LocaleToggle wrapper, which would fail Next.js's "client cannot import
  server" rule and break the build).

Verified live at 390×844: drawer opens with all 7 links stacked + toggle +
Sign in; main nav row no longer overflows.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-29 01:09:45 -03:00
..
fm baseline: Disclosure Bureau pipeline + Next.js UI + Supabase stack 2026-05-17 22:44:36 -03:00
anomaly-highlights.tsx W0+W1+W1.2: security hardening, observability, autocomplete, glitchtip, forgejo CI 2026-05-23 18:18:42 -03:00
auth-bar.tsx ux(nav): unify navbar palette, localize, fix locale-aware metadata 2026-05-28 17:50:10 -03:00
batch-monitor.tsx baseline: Disclosure Bureau pipeline + Next.js UI + Supabase stack 2026-05-17 22:44:36 -03:00
batch-progress-banner.tsx baseline: Disclosure Bureau pipeline + Next.js UI + Supabase stack 2026-05-17 22:44:36 -03:00
bureau-nav.tsx ux(nav): mobile hamburger + slide-in drawer for narrow viewports 2026-05-29 01:09:45 -03:00
bureau-snapshot.tsx W4: bilingual EN + PT-BR Investigation Bureau (CLAUDE.md §3 contract) 2026-05-24 12:02:59 -03:00
case-library.tsx fix(i18n): render case files in one language per locale 2026-05-25 11:57:46 -03:00
chat-bubble.tsx W5.1: enthusiast pivot — strip detective surfacing, magazine homepage 2026-05-24 14:09:46 -03:00
command-palette.tsx baseline: Disclosure Bureau pipeline + Next.js UI + Supabase stack 2026-05-17 22:44:36 -03:00
doc-bureau-panel.tsx W5.1: enthusiast pivot — strip detective surfacing, magazine homepage 2026-05-24 14:09:46 -03:00
doc-list-filters.tsx baseline: Disclosure Bureau pipeline + Next.js UI + Supabase stack 2026-05-17 22:44:36 -03:00
doc-reading-view.tsx add clean LLM reading version of documents (the core goal) 2026-05-21 17:23:36 -03:00
doc-renderer-v2.tsx fix: UAP flag renders cleanly when type/rationale absent 2026-05-21 16:42:37 -03:00
entity-attributes.tsx W0+W1+W1.2: security hardening, observability, autocomplete, glitchtip, forgejo CI 2026-05-23 18:18:42 -03:00
entity-graph-mini.tsx baseline: Disclosure Bureau pipeline + Next.js UI + Supabase stack 2026-05-17 22:44:36 -03:00
entity-list-filter.tsx baseline: Disclosure Bureau pipeline + Next.js UI + Supabase stack 2026-05-17 22:44:36 -03:00
entity-list-page.tsx W5.3 (Phase 3A): entity summaries — sub-pages get magazine-grade prose 2026-05-24 15:37:01 -03:00
entity-mention-chunks.tsx baseline: Disclosure Bureau pipeline + Next.js UI + Supabase stack 2026-05-17 22:44:36 -03:00
entity-modal.tsx baseline: Disclosure Bureau pipeline + Next.js UI + Supabase stack 2026-05-17 22:44:36 -03:00
entity-relations.tsx rebuild entity layer from Sonnet-vision reextract pipeline 2026-05-21 12:20:24 -03:00
featured-case.tsx fix(i18n): render case files in one language per locale 2026-05-25 11:57:46 -03:00
frontmatter-panel.tsx baseline: Disclosure Bureau pipeline + Next.js UI + Supabase stack 2026-05-17 22:44:36 -03:00
full-doc-renderer.tsx baseline: Disclosure Bureau pipeline + Next.js UI + Supabase stack 2026-05-17 22:44:36 -03:00
greatest-hits.tsx W5.1: enthusiast pivot — strip detective surfacing, magazine homepage 2026-05-24 14:09:46 -03:00
hero-banner.tsx W5.7 (Phase 3E): perf + a11y + OG images 2026-05-24 16:55:35 -03:00
iconic-cases.tsx W5.6 (Phase 3D): Iconic Cases — curated rail on homepage 2026-05-24 16:50:52 -03:00
indexer-status.tsx baseline: Disclosure Bureau pipeline + Next.js UI + Supabase stack 2026-05-17 22:44:36 -03:00
inline-citation.tsx baseline: Disclosure Bureau pipeline + Next.js UI + Supabase stack 2026-05-17 22:44:36 -03:00
job-status-poller.tsx W4: bilingual EN + PT-BR Investigation Bureau (CLAUDE.md §3 contract) 2026-05-24 12:02:59 -03:00
locale-toggle-client.tsx ux(nav): unify navbar palette, localize, fix locale-aware metadata 2026-05-28 17:50:10 -03:00
locale-toggle.tsx W5.8: language toggle in the navbar (whole-site PT-BR / EN) 2026-05-24 22:54:37 -03:00
markdown-body.tsx baseline: Disclosure Bureau pipeline + Next.js UI + Supabase stack 2026-05-17 22:44:36 -03:00
mobile-nav.tsx ux(nav): mobile hamburger + slide-in drawer for narrow viewports 2026-05-29 01:09:45 -03:00
nav-link.tsx ux(nav): unify navbar palette, localize, fix locale-aware metadata 2026-05-28 17:50:10 -03:00
portal-grid.tsx W5.1: enthusiast pivot — strip detective surfacing, magazine homepage 2026-05-24 14:09:46 -03:00
quick-launch.tsx W5.1: enthusiast pivot — strip detective surfacing, magazine homepage 2026-05-24 14:09:46 -03:00
reader-content.tsx baseline: Disclosure Bureau pipeline + Next.js UI + Supabase stack 2026-05-17 22:44:36 -03:00
red-team-request-button.tsx W3.8: Schneier red-team detective + /h/[hypothesisId] dossier page 2026-05-23 21:48:12 -03:00
search-autocomplete.tsx W0+W1+W1.2: security hardening, observability, autocomplete, glitchtip, forgejo CI 2026-05-23 18:18:42 -03:00
search-panel.tsx ux(search): redesign /search from dev-tool to magazine 2026-05-28 17:58:41 -03:00
sigma-graph-client.tsx baseline: Disclosure Bureau pipeline + Next.js UI + Supabase stack 2026-05-17 22:44:36 -03:00
sigma-graph.tsx baseline: Disclosure Bureau pipeline + Next.js UI + Supabase stack 2026-05-17 22:44:36 -03:00
site-header.tsx ux(nav): mobile hamburger + slide-in drawer for narrow viewports 2026-05-29 01:09:45 -03:00
stats-dashboard.tsx baseline: Disclosure Bureau pipeline + Next.js UI + Supabase stack 2026-05-17 22:44:36 -03:00
timeline-view.tsx phase-0: kill stubs, ship 20 curated anchor events, configure SMTP 2026-05-18 00:44:17 -03:00