perf(render): migrate StudentLearningPathPage to the selector store - #436
Conversation
The page read ten data slices across seven whole-domain hooks; all reads now come from a single useStoreSelector. The student a11y suite also had the same error-boundary-swallowed render as the admin suite, so its base mock moved to module scope and selectors now route through it. 🤖 Generated with Codebuff Co-Authored-By: Codebuff <noreply@codebuff.com>
|
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 (3)
Included review availability: Your plan includes up to 1 review per rolling hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe student learning path page now retrieves its required state through one store selector. Related tests use shared mock state and expose compatible selector and action mocks. ChangesStudent learning path store migration
Merge Risk: ⚪ Minimal · up to This localized performance refactor changes how the page subscribes to store data without supplied evidence of a correctness or production-impact issue. It is merge-ready after normal checks and review, with no actionable merge-blocking risk remaining. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 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 |
✅ Action performedReview finished.
|
What
Migrates
StudentLearningPathPagefrom seven whole-domain hooks to oneuseStoreSelectorreading its ten data slices (students,classes,studentRubrics,rubrics,selfAssessments,analysisResults,tests,studentTests,flashcardDecks,settings).Why
The page only renders derived learning-path data; whole-domain subscriptions re-rendered it on unrelated updates.
Notes
pages.student.a11y.test.tsxhad the same error-boundary-swallowed render false pass as the admin suite; itsbasemock moved to module scope and selectors/actions now route through it, so the a11y suite genuinely renders the page again.Stacked on #435 (part of the roadmap "Up Next" selector-store series).