'use client'; import { useState } from 'react'; import Link from 'next/link'; import { useRouter } from 'next/navigation'; import { useAuth } from '@/lib/stores'; import { Button, Input, Card, CardContent, CardHeader, CardTitle } from '@/components'; export default function LoginPage() { const router = useRouter(); const { login, isLoading, error } = useAuth(); const [formData, setFormData] = useState({ email: '', password: '', }); const [validationErrors, setValidationErrors] = useState<{ email: string; password: string; }>({ email: '', password: '', }); const handleChange = (e: React.ChangeEvent) => { const { name, value } = e.target; setFormData((prev) => ({ ...prev, [name]: value })); setValidationErrors((prev) => ({ ...prev, [name]: '' })); }; const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setValidationErrors({ email: '', password: '' }); // Validação básica const errors: { email: string; password: string } = { email: '', password: '' }; if (!formData.email) errors.email = 'Email é obrigatório'; if (!formData.password) errors.password = 'Senha é obrigatória'; if (Object.keys(errors).length > 0) { setValidationErrors(errors); return; } try { await login(formData); router.push('/dashboard/tasks'); } catch (err) { // Erro já está no store console.error('Login error:', err); } }; return (
📋 Task Manager

Faça login para gerenciar suas tarefas

{error && (
{error}
)}

Não tem conta?{' '} Criar conta

); }