Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Maintenance Mode Settings Block for React

A maintenance mode settings page you edit in place: a slim admin bar with the switch, the window and a bypass popover, over the visitors' page drawn with a headline and message you click to edit, or the live store when it is off.

Framework
UI library

Preview

Preview width

Installation

Part of Pro
Pro unlocks the code and one-line install of every Pro button and text effect, plus the MCP for your AI editor.
Have Pro already? Sign in to open it.Opens here as soon as you're Pro.

Overview

Close a store for a while with a page you edit where it stands, with this maintenance mode settings page for React with Base UI. Under the title one sentence says what the window does to visitors ("Visitors see this page from Fri, Oct 16 at 22:00 UTC until Sun, Oct 18 at 14:00 UTC, 40 hours. 2 bypass addresses still reach the store"). A slim admin bar holds a Switch, the first and last day as date fields with an hour Native Select each, all in UTC, and a Bypass Button that opens a non-modal Popover with a Tags Input of the IPv4 addresses and ranges that still see the live store. Under the bar the visitors' page is drawn: the store's name, a headline and a message you click to edit with Editable (Enter or a click away keeps it, Escape drops it), and the time they are back, worked out from the end of the window. With the switch off the same space draws the live store instead. A window that ends before it starts, or starts before today, is refused with a message. A pinned foot counts unsaved changes beside a Shine Button that saves them in the page and an outline Discard. It's built from Switch, Native Select, Popover, Tags Input, Editable, Input, Button, Shine Button and Guides, with a CSS entrance only. For a store builder, a SaaS admin or any product that needs a planned downtime page.

FAQ

How do I change the window, the copy and the addresses?

Edit SAVED at the top: whether it is on, the first and last day with an hour each, the headline, the message and the bypass addresses. AS_OF is the fixed current day a window can't start before, HOURS the hours the selects offer, and MAX_BYPASS, MAX_HEADLINE and MAX_MESSAGE the limits. The sentence under the title, the hours count and the time the page says people are back are worked out from those.

How does editing in place work?

Click the headline or the message, or press its pencil button (the keyboard route), and a field takes its place at the same size: Enter or a click away keeps the change, Escape drops it, and an empty headline or message puts the saved text back and says it can't be empty. The page updates as you type, the unsaved count follows, and the status line says when a headline or message was updated. The drawn page is a region named for what it shows.

What does the bypass list do?

It holds up to five IPv4 addresses or ranges, and the popover refuses anything else with a message under the field (press Enter or a comma to add one, Backspace or the chip's button to remove it). The count shows on the Bypass button and in the sentence. Escape closes the popover and returns focus to the button. Nothing here lets anyone in or keeps anyone out.

What stays local, and how do I make it real?

Everything. Nobody is locked out and no page is served: the window, the copy and the addresses live in this page's state, and the live store is a drawing. To make it real, save the plan on your server, serve the maintenance page (with a 503 status and a Retry-After header) to everyone outside the bypass list while the window is open, and check the bypass list against the address your server sees behind your proxies.

How does it look on a phone, and is it accessible?

The bar wraps into rows (the switch and Bypass, then each end of the window with its hour), the drawn page keeps its height and the foot is pinned to the bottom of the screen with the one primary. The switch, the date fields, the hour selects and the popover's field are all named, dates and hours are in UTC and say so in their labels, the status line is a polite live region present from the start, and with the switch off the maintenance copy is hidden from assistive technology rather than only from sight.

  • Pro

    A build settings panel for a static-site host: a preset fills the folder and commands, and a dark terminal writes the build log from the fields, or stops at the error a real runner would give.

  • Pro

    Backup Schedule Settings

    Backups and exports

    A backup schedule panel that leads with what the schedule amounts to (the next run, how much history the copies cover, how much space they take), with frequency, time, retention and destination controls beside a list of the next five runs.

  • Pro

    A full-height maintenance page for an online bank that shows a five-segment progress bar with the window's start and expected return, and a Check again button that reports a typed result.

  • Pro

    A full-height holding page for a marketplace that is not open yet: an email form that checks itself and notes the address in place, beside the four phases of the build as a vertical Steps with a bar for the schedule.

  • Pro

    A maintenance callout for a managed database service: a warning heading and two sentences over a second band that draws the day as 24 hour cells, with the two hours inside the window filled.

  • Pro

    A moderation rules window: a rail of four rules, an editor with action, sensitivity and blocked words, and a tester that runs a typed comment through the rules and marks what matched.