"use client" import { useState } from "react" import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card" import { Badge } from "@/components/ui/badge" import { Button } from "@/components/ui/button" import { CheckCircle2, Clock, SkipForward, BrainCircuit } from "lucide-react" type PlanState = 'PENDING' | 'DONE' | 'SKIPPED'; interface PlanItem { id: string; title: string; duration: string; type: string; status: PlanState; } const INITIAL_PLAN: PlanItem[] = [ { id: '1', title: 'Revise Thermodynamics Concepts', duration: '45 min', type: 'Theory', status: 'PENDING' }, { id: '2', title: 'Solve 15 Rotational Dynamics DPPs', duration: '30 min', type: 'Practice', status: 'PENDING' }, { id: '3', title: 'Review Mistakes in Optics (T-3)', duration: '20 min', type: 'Review', status: 'PENDING' }, ]; export function AdaptiveStudyPlan() { const [items, setItems] = useState(INITIAL_PLAN); const updateStatus = (id: string, newStatus: PlanState) => { setItems(items.map(item => item.id === id ? { ...item, status: newStatus } : item)); }; const totalTime = items.reduce((acc, curr) => { if (curr.status === 'DONE' || curr.status === 'PENDING') { return acc + parseInt(curr.duration); } return acc; }, 0); return (
Adaptive Study Plan AI Coach
Today: {totalTime} min

Dynamically generated based on your weak areas.

{items.map((item, index) => { const isDone = item.status === 'DONE'; const isSkipped = item.status === 'SKIPPED'; return (
{/* Timeline Icon */}
{isDone ? : isSkipped ? :
}
{/* Card */}
{item.type} {item.duration}

{item.title}

{/* Actions */}
{item.status === 'PENDING' ? ( <> ) : (
{isDone ? 'Completed' : 'Rescheduled'}
)}
) })}
) }