Skip to content

v1.6.0

Choose a tag to compare

@JsCodeDevlopment JsCodeDevlopment released this 29 May 22:56
· 22 commits to main since this release

Notas de Release (v1.6.0)

🚀 Novas Funcionalidades

  • Controle de Autenticação Estrito (Full Gating & Auth Dialog): Implementado o bloqueio completo de qualquer conteúdo de estudo (problemas, soluções comentadas, conceitos e guias de carreira) para utilizadores não autenticados. O acesso é interceptado reativamente através do componente RequireAuth que ativa o AuthDialog global e redireciona automaticamente o utilizador para a página pretendida após o sucesso do login.
  • Exclusão de Conta com Limpeza Total (Wipe): Criada uma caixa de diálogo de confirmação para a exclusão de conta no perfil do utilizador. A confirmação remove definitivamente todos os registros e históricos de progresso do banco de dados (Postgres) e limpa completamente o cache local do cliente através de localStorage.clear().
  • Desafio Diário Aprimorado (Checklist e Validação): O sistema de Desafio Diário agora exige a validação estrita de três tarefas antes de considerar o desafio completo: 1) o problema deve ser acessível ao utilizador, 2) o enunciado deve ser visitado, 3) todas as soluções disponíveis do problema devem ser lidas, e 4) o utilizador deve passar pelo menos 3 minutos (180 segundos) de tempo ativo na página.

🛠️ Melhorias Técnicas & UI

  • Cronómetro Digital LCD/LED (Glowing Clock): Adicionado um widget de cronómetro baseado no modelo digital de sete segmentos (HH:MM:SS:CC) com renderização em tempo real atualizada a cada 50ms para exibição fluida de centésimos de segundo. O contador usa uma caixa preta de alto contraste com fontes personalizadas e sombras de texto luminescentes (glow) brancas e verdes.
  • Estrutura Modular (Separação de Conceitos): O rastreador do desafio foi dividido em três partes organizadas: os utilitários de armazenamento e formatação (daily-challenge-utils.ts), o hook de controle de efeitos e tempo ativo (use-daily-challenge.ts) e o componente de interface pura (daily-challenge-tracker.tsx).
  • Alinhamento com o Design System Estrito: Removidas todas as bordas arredondadas da interface do banner (rounded-none absoluto) e limpos os efeitos de pulsação ociosa (animate-pulse / animate-ping) para garantir sobriedade visual e consistência técnica.
  • Layout Inteligente Flutuante (Sticky): O banner agora acompanha o scroll da página de forma fixa (sticky top-16) mantendo exatamente a mesma largura útil do conteúdo principal (max-w-7xl px-6) com efeito translúcido no fundo e zero impacto na tela quando inativo.