portal_publico/docs/temas-sazonais/README.md

23 lines
2.0 KiB
Markdown

# Temas Sazonais
> Ver `docs/temas-sazonais/temas-sazonais.md` para o detalhamento técnico. Ver `CLAUDE.md` na raiz para arquitetura geral/transversal do Portal.
Troca sazonal da marca P.I.D. (logo, ícone da sidebar/login, favicon, intro de abertura pós-login) por uma variante temática durante uma janela de datas — hoje só o **Halloween** (mascote "vampiro", ativo em outubro), mas pensado desde já pra outro tema sazonal futuro reaproveitar o mesmo mecanismo. Fora da janela ativa, tudo volta sozinho ao P.I.D. de sempre, sem nenhuma ação manual.
**Status**: confirmado e programado — ativa sozinho todo mês de outubro, sem nenhuma ação manual (ver `temas-sazonais.md`, seção "Status atual").
Durante o Halloween, o tema também inclui:
- Uma animação de "susto" ao clicar na logo (substitui a piscada de olhos normal).
- Teias de aranha decorativas nos cantos do login e da tela Principal, com uma aranha animada que pode ser "morta" ao clicar (persiste entre carregamentos; atalho Tab+B reseta todas de volta).
- Um toggle "Temas sazonais" no menu da conta, pra o próprio usuário desligar (preferência pessoal, ou acessibilidade — ex.: aracnofobia).
## Onde mexer
- `static/js/seasonal-theme.js` — toda a lógica: checagem de data/opt-out, troca de ícone/favicon, teias de aranha, óbito persistido, atalho Tab+B.
- `static/css/halloween-cobweb.css` — desenho/animação da teia de aranha, aranha e caveira.
- `static/css/login-intro-halloween.css` + `static/js/login-intro-halloween.js` — intro de abertura pós-login alternativa.
- `static/js/sidebar-brand.js` / `static/js/login-logo-blink.js` — aplicam a troca de ícone e o susto ao clicar.
- `static/js/account.js` + `components.css` (`.seasonal-theme-toggle`) — toggle de opt-out no menu da conta.
- `static/js/auth.js` — escolhe a intro normal ou a sazonal no sucesso do login.
- `static/img/pid-halloween-*.svg` — cópias de referência da marca sazonal (a UI injeta o markup inline, não referencia esses arquivos diretamente).