Add formal support for banners at the top of the page.

Review Request #14557 — Created Aug. 6, 2025 and updated — Latest diff uploaded

Information

Review Board
release-7.1.x

Reviewers

A common design pattern is to place a banner at the top of the page, but
we've left the details of that to each extension needing a banner. The
rbmotd and Power Pack extensions both provide their own banners,
choosing their own placements and styling. This creates some
inconsistency.

This change adds a formal definition, stying, and placement for page
banners. These are placed in a new hook point just below the navigation
bar.

A reusable component-based template, ui/components/page-banner.html,
makes it easy to render a page banner. This contains some "parameters"
that can be populated either by inheriting from the template and filling
out blocks or by passing arguments in an {% include %}.

This makes it easy to use this with a TemplateHook or page state
injections.

Documentation, a Storybook story, and updates to the Read Only Banner
will be coming in follow-up changes.

Unit tests pass.

Ported rbmotd over to this, and used it for the new Power Pack banner.

Tested in desktop and mobile modes.


Commits

Files