import React, { useState, useEffect, useContext } from 'react'; import Head from 'next/head'; import { LayoutDashboard, FolderKanban, CheckSquare, Users, Settings, Bell, Search, Menu, Moon, Sun, Plus, TrendingUp, TrendingDown, DollarSign, Activity, Calendar, MoreHorizontal, ChevronRight, Filter, Download, RefreshCw } from 'lucide-react'; import { ThemeContext } from './_app'; import Sidebar from '@/components/Sidebar'; import Header from '@/components/Header'; import StatCard from '@/components/StatCard'; import RevenueChart from '@/components/RevenueChart'; import ProjectTable from '@/components/ProjectTable'; import TaskBoard from '@/components/TaskBoard'; import TeamPerformance from '@/components/TeamPerformance'; import RecentActivity from '@/components/RecentActivity'; export default function Home() { const { darkMode, toggleTheme } = useContext(ThemeContext); const [sidebarOpen, setSidebarOpen] = useState(false); const [loading, setLoading] = useState(true); const [stats, setStats] = useState(null); const [projects, setProjects] = useState([]); useEffect(() => { const fetchData = async () => { try { await new Promise(resolve => setTimeout(resolve, 1000)); const statsRes = await fetch('/api/stats'); const statsData = await statsRes.json(); setStats(statsData); const projectsRes = await fetch('/api/projects'); const projectsData = await projectsRes.json(); setProjects(projectsData); } catch (error) { console.error('Error fetching data:', error); } finally { setLoading(false); } }; fetchData(); }, []); return (
{sidebarOpen && (
setSidebarOpen(false)} >
)} setSidebarOpen(false)} />
setSidebarOpen(true)} onThemeToggle={toggleTheme} isDark={darkMode} />

Dashboard Overview

Welcome back, here's what's happening today.

{loading ? (
{[1, 2, 3, 4].map((i) => (
))}
) : (
} /> } /> } /> } />
)}

Revenue Analytics

Team Performance

Current Projects

Recent Activity

Sprint Task Board

); }