Skip to content

Feat/padrao secoes - #31

Merged
johnenderson merged 3 commits into
mainfrom
feat/padrao-secoes
Aug 2, 2026
Merged

Feat/padrao secoes#31
johnenderson merged 3 commits into
mainfrom
feat/padrao-secoes

Conversation

@johnenderson

Copy link
Copy Markdown
Owner

No description provided.

johnenderson and others added 3 commits July 5, 2026 21:53
Barra de reacoes (emoji joinha, fogo e mente explodida) injetada apos
cada h2 dos artigos, reaproveitando a infra dos likes:

- Redis: hash duravel reactions:<likesId> (campo <slug>:<reactionId>,
  HINCRBY), sem TTL, mais um segundo rate limiter (rl:reactions,
  60/60s) via helper generalizado.
- API /api/reactions/[id]: GET com o mapa completo do artigo e POST
  validado por whitelist dupla — likesId de artigo real + slug de h2
  real (extraidos do MDX com github-slugger, o mesmo slugger do
  rehype-slug que gera os ids no DOM, com paridade na contagem de
  duplicatas e acentos).
- Client: SectionReactions injeta as barras via portal apos cada
  h2[id] (padrao do HeadingAnchors), um unico fetch SWR por artigo,
  update otimista com rollback e estado ja-reagi em localStorage.
- getClientIp extraido para src/lib/request.ts e reutilizado na rota
  de likes.

Verificado em build de producao local: GET/POST/400/404 na API,
whitelist aceita slug acentuado (referências), clique gera update
otimista + persistencia no Redis e 8 barras injetadas no artigo do
Karpenter.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- docs/ideias.md: brainstorm de funcionalidades por esforco.
- scripts/check-lol-live.mjs: mostra o que o spectator-v5 reporta
  durante uma partida (util para modos novos como ARAM: Desordem).
- .claude/launch.json: config prod (next start) para o preview.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Antes existiam quatro padroes de cabecalho: home (selo 36px + titulo 24px),
/now (selo 48px + titulo 36px + subtitulo com recuo pendurado), /me (titulo
sem icone) e /uses (rotulo lateral em maiusculas). Agora ha um so.

- SectionHeader compartilhado: selo do icone + titulo + subtitulo opcional +
  acao a direita; usado pelas 18 secoes de home, /now, /me e /uses
- SectionIcon promovido de /now para src/base, com tamanho unico
- escala tipografica: corpo 17px -> 16px e titulo de pagina 48px -> 36px,
  fechando a hierarquia h1 36 > h2 24 > h3 18 > h4 14 (h1 e h2 estavam
  empatados em 36px)
- links de acao das secoes (@usuario, Ver
@vercel

vercel Bot commented Aug 2, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
ojohn.dev Ready Ready Preview Aug 2, 2026 12:20am

@johnenderson
johnenderson merged commit 6d975b4 into main Aug 2, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant