import { useEffect, useState } from "react"; import { Tabs, TabsTrigger, TabsList, TabsContent, } from "../../components/ui/tabs"; import { useAuthStore } from "../../stores/authStore"; import { CheckCircle, Search } from "lucide-react"; import { api } from "../../utils/api"; import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, } from "../../components/ui/card"; import { Badge } from "../../components/ui/badge"; import { Button } from "../../components/ui/button"; import type { PracticeSheet } from "../../types/sheet"; import { formatStatus } from "../../lib/utils"; export const Home = () => { const user = useAuthStore((state) => state.user); // const logout = useAuthStore((state) => state.logout); // const navigate = useNavigate(); const [practiceSheets, setPracticeSheets] = useState([]); const [notStartedSheets, setNotStartedSheets] = useState([]); const [inProgressSheets, setInProgressSheets] = useState([]); const [completedSheets, setCompletedSheets] = useState([]); useEffect(() => { const sortPracticeSheets = (sheets: PracticeSheet[]) => { const notStarted = sheets.filter( (sheet) => sheet.user_status === "NOT_STARTED", ); const inProgress = sheets.filter( (sheet) => sheet.user_status === "in-progress", ); const completed = sheets.filter( (sheet) => sheet.user_status === "completed", ); setNotStartedSheets(notStarted); setInProgressSheets(inProgress); setCompletedSheets(completed); }; const fetchPracticeSheets = async () => { if (!user) return; try { const authStorage = localStorage.getItem("auth-storage"); if (!authStorage) { console.error("authStorage not found in local storage"); return; } const { state: { token }, } = JSON.parse(authStorage); if (!token) { console.error("Token not found in authStorage"); return; } const sheets = await api.getPracticeSheets(token, 1, 10); setPracticeSheets(sheets.data); console.log("All Practice Sheets: ", sheets.data); sortPracticeSheets(sheets.data); } catch (error) { console.error("Error fetching practice sheets:", error); } }; fetchPracticeSheets(); }, [user]); return (

Welcome, {user?.name || "Student"}

Pick up where you left off

All Not Started Completed
{practiceSheets.length > 0 ? ( practiceSheets.map((sheet) => ( {sheet?.title} {sheet?.description}

{formatStatus(sheet?.user_status)}

{sheet?.modules_count} modules

{sheet?.time_limit} minutes

)) ) : (

No Practice Sheets available.

)}
{notStartedSheets.map((sheet) => ( {sheet?.title} {sheet?.description}

Not Started

{sheet?.modules_count} modules

{sheet?.time_limit} minutes

))}
{completedSheets.length > 0 ? ( completedSheets.map((sheet) => ( {sheet?.title} {sheet?.description}

{formatStatus(sheet?.user_status)}

{sheet?.modules_count} modules

{sheet?.time_limit} minutes

)) ) : (

You have not completed any practice sheets.

)}

SAT Preparation Tips

Practice regularly with official SAT materials

Review your mistakes and learn from them

Focus on your weak areas

Take full-length practice tests

Get plenty of rest before the test day

); };