Skip to content

🚀 Instructor dashboard concurrent ajax lazyloading & zero-cls skeletons - #2985

Open
b-l-i-n-d wants to merge 18 commits into
devfrom
feat/instructor-dashboard-ajax
Open

b-l-i-n-d wants to merge 18 commits into
devfrom
feat/instructor-dashboard-ajax

Conversation

@b-l-i-n-d

Copy link
Copy Markdown
Collaborator
  • Add granular concurrent AJAX lazy-loading for instructor dashboard sections
  • Add zero-CLS Skeleton wireframes with matched geometry across desktop and mobile
  • Introduce InstructorMetricsAdapter to decouple domain metrics calculations from presentation
  • Introduce DashboardSectionManager to handle dashboard section dispatching, hooks, and AJAX endpoints
  • Add tutorLazySection Alpine component with query caching, error toasts, and visibility observers
  • Centralize custom event constants (TUTOR_CUSTOM_EVENTS) across date filter and sorting listeners
  • Resolve query parameter clobbering by namespacing top performing courses filter to top_performing_course
  • Eliminate DateFilter clear button initial load layout flash
  • Add architectural decision records (0001-dashboard-ajax-lazyloading-architecture.md, 0002-dashboard-metrics-adapter-pattern.md)

@b-l-i-n-d b-l-i-n-d changed the title 🚀 feat(dashboard): instructor dashboard concurrent ajax lazyloading & zero-cls skeletons 🚀 Instructor dashboard concurrent ajax lazyloading & zero-cls skeletons Sep 1, 2026
@b-l-i-n-d b-l-i-n-d self-assigned this Sep 1, 2026
@b-l-i-n-d b-l-i-n-d added the 4.0.9 Tutor v4.0.9 label Sep 1, 2026
Comment thread classes/DashboardSectionManager.php Outdated
Comment thread classes/DashboardSectionManager.php Outdated
Comment thread classes/DashboardSectionManager.php Outdated
Comment thread classes/InstructorMetricsAdapter.php
@b-l-i-n-d b-l-i-n-d added 4.0.8 Tutor v4.0.8 and removed 4.0.8 Tutor v4.0.8 4.0.9 Tutor v4.0.9 labels Sep 2, 2026
@b-l-i-n-d
b-l-i-n-d requested a review from shewa12 September 2, 2026 12:20
Comment thread assets/core/ts/components/calendar.ts Outdated
hidePopover?.();

const dates = this.getPresetDates(preset);
const presetLabels: Record<string, string> = {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These strings is already defined at top. why duplicate?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is an unintentional redundancy 🥲

Comment thread classes/DashboardSectionManager.php
@b-l-i-n-d b-l-i-n-d added 4.1.0 Tutor v4.1.0 and removed 4.0.8 Tutor v4.0.8 labels Sep 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

4.1.0 Tutor v4.1.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants