disclosure-bureau/web/app
Luiz Gustavo 3e88a64933
Some checks failed
CI / Web — typecheck + lint + build (push) Failing after 1m16s
CI / Scripts — Python smoke (push) Failing after 36s
CI / Web — npm audit (push) Failing after 28s
CI / Retrieval — golden set (Recall@5 + MRR) (push) Failing after 4s
W5.8: language toggle in the navbar (whole-site PT-BR / EN)
User: "quero que o usuário possa escolher o idioma na navbar, e então leia
o site todo em seu idioma."

The locale infrastructure already existed (cookie + getLocale() + every
page renders bilingual). The toggle only lived as a subtle floating
control bottom-left. This surfaces it in the navbars where users expect
it, and confirms whole-site language switching.

  locale-toggle-client.tsx
    - New variant="navbar": gold-amber pill matching the magazine theme
      (PT | EN, active = solid gold). Retro green variant kept for the
      floating fallback.
    - Guard: clicking the already-active language is a no-op.
    - aria-pressed on each button for a11y.

  locale-toggle.tsx: LocaleToggle gains variant passthrough.

  site-header.tsx: <LocaleToggle variant="navbar"> added to the main nav
    (homepage + /sightings /witnesses /objects /locations /operations
    /documents).

  bureau-nav.tsx: optional `locale` prop renders the same toggle pushed
    to the right (ml-auto) on /bureau, /c/[slug], /h/[id], /jobs/[id].
    All four callers now pass locale (getLocale added to h + jobs pages).

Cookie-based: switching sets `locale` cookie + router.refresh(); the
server re-renders every component through getLocale(), so the entire
page — headers, hero, summaries, case narratives, entity cards — flips
language in one click. The floating bottom-left toggle stays as a global
fallback for pages without a navbar (/d, /e, /search, /graph).

Also this session: Sun-Tzu smoke succeeded on the refreshed
CLAUDE_CODE_OAUTH_TOKEN — brief B-0001 written for the green fireballs
("bolas de fogo verdes confinadas ao corredor nuclear... cor espectral
e trajetória quase horizontal que os próprios analistas consideraram
irreconciliáveis com meteoros naturais", 3 pillars). Bulk entity
enrichment resumed in the background.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 22:54:37 -03:00
..
admin baseline: Disclosure Bureau pipeline + Next.js UI + Supabase stack 2026-05-17 22:44:36 -03:00
api W4: bilingual EN + PT-BR Investigation Bureau (CLAUDE.md §3 contract) 2026-05-24 12:02:59 -03:00
auth ship: synthesize 158 entities, AG-UI artifacts, chat persistence, auth flow 2026-05-18 03:52:59 -03:00
bureau W5.8: language toggle in the navbar (whole-site PT-BR / EN) 2026-05-24 22:54:37 -03:00
c/[slug] W5.8: language toggle in the navbar (whole-site PT-BR / EN) 2026-05-24 22:54:37 -03:00
d/[docId] W3.10: clickable detective tiles + quick-launch form + doc bureau panel 2026-05-23 23:33:00 -03:00
documents W5.8: language toggle in the navbar (whole-site PT-BR / EN) 2026-05-24 22:54:37 -03:00
e/[cls] W5.5 (Phase 3C): Sun-Tzu strategist feeder + entity hero illustrations 2026-05-24 16:41:20 -03:00
graph W2: rerank opt-in, analyze_image_region tool, RAG eval, graph cleanup, ADRs 2026-05-23 19:20:09 -03:00
h/[hypothesisId] W5.8: language toggle in the navbar (whole-site PT-BR / EN) 2026-05-24 22:54:37 -03:00
jobs/[id] W5.8: language toggle in the navbar (whole-site PT-BR / EN) 2026-05-24 22:54:37 -03:00
locations W5.1: enthusiast pivot — strip detective surfacing, magazine homepage 2026-05-24 14:09:46 -03:00
objects W5.1: enthusiast pivot — strip detective surfacing, magazine homepage 2026-05-24 14:09:46 -03:00
operations W5.1: enthusiast pivot — strip detective surfacing, magazine homepage 2026-05-24 14:09:46 -03:00
search baseline: Disclosure Bureau pipeline + Next.js UI + Supabase stack 2026-05-17 22:44:36 -03:00
sightings W5.1: enthusiast pivot — strip detective surfacing, magazine homepage 2026-05-24 14:09:46 -03:00
timeline baseline: Disclosure Bureau pipeline + Next.js UI + Supabase stack 2026-05-17 22:44:36 -03:00
witnesses W5.1: enthusiast pivot — strip detective surfacing, magazine homepage 2026-05-24 14:09:46 -03:00
globals.css W5.7 (Phase 3E): perf + a11y + OG images 2026-05-24 16:55:35 -03:00
layout.tsx W5.7 (Phase 3E): perf + a11y + OG images 2026-05-24 16:55:35 -03:00
page.tsx W5.7 (Phase 3E): perf + a11y + OG images 2026-05-24 16:55:35 -03:00
robots.ts W5.4 (Phase 3B): sitemap + robots + Article schema + magazine reading view 2026-05-24 16:09:50 -03:00
sitemap.ts W5.4 followup: hero illustration on /c/[slug] + sitemap fix 2026-05-24 16:16:20 -03:00