UI, layout, and target exam logic updates
This commit is contained in:
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user