# Maintenance 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.

A shadcn/ui block from the [@01orbital](https://01orbital.dev/?utm_source=shadcn.exchange) registry, listed on [shadcn.exchange](https://shadcn.exchange/r/01orbital/minimal-banner-02).

- Page, with a live preview: https://shadcn.exchange/r/01orbital/minimal-banner-02
- Screenshot: https://shadcn.exchange/shot/01orbital/minimal-banner-02/light.png
- Registry item: https://01orbital.dev/r/minimal-banner-02.json
- Categories: banner
- Listed: 2026-11-01, source last changed 2026-11-01

## Install

```bash
npx shadcn@latest add https://shadcn.exchange/r/01orbital/minimal-banner-02.json
```

Run it in a project that has shadcn/ui set up. It adds the files below and installs what they depend on.

## Dependencies

- npm packages: `@phosphor-icons/react`
- Registry items: `@01orbital/banner`

## Files

### `blocks/banner/minimal-banner-02/index.tsx`

```tsx
import { ClockIcon } from "@phosphor-icons/react/dist/ssr"

import {
  Banner,
  BannerContent,
  BannerDismiss,
  BannerLink,
} from "@/components/banner/banner"

// The copy: change text here, not in the markup.
const COPY = {
  news: "Scheduled maintenance: Saturday, 02:00 to 03:00 UTC.",
  // Replaces news below the sm breakpoint, so the banner holds one line.
  newsShort: "Maintenance Sat, 02:00 UTC.",
  newsLink: "Status page",
} as const

export default function MinimalBanner02() {
  return (
    <Banner className="border-b bg-card text-card-foreground">
      <ClockIcon aria-hidden="true" className="size-5 shrink-0 max-sm:hidden" />
      <BannerContent>
        <p className="min-w-0">
          <span className="sm:hidden">{COPY.newsShort}</span>
          <span className="max-sm:hidden">{COPY.news}</span>
        </p>
        <BannerLink href="#">{COPY.newsLink}</BannerLink>
      </BannerContent>
      <BannerDismiss />
    </Banner>
  )
}
```
