UI, layout, and target exam logic updates

This commit is contained in:
2026-09-22 17:26:22 +05:30
parent a21518ab6c
commit e6f1fc9c1f
6 changed files with 75 additions and 74 deletions

View File

@@ -1,8 +1,8 @@
"use client"
"use client"
import { useState, useEffect } from "react"
import { Card, CardContent, CardHeader, CardTitle, CardDescription } from "@/components/ui/card"
import { ChevronDown, ChevronRight, CheckCircle2, Circle, Clock, Activity, Target } from "lucide-react"
import { ChevronDown, ChevronRight, CheckCircle2, Circle, Clock, Activity, BarChart3 } from "lucide-react"
import { useActiveUser, isDemoUser } from "@/hooks/useActiveUser"
type ChapterStatus = 'Mastered' | 'Practiced' | 'In Progress' | 'Not Started'
@@ -160,13 +160,26 @@ const ZERO_SUBJECTS: Subject[] = [
]
export default function ProgressTrackerPage() {
const { userId } = useActiveUser()
const { userId, user } = useActiveUser()
const isDemo = isDemoUser(userId)
const [subjects, setSubjects] = useState<Subject[]>(isDemo ? DEMO_SUBJECTS : ZERO_SUBJECTS)
const [subjects, setSubjects] = useState<Subject[]>([])
useEffect(() => {
setSubjects(isDemo ? DEMO_SUBJECTS : ZERO_SUBJECTS)
}, [isDemo])
const targetExam = user?.target_exam || "JEE_Main";
const mathOrBio = targetExam === "NEET" ? "Biology" : "Mathematics";
const getSubjects = (demo: boolean) => {
const base = demo ? DEMO_SUBJECTS : ZERO_SUBJECTS;
return base.map(s => {
if (s.name === "Mathematics / Biology") {
return { ...s, name: mathOrBio };
}
return s;
});
};
setSubjects(getSubjects(isDemo));
}, [isDemo, user?.target_exam]);
const toggleChapter = (subjectIndex: number, chapterIndex: number) => {
const newSubjects = [...subjects]
@@ -180,7 +193,7 @@ export default function ProgressTrackerPage() {
<div>
<h1 className="text-3xl md:text-4xl font-black tracking-tight flex items-center gap-3 mb-1">
<span className="p-2.5 rounded-xl bg-yellow-50 dark:bg-[var(--cyan-ai-10)] border border-yellow-300/60 dark:border-[var(--cyan-ai-20)]">
<Target className="text-yellow-600 dark:text-[var(--cyan-ai)]" size={28} />
<BarChart3 className="text-yellow-600 dark:text-[var(--cyan-ai)]" size={28} />
</span>
Syllabus Tracker
</h1>