Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Content Management Sidebar Block for Ark UI

A headless CMS in a fixed-height window whose tinted sidebar marks pages with unpublished entries as Changed, counts them in a footer card and clears them all with Publish all.

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

Show what is waiting to go live with this content management sidebar for React with Ark UI. A window framed by a hairline with a plus mark on each corner holds a tinted Sidebar for Sheafmill, a headless CMS, with nine pages in four collapsing groups. A page with unpublished entries carries a Changed marker, a dot and the word, and a folded group over one shows a dot. A card in the foot says 3 unpublished changes in text. The one button in the top bar, Publish all, clears every marker and the card then says Everything is published, and each changed entry on the page has its own Publish button. Built from Sidebar, Collapsible, Button, Shine Button and Guides, with a CSS entrance only. For CMSs and editors with drafts across many collections.

FAQ

Where does the count come from?

From the list of changed entries, not from a typed number. The card, the markers, the page line and the status line all read it, so publishing one entry or all of them keeps every place in step.

Can I publish one entry?

Yes. Each changed entry has an outline Publish button that clears only its marker. Publish all stays the one filled button, in the top bar.

What if a group is folded over a change?

Its label shows a dot and its name becomes, for example, Structure, holds a change. Unfolding shows the page with its Changed marker.

What happens when the sidebar folds to icons?

The rail keeps the nine pages as icons with tooltips that say changed, and shows every group open. The footer card is hidden while folded. The provider is set with persist={false} and shortcut={false}, so the block writes no cookie and leaves Ctrl and Command with B to the page it sits on.

What stays in the page, and how do I connect it?

Everything. The entries and their states are typed, and publishing only changes this window. Call your publish endpoint in the handlers and read the unpublished list from your API.

How does it work on a phone?

Below the medium breakpoint the sidebar is a sheet that the menu button in the top bar opens from the start edge, the right in a right-to-left layout. Choosing a page closes the sheet; Publish all stays in the top bar and the status line says how many are left. The status line under the page says what happened, and the sheet carries its own copy of it while it is open.