feat: Fase 1 - Autenticação completa

- Prisma com SQLite configurado
- Tabelas: users, sessions, subscriptions, children, etc
- Auth.js com credentials provider
- API de registro com criação de usuário + criança
- Middleware para proteger rotas
- Login/Cadastro funcionais
- Dashboard com sessão real
This commit is contained in:
2026-02-07 00:21:04 -03:00
parent f5a2f4870f
commit e12cfbe91c
27 changed files with 3786 additions and 95 deletions

39
public/icon-iristea.svg Normal file
View File

@@ -0,0 +1,39 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
<defs>
<!-- Gradiente arco-íris -->
<linearGradient id="rainbow" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" style="stop-color:#ef4444"/>
<stop offset="20%" style="stop-color:#f59e0b"/>
<stop offset="40%" style="stop-color:#22c55e"/>
<stop offset="60%" style="stop-color:#3b82f6"/>
<stop offset="80%" style="stop-color:#8b5cf6"/>
<stop offset="100%" style="stop-color:#ec4899"/>
</linearGradient>
<!-- Gradiente para o olho/íris -->
<radialGradient id="irisGrad" cx="50%" cy="50%" r="50%">
<stop offset="0%" style="stop-color:#818cf8"/>
<stop offset="50%" style="stop-color:#6366f1"/>
<stop offset="100%" style="stop-color:#4f46e5"/>
</radialGradient>
</defs>
<!-- Background círculo -->
<circle cx="50" cy="50" r="48" fill="white"/>
<!-- Arco-íris acima do olho -->
<path d="M 12 52 Q 50 10, 88 52" stroke="url(#rainbow)" stroke-width="7" fill="none" stroke-linecap="round"/>
<!-- Forma do olho -->
<ellipse cx="50" cy="58" rx="35" ry="26" fill="white" stroke="#e5e7eb" stroke-width="2"/>
<!-- Íris (parte colorida) -->
<circle cx="50" cy="58" r="20" fill="url(#irisGrad)"/>
<!-- Pupila -->
<circle cx="50" cy="58" r="9" fill="#1e1b4b"/>
<!-- Brilho -->
<circle cx="44" cy="52" r="4" fill="white" opacity="0.8"/>
<circle cx="54" cy="55" r="2" fill="white" opacity="0.6"/>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB