'use client'; import { useEffect, useState } from 'react'; import { useRouter } from 'next/navigation'; import { useAuth, useTasks } from '@/lib/stores'; import { Button, Card, CardContent, CardHeader, CardTitle, Checkbox, Input } from '@/components'; import { Trash2, Edit2, Plus, LogOut } from 'lucide-react'; export default function DashboardPage() { const router = useRouter(); const { user, logout } = useAuth(); const { tasks, filters, setFilters, fetchTasks, createTask, updateTask, deleteTask, isLoading } = useTasks(); const [showCreateForm, setShowCreateForm] = useState(false); const [newTask, setNewTask] = useState({ title: '', description: '', dueDate: '', }); useEffect(() => { if (!user) { router.push('/auth/login'); return; } fetchTasks(); }, [user, router, fetchTasks]); const handleCreateTask = async (e: React.FormEvent) => { e.preventDefault(); if (!newTask.title.trim()) return; try { await createTask({ title: newTask.title, description: newTask.description, dueDate: newTask.dueDate ? new Date(newTask.dueDate).toISOString() : undefined, }); setNewTask({ title: '', description: '', dueDate: '' }); setShowCreateForm(false); fetchTasks(); } catch (err) { console.error('Error creating task:', err); } }; const handleToggleTask = async (taskId: string, completed: boolean) => { try { await updateTask(taskId, { completed: !completed }); fetchTasks(); } catch (err) { console.error('Error updating task:', err); } }; const handleDeleteTask = async (taskId: string) => { if (!confirm('Tem certeza que deseja deletar essa tarefa?')) return; try { await deleteTask(taskId); fetchTasks(); } catch (err) { console.error('Error deleting task:', err); } }; const handleLogout = async () => { await logout(); router.push('/auth/login'); }; const filteredTasks = tasks.filter((task) => { if (filters.completed !== undefined && task.completed !== filters.completed) { return false; } if (filters.category && task.category !== filters.category) { return false; } if (filters.priority && task.priority !== filters.priority) { return false; } return true; }); return (
{/* Header */}

📋 Task Manager

Bem-vindo, {user?.email}

{/* Main Content */}
{/* Filters and Create Button */}

Minhas Tarefas

{/* Filters */}
{/* Create Task Form */} {showCreateForm && ( Criar Nova Tarefa
setNewTask({ ...newTask, title: e.target.value })} placeholder="Título da tarefa" required />