Centered announcement bar on the muted ground with a release note, an arrow link and a dismiss button. A shorter line replaces the message below the md breakpoint.
import {
Banner,
BannerContent,
BannerDismiss,
BannerLink,
} from "@/components/banner/banner"
// The copy: change text here, not in the markup.
const COPY = {
news: "Orbcore 3.2 is out, with shared calendars and search that keeps up.",
// Replaces news below the md breakpoint, so the banner holds one line.
newsShort: "Orbcore 3.2 is out.",
newsLink: "Read the release notes",
} as const
export default function MinimalBanner01() {
return (
<Banner variant="center" className="bg-muted text-foreground">
<BannerContent>
<p>
<span className="md:hidden">{COPY.newsShort}</span>
<span className="max-md:hidden">{COPY.news}</span>
</p>
<BannerLink href="#">{COPY.newsLink}</BannerLink>
</BannerContent>
<BannerDismiss />
</Banner>
)
}
pnpm dlx shadcn add @01orbital/minimal-banner-01npx shadcn add @01orbital/minimal-banner-01yarn shadcn add @01orbital/minimal-banner-01bunx --bun shadcn add @01orbital/minimal-banner-01Free under the MIT license. Add the @01orbital registry to components.json once (install guide), then run the command.
It lands at components/blocks/banner/minimal-banner-01/index.tsx, as source you own and edit.
import MinimalBanner01 from "@/components/blocks/banner/minimal-banner-01"
export default function Example() {
return <MinimalBanner01 />
}Registry pieces it installs with it:
bannerMaintenance Notice Banner
Start-aligned maintenance notice on the card surface with a bottom border, a clock icon that hides on phones, a status-page link and a dismiss button.
Neoconstruct Event Banner
Neoconstruct banner on cream paper with a hard ink rule below: a red Ribbon Badge for the seats left, the workshop notice, and a small Neoconstruct button with an arrow and an offset shadow that keeps its label on phones.