Skip to main content
Announcements are code-configured message bars. A bar can display one static message, rotate through a campaign, show a scheduled countdown, or consume an authorized live provider. They are separate from native toast/database notifications and from Theme Settings; there is no announcement content editor or announcement database model installed by this feature.

First global announcement

Register a bar in the current panel’s plugin configuration:
global() places the bar above the authenticated panel. Global bars span the viewport; sticky(false) lets this one scroll away. By default a global bar is sticky. The theme adjusts the panel’s native chrome offsets when bars appear, change height or are dismissed.

Inline placement

Register a non-global bar, then render its Livewire component in a panel Blade view. Registration defines the trusted configuration; rendering creates an owner.
Use a distinct Livewire key for each placement. Or let a native render hook place it for you:
Choose global, a render hook, or manual rendering for a placement; do not accidentally render the same bar twice. Inline bars use the theme’s overall corner style. A bar registered without any placement is not visible by itself.

Rotation and controls

Intervals and transition durations are milliseconds. Rotation pauses for hover, focus, an offscreen bar, a hidden browser tab, manual pause, or reduced motion. These choices do not pause a real countdown deadline. Playback controls appear only when enabled and more than one eligible message exists. A progress ring shows the current slide duration. Text and labels are escaped plain text, not HTML. Use ordinary links and trusted PHP callbacks for actions. Stable IDs are required; keep the same ID for the same message and use revisions to reintroduce content intentionally. See Configuration, Live updates and events, Examples, and the complete API.