'use client'; import { useCallback, useEffect, useState } from 'react'; import { api } from '@/lib/api'; import { cn } from '@/lib/cn'; import type { Task } from '@/lib/types'; import { KanbanBoard } from '@/components/tasks/kanban-board'; import { TaskListView } from '@/components/tasks/task-list-view'; type ViewMode = 'list' | 'kanban'; export default function TasksPage(): React.ReactElement { const [tasks, setTasks] = useState([]); const [view, setView] = useState('kanban'); const [loading, setLoading] = useState(true); useEffect(() => { api('/api/tasks') .then(setTasks) .catch(() => {}) .finally(() => setLoading(false)); }, []); const handleTaskClick = useCallback((task: Task) => { // Task detail view will be added in future iteration console.log('Task clicked:', task.id); }, []); return (

Tasks

{loading ? (

Loading tasks...

) : view === 'kanban' ? ( ) : ( )}
); }