perf(render): migrate ExportPage to the selector store - #428
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan includes up to 1 review per rolling hour; 0 remain after this review. 📝 WalkthroughWalkthrough
ChangesExportPage store migration
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to This change narrows ExportPage state subscriptions without introducing a concrete user-facing correctness, security, availability, or deployment risk in the supplied evidence; no actionable merge-blocking risk remains beyond normal checks and review. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@CodeRabbit review |
|
|
@CodeRabbit review |
✅ Action performedReview finished.
|
ExportPage subscribed to seven whole-domain hooks for thirteen data slices and two actions. Data now comes from one useStoreSelector and actions from the stable useStoreActions context, so the page re-renders only when the slices it renders change. 🤖 Generated with Codebuff Co-Authored-By: Codebuff <noreply@codebuff.com>
The roster domain hooks filtered soft-deleted rows; the selector-store migration read raw slices. Restore the active-student / active-rubric filtering so archived students can't be exported and deleted student rubrics don't surface in export lists. 🤖 Generated with Codebuff Co-Authored-By: Codebuff <noreply@codebuff.com>
c2f39d3 to
f7b1d20
Compare
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.Scanned FilesNone |
Coverage Report
File Coverage
|
||||||||||||||||||||||||||||||||||||||
|
@CodeRabbit review |
✅ Action performedReview finished.
|
What
Migrates
ExportPagefrom seven whole-domain hooks to oneuseStoreSelectorfor its 13 data slices (students,classes,studentRubrics,rubrics,gradeScales,exportTemplates,selfAssessments,analysisResults,tests,studentTests,essayAssignments,essaySubmissions,settings) plususeStoreActionsforsaveStudentRubric/updateSettings.Why
Whole-domain subscriptions re-render the page on every unrelated collection update. Selecting only rendered slices isolates it to the data it actually uses.
Notes
Stacked on #427 (part of the roadmap "Up Next" selector-store series).