fix: QA report BUG-01 to BUG-12 full resolution - demo switcher, AI tutor stream, timeline alignment, cbt filtering, danger styling, streak celebration

This commit is contained in:
2026-09-19 22:53:58 +05:30
parent 45f2f82eaf
commit 5c6ddcaca0
9 changed files with 459 additions and 273 deletions

View File

@@ -102,7 +102,17 @@ export default function AttemptHistoryPage({ params }: { params: Promise<{ attem
<CardContent className="p-4 flex flex-col items-center justify-center">
<Award className="text-[#00F0FF] mb-2" size={24} />
<div className="text-sm text-muted-foreground font-bold uppercase">Score</div>
<div className="text-2xl font-bold">{scoreCalc} <span className="text-sm text-muted-foreground">/ {maxScore}</span></div>
<div className="text-2xl font-bold flex items-center justify-center gap-1.5">
<span className={scoreCalc <= 0 ? "text-red-500 font-black" : (scoreCalc / maxScore) >= 0.6 ? "text-green-500" : "text-amber-500"}>
{scoreCalc}
</span>
<span className="text-sm text-muted-foreground">/ {maxScore}</span>
{scoreCalc <= 0 && (
<span className="text-[10px] font-extrabold uppercase px-1.5 py-0.5 rounded bg-red-500/10 text-red-500 border border-red-500/20">
Fail
</span>
)}
</div>
</CardContent>
</Card>
<Card className="bg-secondary/30 border-border flex-1 md:min-w-48">