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

@@ -64,8 +64,22 @@ export function ExamResult({ payload, attemptId, examType, onRetake }: ExamResul
<Card className="bg-secondary/20 border-border">
<CardContent className="p-6 flex flex-col items-center justify-center text-center space-y-2">
<span className="text-sm font-bold text-muted-foreground uppercase tracking-wider">Final Score</span>
<div className="text-4xl font-black text-primary">
{finalScore} <span className="text-lg text-muted-foreground font-medium">/ {maxPossibleScore}</span>
<div className={`text-4xl font-black flex items-center justify-center gap-1.5 ${
finalScore <= 0
? "text-red-500"
: (finalScore / maxPossibleScore) >= 0.6
? "text-green-500"
: (finalScore / maxPossibleScore) >= 0.35
? "text-amber-500"
: "text-red-500"
}`}>
<span>{finalScore}</span>
<span className="text-lg text-muted-foreground font-medium">/ {maxPossibleScore}</span>
{finalScore <= 0 && (
<span className="text-[11px] font-extrabold uppercase px-2 py-0.5 rounded-md bg-red-500/10 text-red-500 border border-red-500/20">
Failing
</span>
)}
</div>
</CardContent>
</Card>