Review Queue Shell

Page-scale queue shell for list-detail triage, moderation flows, and operational review routes.

LLM handoff

Copy a concise page brief or the full MDX source without digging through the docs shell.

Selected record

The active item should read like one working record.

/feedback
feedback/2026-03-27-feedback-shell
Captured
Mar 27, 2026 10:42 AM
Status
In review
Owner
Platform

ReviewQueueShell is the page-scale recipe for triage routes. It combines a compact route header, a selection rail, and a persistent detail pane so queue work stays legible on normal desktop widths.

Installation

Install
Purchase access, then open /account/install to issue a registry token.

Usage

import { ReviewQueueShell } from "@/registry/swiss/blocks/review-queue-shell"
<ReviewQueueShell
  railHeader={<UtilityRouteHeader title="Use one authored split for triage." />}
  rail={<SelectionRail items={items} />}
  detail={<EvidenceReviewDeck title="Selected record" />}
/>

Why This Block Exists

Queues and review pages often drift into one of two failures: a hero plus a stack, or a dashboard collage. This shell gives those routes one authored split so the relationship between list and detail is resolved before page-local styling starts.

Examples

Default

Selected record

The active item should read like one working record.

/feedback
feedback/2026-03-27-feedback-shell
Captured
Mar 27, 2026 10:42 AM
Status
In review
Owner
Platform

In Context

Active detail

Pair the shell with a deck, a table workspace, or another dense detail surface. The key is keeping the list and the active record in one resolved relationship.

Guidance

  • Use it for review, moderation, QA, and inbox-style pages.
  • Keep the list rail compact and factual.
  • Pair it with a real detail surface. The shell is the split, not the content.

API Reference

ReviewQueueShell

PropTypeDefault
headerReactNodeundefined
railHeaderReactNodeundefined
railReactNoderequired
detailReactNoderequired
railClassNamestringundefined
detailClassNamestringundefined
classNamestringundefined
viewportLockedbooleanfalse