shadimage
blockforge
blockbanner-announcementsource: ok · hit

Banner Announcement

Inverted announcement bar with dismiss affordance.

npx shadcn add "https://blockforge.terravidhal.me/r/banner-announcement.json"
free

Where it goes

banner

Tags auto-generated by rules on 9/24/2026 — empty means no evidence, not lack of support.

Files1 · source cached 10/9/2026, 6:05:49 PM

registry/blocks/banner-announcement.tsx
import Link from "next/link";
import { ArrowRight, X } from "lucide-react";

export default function BannerAnnouncement() {
  return (
    <div className="relative border-b border-border/60 bg-foreground text-background">
      <div className="mx-auto flex w-full max-w-6xl items-center justify-center gap-3 px-12 py-2.5">
        <span className="hidden rounded-full bg-background/15 px-2 py-0.5 font-mono text-[10px] tracking-wide uppercase sm:inline">
          New
        </span>
        <p className="text-sm">
          Acme 3.0 is out — 2× faster builds and edge functions.
        </p>
        <Link
          href="#"
          className="inline-flex shrink-0 items-center gap-1 text-sm font-medium underline-offset-4 hover:underline"
        >
          Read more
          <ArrowRight className="size-3.5" />
        </Link>
      </div>
      <button
        type="button"
        aria-label="Dismiss announcement"
        className="absolute top-1/2 right-3 flex size-7 -translate-y-1/2 items-center justify-center rounded-md text-background/70 transition-colors hover:bg-background/10 hover:text-background"
      >
        <X className="size-4" />
      </button>
    </div>
  );
}

More from blockforge

Browse all components in this library →