Skip to content

feat(theme): brutal treatment system-wide#3

Merged
W3SK3RRX merged 3 commits intomasterfrom
feat/brutal-system-wide
Apr 19, 2026
Merged

feat(theme): brutal treatment system-wide#3
W3SK3RRX merged 3 commits intomasterfrom
feat/brutal-system-wide

Conversation

@paulinett1508-dev
Copy link
Copy Markdown
Collaborator

Summary

  • Refactor single-point em frontend/src/index.css que redefine TODAS as primitivas .tf-* (panel, btn, input, frame, badge, progress, sidebar-link, etc.) com tratamento brutal: bordas 4px, zero radius, zero shadow, zero gradient, zero transform animation
  • Propaga automaticamente para as 145+ ocorrencias em 7 arquivos (Dashboard, Tasks, Register, Achievements, Leaderboard, Layout, CharacterEditor) — nenhum JSX tocado
  • Palette --tf-* preservada intacta; apenas o tratamento visual mudou
  • A11y reforcada: :focus-visible com outline 2px primary em todos interativos; contraste de placeholder corrigido (6.5:1 vs 4.4:1 antes)

Contexto

Continuacao de #1. Login ja havia sido refatorado no brutal (commits d1275eb + ed6b7dd). Esta PR expande o mesmo tratamento para o sistema inteiro via redefinicao das primitivas CSS.

Anti-Frankenstein (governanca CSS)

  • Zero hardcoded #hex nas novas definicoes — tudo via var(--tf-*)
  • Zero !important
  • Zero duplicacao de classes
  • Edit unica propaga, nenhum JSX precisou ser modificado

Review passada

Agent frontend-reviewer (via agnostic-core) apontou 3 ALTAs — todas corrigidas neste commit:

  • Placeholder --tf-text-dim em --tf-bg-inset contraste 4.4:1 (fail AA) → trocado para --tf-text-muted (6.5:1)
  • color: var(--tf-primary) no focus dos inputs mudava cor do texto ja digitado → removido
  • .gc-summary nao tinha :focus-visible → adicionado

Test plan

  • npm run dev — abrir http://localhost:5173/login — confirmar Login brutal OK
  • Navegar Dashboard, Tasks, Achievements, Leaderboard, Register — confirmar transicao visual consistente
  • Tab keyboard no sidebar e nos forms — outline 2px amarelo deve aparecer em cada elemento focado
  • npm run build — build passa sem erro
  • Eruda aba Report em mobile — conferir layout nao quebrado em 375px
  • Rodar axe DevTools (Chrome extension) na /login e /dashboard — zero erros de contraste

Escopo NAO incluido

  • Register.tsx, Dashboard.tsx, Tasks.tsx etc. nao tiveram JSX refatorado — herdam o estilo brutal automaticamente via redefinicao das classes. Se alguma pagina tiver Tailwind utility conflitante (ex.: rounded-lg sobrepondo border-radius: 0), ajustar caso a caso em PR futura.

🤖 Generated with Claude Code

Paulinete Miranda and others added 3 commits April 17, 2026 18:21
Refatora Login.tsx para layout brutal vertical mobile-first:
- Login no topo (Acessar terminal)
- Guild Console abaixo como <details> nativo, iniciando colapsado
- IBM Plex Mono unica, bordas 4px (3px mobile), zero shadow, 0 radius
- Paleta TaskForge preservada (--tf-*) via novos tokens --bx-line/--bx-line-w
- Layer brutal escopado .bx-/.lg-/.gc- (anti-frankenstein: zero hardcode, sem
  duplicacao das classes .tf-*, sem inline styles, sem !important)

Acessibilidade (frontend-reviewer agent) — corrigido:
- aria-describedby liga inputs aos erros inline
- Espaco antes do <Link> "Criar conta" para screen readers
- focus-visible com outline 2px gold + offset 2px em inputs e botao
- .lg-meta e .gc-tagline trocadas para tf-text-main (contraste >= 7:1)
- @Keyframes movido para fora do @layer (compat cross-browser)
- @import de fontes movido para o topo do CSS (warning PostCSS resolvido)

Mantidos intactos:
- Tokens --tf-* (Dashboard/Tasks/Register dependem)
- Logica do Login (zod, react-hook-form, useAuthStore, navigate)
- frontend/vite.config.ts (Eruda)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ition

Single-point change in index.css que propaga o tratamento brutal de headline
para todas as 38+ ocorrencias de .tf-title em 7 arquivos:
  - pages/Login, Register, Dashboard, Tasks, Achievements, Leaderboard
  - components/character/CharacterEditor, components/layout/Layout

Antes (pixel arcade vibe):
  font-family: 'Pixelify Sans'
  letter-spacing: 0.04em

Agora (brutal):
  font-family: var(--bx-font-mono)   /* IBM Plex Mono */
  font-weight: 700
  text-transform: uppercase
  letter-spacing: -0.01em

Sem mexer em JSX (anti-frankenstein: editar o arquivo certo, propagar via
token unico). Tracking maior em eyebrows continua via Tailwind utility
tracking-[0.18em] aplicado ja no JSX.

Bonus: removida a fonte Pixelify Sans do @import (nao mais usada em
nenhum lugar do codebase apos esta mudanca).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Single-point CSS refactor em frontend/src/index.css — redefine TODAS as
primitivas .tf-* (panel, panel-inset, frame, btn, btn-primary/secondary/ghost,
input, label, badge, progress, progress-bar, sidebar-link, sidebar-link-active,
screen, muted) com tratamento brutal. Propaga automaticamente para as 145+
ocorrencias em 7 arquivos de pages/componentes.

Tratamento brutal aplicado:
- Borda 4px (3px mobile via --bx-line-w) solida em --tf-text-main
- border-radius: 0 em todas as primitivas (badge era 999px, progress era 999px)
- box-shadow: none (removidas as sombras 4px 4px 0 e gradient shadows)
- Backgrounds solidos (removidos linear-gradients)
- Zero transform animations (hover translate removido, active translate removido)
- :hover via inversao de cor (bg ↔ text)
- Body bg: solido + grid pattern (removido overlay de gradient)

Fontes:
- body e .tf-screen usam var(--bx-font-mono) (IBM Plex Mono)
- .tf-btn, .tf-input, .tf-label, .tf-badge, .tf-sidebar-link, .tf-progress
  todos com font-family mono

Acessibilidade (frontend-reviewer agent pos-refactor):
- .tf-input/:lg-input focus-visible com outline 2px primary + offset 2px
- .gc-summary :focus-visible adicionado (keyboard nav do collapsible)
- .tf-btn/.tf-sidebar-link :focus-visible idem
- Placeholders trocados para --tf-text-muted (contraste 6.5:1, vs 4.4:1 falhando)
- Removido color override no focus dos inputs (evita mudar cor do texto ja digitado)

Anti-frankenstein:
- Zero hardcoded #hex nas novas definicoes (todas via var)
- Zero !important
- Zero duplicacao de classes
- Tokens --tf-* preservados intactos (palette nao mudou)
- Edit unica propaga — nenhum JSX tocado

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@W3SK3RRX W3SK3RRX merged commit 57c08f4 into master Apr 19, 2026
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.

2 participants