Skip to content

Conversation

@rohitpaulk
Copy link
Member

@rohitpaulk rohitpaulk commented Oct 30, 2025

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.

  • Header:
    • Unifies header by replacing CoursePage::Header::MainSection and CoursePage::Header::StickySection with a single CoursePage::Header (index.hbs/index.ts).
    • Adds in-viewport scroll marker with @tracked state and isSticky getter to control sticky styling and content.
    • Renders TabList, step title/slug, StepStatusPill, and conditional StepProgressIndicator in the unified template.
  • Navigation Controls:
    • Simplifies CoursePage::Header::NavigationControls by removing StepSwitcherContainer and badge/label logic; retains menu toggle, dark mode toggle, billing badge, and close button.
  • Removals:
    • Deletes CoursePage::Header::MainSection, CoursePage::Header::StickySection, and CoursePage::StepSwitcherContainer (templates and classes).
  • Template Integration:
    • Updates app/templates/course.hbs to use CoursePage::Header directly (removes separate main/sticky section usages).

Written by Cursor Bugbot for commit 16c9537. This will update automatically on new commits. Configure here.

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.
@github-actions
Copy link

github-actions bot commented Oct 30, 2025

Test Results

  1 files  ±0    1 suites  ±0   9m 2s ⏱️ - 5m 16s
677 tests ±0  624 ✅  - 1  51 💤 ±0  0 ❌ ±0  2 🔥 +1 
677 runs  ±0  622 ✅  - 2  51 💤 ±0  2 ❌ +1  2 🔥 +1 

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.

@codecov
Copy link

codecov bot commented Oct 30, 2025

Bundle Report

Changes will decrease total bundle size by 5.02kB (-0.01%) ⬇️. This is within the configured threshold ✅

Detailed changes
Bundle name Size Change
client-array-push 38.71MB -5.02kB (-0.01%) ⬇️

Affected Assets, Files, and Routes:

view changes for bundle: client-array-push

Assets Changed:

Asset Name Size Change Total Size Change (%)
assets/chunk.*.js -110 bytes 3.29MB -0.0%
assets/chunk.*.js -4.88kB 399.34kB -1.21%
assets/chunk.*.css -38 bytes 250.77kB -0.02%

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.
@codecov
Copy link

codecov bot commented Oct 30, 2025

❌ 2 Tests Failed:

Tests completed Failed Passed Skipped
626 2 624 51
View the top 2 failed test(s) by shortest run time
Chrome 140.0::Acceptance | course-page | view-course-stages-test: beta label renders properly
Stack Traces | 0.8s run time
Promise rejected during "beta label renders properly": Element not found.

PageObject: 'page.betaLabelText'
  Selector: '[data-test-course-beta-label]'
Chrome 140.0::Acceptance | course-page | view-course-stages-test: free label renders properly
Stack Traces | 0.833s run time
Promise rejected during "free label renders properly": Element not found.

PageObject: 'page.freeCourseLabel.text'
  Selector: '[data-test-course-free-label]'

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants