-
Notifications
You must be signed in to change notification settings - Fork 25
feat(header): improve sticky header with dynamic scroll tracking #3230
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Remove the old sticky section component and replace it with a unified header component that tracks scroll position using an in-viewport marker. Introduce a tracked property to determine stickiness and update the UI accordingly. Enhance the header template with richer course stage and step status display, including progress indicators and improved styling for current steps. These changes improve UX by providing clearer visual context and smoother sticky header behavior on scroll.
Refactor the span element displaying the course stage name by breaking it into multiple lines with proper indentation. This improves code readability and maintains consistency with the project's formatting standards.
Delete the StepSwitcherContainer component and its template as it is no longer needed for navigation controls in the course page header. Remove its invocation from navigation-controls.hbs to simplify the UI and reduce complexity.
Test Results 1 files ±0 1 suites ±0 9m 2s ⏱️ - 5m 16s For more details on these errors, see this check. Results for commit 16c9537. ± Comparison against base commit 4fae0cd. ♻️ This comment has been updated with latest results. |
Bundle ReportChanges will decrease total bundle size by 5.02kB (-0.01%) ⬇️. This is within the configured threshold ✅ Detailed changes
Affected Assets, Files, and Routes:view changes for bundle: client-array-pushAssets Changed:
|
Remove the BetaCourseLabel, FreeCourseLabel, and BetaCourseExtensionLabel from the navigation controls component to simplify the header and avoid confusing or outdated course status indicators. The change enhances UI clarity by displaying only the menu button on mobile views.
❌ 2 Tests Failed:
View the top 2 failed test(s) by shortest run time
To view more test analytics, go to the Test Analytics Dashboard |
Remove the old sticky section component and replace it with a unified header
component that tracks scroll position using an in-viewport marker. Introduce a
tracked property to determine stickiness and update the UI accordingly.
Enhance the header template with richer course stage and step status display,
including progress indicators and improved styling for current steps. These
changes improve UX by providing clearer visual context and smoother sticky
header behavior on scroll.
Note
Unifies the course page header into a single component with in-viewport-based sticky behavior, removes legacy sections/step switcher, and updates templates accordingly.
CoursePage::Header::MainSectionandCoursePage::Header::StickySectionwith a singleCoursePage::Header(index.hbs/index.ts).@trackedstate andisStickygetter to control sticky styling and content.TabList, step title/slug,StepStatusPill, and conditionalStepProgressIndicatorin the unified template.CoursePage::Header::NavigationControlsby removingStepSwitcherContainerand badge/label logic; retains menu toggle, dark mode toggle, billing badge, and close button.CoursePage::Header::MainSection,CoursePage::Header::StickySection, andCoursePage::StepSwitcherContainer(templates and classes).app/templates/course.hbsto useCoursePage::Headerdirectly (removes separate main/sticky section usages).Written by Cursor Bugbot for commit 16c9537. This will update automatically on new commits. Configure here.