Home/Componentes/Guia de Tema

Guia de Tema

Guia de Uso

Aprenda como configurar o sistema de temas em seu projeto React usando este framework como base.

Por que configurar manualmente?

Para evitar conflitos de dependências entre diferentes versões do React e problemas com createContext, recomendamos implementar o sistema de temas manualmente em seu projeto. Isso garante maior compatibilidade e controle sobre o tema.

💡 Dica: Esta abordagem é mais robusta e permite customizações específicas para seu projeto.

1. Configuração do CSS Base
Configure as variáveis CSS para os três temas: Light, Dark e High Contrast
globals.css
2. Implementação do Context
Crie o contexto de tema em seu projeto
contexts/ThemeContext.tsx
3. Componente de Toggle de Tema
Crie um componente para alternar entre os temas
components/ThemeToggle.tsx
4. Integração no Layout
Como integrar o ThemeProvider no seu layout principal
app/layout.tsx
5. Exemplo de Uso no Header
Como usar o ThemeToggle em seu header ou navbar
components/Header.tsx
6. Configuração do Tailwind CSS
Configure o Tailwind para usar as variáveis CSS dos temas
tailwind.config.js
Dicas Importantes
Modo Claro: Ideal para trabalho durante o dia, oferece melhor legibilidade em ambientes bem iluminados.
Modo Escuro: Reduz o cansaço visual em ambientes com pouca luz e economiza bateria em telas OLED.
Alto Contraste: Melhora a acessibilidade para usuários com deficiências visuais.

📋 Checklist de Implementação:

  • ✅ Configurar variáveis CSS no globals.css
  • ✅ Criar o ThemeContext
  • ✅ Implementar o ThemeToggle
  • ✅ Adicionar ThemeProvider no layout
  • ✅ Configurar o Tailwind CSS
  • ✅ Testar todos os três temas
Referência: hollow-UI
Este tutorial é baseado na implementação real do framework hollow-UI

Este framework foi desenvolvido com este mesmo sistema de temas e serve como referência de implementação. Você pode encontrar os arquivos completos no repositório do projeto.

Arquivos Principais
src/contexts/ThemeContext.tsx
src/app/globals.css
src/components/ui/ThemeToggle.tsx
tailwind.config.ts
Componentes que Usam
src/components/layout/Header.tsx
src/components/layout/AppLayout.tsx
src/app/layout.tsx