Adventureland Registry

Orgs Overview Dialog

A trigger button that opens an ordered org roster in a Dialog (desktop) or Drawer (mobile). Supports per-org visibility gating.

OrgsOverviewDialog renders a compact trigger button labeled with the org count. On click it opens a numbered roster list. On desktop a Dialog scales from the button's origin; on mobile a Drawer sheet slides up. Orgs with visibility: 'hidden' are excluded; visibility: 'inert' shows a "coming soon" badge and disables navigation.

Installation

npx shadcn@latest add @adv/orgs-overview-dialog

Usage

import { OrgsOverviewDialog } from '@/components/autoPlayTabs/OrgsOverviewDialog';

<OrgsOverviewDialog
  orgs={[
    { id: 'signoz', title: 'SigNoz', subtitle: 'OSS Observability', href: '/work/signoz', tags: ['B2B', 'OSS'], visibility: 'visible' },
    { id: 'creem', title: 'Creem.io', subtitle: 'Payments for AI', href: '/work/creem', tags: ['B2B', 'AI'], visibility: 'visible' },
  ]}
  onNavigate={(href) => router.push(href)}
/>

Example

Props

PropTypeDefaultDescription
orgsOrgEntry[]Roster: { id, title, subtitle, href, tags?, visibility? }.
headerTitlestring"/ Previously at [ N orgs ]"Dialog/Drawer title override.
descriptionstring"Every organization..."Sub-description below the title.
onNavigate(href: string) => voidwindow.location.href = hrefNavigation callback when an org row is clicked.
classNamestring""Additional className on the trigger button.

OrgEntry

FieldTypeDefaultDescription
idstringUnique key.
titlestringDisplay name.
subtitlestringShort tagline.
hrefstringTarget URL.
tagsstring[][]Tag chips (market, domain).
visibility'visible' | 'inert' | 'hidden''visible'Gating state.

On this page