Skip to content

feat: header parity with frontend-component-header#225

Merged
arbrandes merged 1 commit into
openedx:mainfrom
arbrandes:arbrandes/fix-the-header
Apr 15, 2026
Merged

feat: header parity with frontend-component-header#225
arbrandes merged 1 commit into
openedx:mainfrom
arbrandes:arbrandes/fix-the-header

Conversation

@arbrandes
Copy link
Copy Markdown
Contributor

@arbrandes arbrandes commented Apr 14, 2026

Description

Brings the shell header closer to visual parity with the old frontend-component-header used by the legacy MFEs. This addresses the items tracked in #223.

This cascaded into a bunch of other improvements:

  • The logo now links to whichever route claims the well-known homeRole, with a fallback redirect at /.

  • If the homeRole is claimed, users that land at / are redirected to it.

  • Active nav links get highlighted with the same dark navy background the old header used, matching location.pathname against the link URL (with trailing-slash normalization).

  • The user dropdown replaces the generic Person icon and DropdownButton with Paragon's AvatarButton inside a Dropdown, styled as outline-primary to match the old design. The user's profile image is shown when available, with Paragon's default avatar fallback otherwise.

  • Header content now uses Container fluid size="xl" instead of fixed padding, so left/right margins align with the main content area at all viewport widths. The same pattern replaces the old px-3 / pr-3 on both desktop and mobile layouts.

BREAKING CHANGE: Route handles switch from a single role string to a roles array so a route can serve multiple purposes.

Screenshots

Image

Figure 1. Before

image

Figure 2. After

LLM usage notice

Built with assistance from Claude.

Copy link
Copy Markdown
Contributor

@diana-villalvazo-wgu diana-villalvazo-wgu left a comment

Choose a reason for hiding this comment

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

LGTM and looks better now 👍

Bring the shell header closer to visual parity with the old
frontend-component-header used by legacy MFEs.

The logo now links to whichever route claims the homeRole. Active nav
links get highlighted with the same dark navy background the old header
used, matching location.pathname against the link URL with
trailing-slash normalization.

The user dropdown replaces the generic Person icon and DropdownButton
with Paragon's AvatarButton inside a Dropdown, styled as
outline-primary. The user's profile image is shown when available, with
Paragon's default avatar fallback otherwise.

Header and page content now use Container fluid size="xl" instead of
fixed padding, so margins align at all viewport widths.

The root / redirect is now conditional: it only applies when an app
claims the home role, and is appended last so an app with its own /
route takes priority.

BREAKING CHANGE: route handles use a roles array instead of a single
role string.

Co-Authored-By: Claude <noreply@anthropic.com>
@arbrandes arbrandes force-pushed the arbrandes/fix-the-header branch from eec30a2 to 5d48196 Compare April 15, 2026 16:42
@arbrandes arbrandes enabled auto-merge (rebase) April 15, 2026 16:43
@arbrandes arbrandes merged commit ff577ed into openedx:main Apr 15, 2026
5 checks passed
@openedx-semantic-release-bot
Copy link
Copy Markdown

🎉 This PR is included in version 1.0.0-alpha.26 🎉

The release is available on:

Your semantic-release bot 📦🚀

@arbrandes arbrandes deleted the arbrandes/fix-the-header branch April 15, 2026 17:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Header parity

3 participants