feat(nogglesrails): auto-link propdates to rail pages#123
Conversation
Each rail funded by a Base proposal now surfaces that proposal's onchain propdates in an "Updates" section, instead of hand-written copy. Adds a proposalNumber field to the 9 Base-funded rails and a client-side section that reuses the already-cached /api/propdates/enriched endpoint, keeping the rail page statically prerendered (no added SSR/ISR cost). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
@mtlouzada is attempting to deploy a commit to the r4to's projects Team on Vercel. A member of the Team first needs to authorize it. |
Automated multi-agent review — approve with one nitReviewed in an isolated worktree by parallel Opus reviewers with adversarial verification. The design is sound: the 🟠 Medium — "View all updates" deep-link lands on the wrong tab
Fix (pick one):
|
The nogglesrails 'View all updates' link points to
/proposals/base/{n}?tab=propdates, but the detail tabs were uncontrolled
(defaultValue="details") and nothing read the param, so users landed on
Details. Tabs are now controlled and honor ?tab=votes|propdates once the
target tab is revealed post-mount; unknown values fall back to Details.
Adds an e2e regression spec that exercises the deep link against a
proposal with real propdates (auto-skips when the env has none).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Nit fixed in 1b5b814. |
Summary
proposalNumbernos 9 rails financiados por propostas da Base (validados contra produção)./api/propdates/enriched(já cacheado, revalidate=300 + CDN), então a página do rail continua estática (●) — sem custo novo de SSR/ISR.Changes
src/content/nogglesrails.ts— novo campo opcionalproposalNumber+ preenchido nos 9 rails de proposta Base (4, 20, 25, 33, 41, 63, 68, 73, 89). Rails de Snapshot/Nouns/orgânicos ficam sem o campo (no-op).src/components/nogglesrails/RailPropdates.tsx(novo) — client component que busca/api/propdates/enriched, casa porproposalNumbere renderiza com oPropdateCardexistente. Retornanullquando não há propdate.src/app/[locale]/nogglesrails/[slug]/page.tsx— renderiza a seção entre a descrição e a galeria, só quando háproposalNumber.messages/{en,pt-br}/installations.json— strings novas (Updates / Atualizações).Test plan
/nogglesrails/rio-de-janeiro-delta→ deve mostrar a seção "Updates" com os propdates reais da proposta refactor: improve proposal interaction components with shadcn consistency #20./nogglesrails/silverado(proposta Nouns, sem propdate na Base) → NÃO deve mostrar a seção (gating correto)./pt-br/nogglesrails/rio-de-janeiro-delta→ seção "Atualizações".Generated with Claude Code