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

View File

@@ -1,26 +1,57 @@
@import "tailwindcss";
:root {
--background: #ffffff;
--foreground: #171717;
}
@theme inline {
--color-background: var(--background);
--color-foreground: var(--foreground);
--font-sans: var(--font-geist-sans);
--font-mono: var(--font-geist-mono);
}
@media (prefers-color-scheme: dark) {
:root {
--background: #0a0a0a;
--foreground: #ededed;
}
--iris-purple: #6366f1;
--iris-purple-dark: #4f46e5;
--iris-blue: #3b82f6;
--iris-green: #10b981;
--iris-yellow: #f59e0b;
--iris-red: #ef4444;
--iris-rainbow: linear-gradient(90deg, #ef4444, #f59e0b, #eab308, #22c55e, #3b82f6, #8b5cf6);
}
body {
background: var(--background);
color: var(--foreground);
font-family: Arial, Helvetica, sans-serif;
font-family: 'Inter', system-ui, sans-serif;
}
.gradient-rainbow {
background: var(--iris-rainbow);
}
.text-gradient {
background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #3b82f6 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.animate-float {
animation: float 3s ease-in-out infinite;
}
@keyframes float {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-10px); }
}
.chat-bubble {
position: relative;
}
.chat-bubble::after {
content: '';
position: absolute;
bottom: -8px;
left: 20px;
width: 0;
height: 0;
border-left: 10px solid transparent;
border-right: 10px solid transparent;
border-top: 10px solid #f3f4f6;
}
.chat-bubble-right::after {
left: auto;
right: 20px;
border-top-color: #6366f1;
}