Skip to content

feat: implement gamification, authentication, and structured course n…#10

Merged
JsCodeDevlopment merged 2 commits into
mainfrom
dev
May 29, 2026
Merged

feat: implement gamification, authentication, and structured course n…#10
JsCodeDevlopment merged 2 commits into
mainfrom
dev

Conversation

@JsCodeDevlopment

Copy link
Copy Markdown
Owner

🚀 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.

@JsCodeDevlopment JsCodeDevlopment self-assigned this May 29, 2026
@vercel

vercel Bot commented May 29, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
algoria Ready Ready Preview, Comment May 29, 2026 10:57pm

@JsCodeDevlopment JsCodeDevlopment merged commit 5c8ccbe into main May 29, 2026
1 of 3 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