Open
Conversation
Redesigns the v2 report template around a mobile-first card layout, with responsive breakpoints at md (768px) and lg (1024px) so it also reads well on desktop. No backend or data-contract changes — the router still passes the same `report` context. Key changes: - Container: centered card that grows from max-w-md to max-w-5xl. - Header: solid blue bar; student/test fields stack on mobile, single row on md+. - Overall Score: standalone card (always above Recommendation). - Overall Performance Summary: 2-col on mobile, 6-col on md+ (6 metric tiles: Total Marks, Correct, Percentage, Skipped, Wrong, Accuracy). - Subject-wise Performance: stacked on mobile, 3-col on md+; each card has a colored left border and a 4-cell pair-table (Marks/Skipped, Wrong/Correct, Percentage/Accuracy). - Chapter-wise Performance: tabbed single-table view (Physics/Chemistry/ Mathematics or Biology for NEET) with icon headers for Correct/Wrong/Skipped. - Removed the in-page Print/Save button. - Print template (student_quiz_report_v2_print.html) left untouched. Also adds `ui/` to .gitignore (local Next.js mockup scratch dir). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Zero-attempt v2 records store `accuracy` (overall and per-subject) as null, since correct / (correct + wrong) is 0/0. The new template formats every summary and subject-card number, so null reaches `%.2f` and raises TypeError during render. Fall back to 0 for marks_scored, num_correct/wrong/skipped, percentage and accuracy so a "student skipped everything" session renders as 0/0.00% instead of crashing. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
suryabulusu
approved these changes
May 5, 2026
Collaborator
suryabulusu
left a comment
There was a problem hiding this comment.
looks good with some comments on discord
| <div class="flex flex-col items-center justify-center py-8 bg-gray-50 rounded-2xl mb-4 md:mb-6"> | ||
| <div class="text-[10px] md:text-xs text-gray-500 uppercase tracking-wider mb-2">Overall Score</div> | ||
| <div class="text-5xl md:text-6xl font-bold text-[#4a90e2] leading-none"> | ||
| {{ (report.overall_performance.marks_scored or 0)|int }} |
Collaborator
There was a problem hiding this comment.
worth showing marks_scored out of max_marks_possible ... like 100/180 ?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
student_quiz_report_v2.htmltemplate around a mobile-first, card-based layout with responsive breakpoints atmd(768px) andlg(1024px), so it reads well on both phones and desktop.reportcontext (header, overall_performance, recommendation, subject_performance, chapter_performance).student_quiz_report_v2_print.htmlis untouched, so PDF output is unaffected.ui/to.gitignore(local Next.js mockup scratch dir used during design).Test plan
?format=pdfstill renders using the untouched print template.🤖 Generated with Claude Code