'use client'; import { useState, useEffect } from 'react'; import { useRouter } from 'next/navigation'; import Link from 'next/link'; type User = { id: string; name: string; email: string; role: string; }; type ModuleProgress = { id: string; name: string; mastery: number; completed: number; total: number; lastActivity: string; }; export default function ProgressPage() { const router = useRouter(); const [user, setUser] = useState(null); const [isLoading, setIsLoading] = useState(true); const overallStats = { totalMastery: 72, totalHours: 24, streak: 5, quizzesTaken: 12, exercisesCompleted: 45, rank: 'Intermediate' }; const moduleProgress: ModuleProgress[] = [ { id: 'mod1', name: 'Python Basics', mastery: 92, completed: 10, total: 10, lastActivity: '2 days ago' }, { id: 'mod2', name: 'Control Flow', mastery: 75, completed: 8, total: 12, lastActivity: '1 day ago' }, { id: 'mod3', name: 'Functions', mastery: 45, completed: 5, total: 15, lastActivity: 'Today' }, { id: 'mod4', name: 'Data Structures', mastery: 30, completed: 3, total: 18, lastActivity: '3 days ago' }, { id: 'mod5', name: 'OOP', mastery: 0, completed: 0, total: 20, lastActivity: 'Not started' }, { id: 'mod6', name: 'File Operations', mastery: 0, completed: 0, total: 10, lastActivity: 'Not started' }, ]; const recentAchievements = [ { id: 1, title: 'Quiz Master', description: 'Scored 100% on 3 quizzes', icon: '🏆', date: '2 days ago' }, { id: 2, title: 'Code Warrior', description: 'Completed 10 exercises in a day', icon: '⚔️', date: '5 days ago' }, { id: 3, title: 'Fast Learner', description: 'Finished a module in record time', icon: '🚀', date: '1 week ago' }, ]; const weeklyActivity = [ { day: 'Mon', hours: 2 }, { day: 'Tue', hours: 1.5 }, { day: 'Wed', hours: 3 }, { day: 'Thu', hours: 2.5 }, { day: 'Fri', hours: 1 }, { day: 'Sat', hours: 4 }, { day: 'Sun', hours: 2 }, ]; useEffect(() => { const currentUser = localStorage.getItem('learnflow_current_user'); if (!currentUser) { router.push('/'); return; } const parsedUser = JSON.parse(currentUser); if (parsedUser.role !== 'student') { router.push('/teacher/dashboard'); return; } setUser(parsedUser); setIsLoading(false); }, [router]); if (isLoading) { return (

Loading progress...

); } return (
LF
My Progress Back to Dashboard
{/* Overall Stats */}
{overallStats.totalMastery}%
Overall Mastery
{overallStats.totalHours}h
Total Hours
{overallStats.streak}
Day Streak
{overallStats.quizzesTaken}
Quizzes Taken
{overallStats.exercisesCompleted}
Exercises Done
{overallStats.rank}
Current Rank
{/* Module Progress */}

Module Progress

{moduleProgress.map((module) => (

{module.name}

{module.completed}/{module.total} lessons completed

= 80 ? 'bg-green-100 text-green-800' : module.mastery >= 50 ? 'bg-yellow-100 text-yellow-800' : module.mastery > 0 ? 'bg-orange-100 text-orange-800' : 'bg-gray-100 text-gray-600' }`}> {module.mastery}% Mastery
= 80 ? 'bg-green-500' : module.mastery >= 50 ? 'bg-yellow-500' : module.mastery > 0 ? 'bg-orange-500' : 'bg-gray-400' }`} style={{ width: `${module.mastery}%` }} >

Last activity: {module.lastActivity}

))}
{/* Sidebar */}
{/* Weekly Activity */}

Weekly Activity

{weeklyActivity.map((day, index) => (
{day.day}
))}
Total this week: {weeklyActivity.reduce((acc, d) => acc + d.hours, 0)} hours
{/* Achievements */}

Recent Achievements

{recentAchievements.map((achievement) => (
{achievement.icon}

{achievement.title}

{achievement.description}

{achievement.date}

))}
); }