"use client"; import { useState, useEffect } from "react"; import type { ReactElement } from "react"; import { TaskList } from "@/components/tasks/TaskList"; import { mockTasks } from "@/lib/api/tasks"; import type { Task } from "@mosaic/shared"; export default function TasksPage(): ReactElement { const [tasks, setTasks] = useState([]); const [isLoading, setIsLoading] = useState(true); const [error, setError] = useState(null); useEffect(() => { void loadTasks(); }, []); async function loadTasks(): Promise { setIsLoading(true); setError(null); try { // TODO: Replace with real API call when backend is ready // const data = await fetchTasks(); await new Promise((resolve) => setTimeout(resolve, 300)); setTasks(mockTasks); } catch (err) { setError( err instanceof Error ? err.message : "We had trouble loading your tasks. Please try again when you're ready." ); } finally { setIsLoading(false); } } return (

Tasks

Organize your work at your own pace

{error !== null ? (

{error}

) : ( )}
); }