WorkspaceSwitcherMenu
Attio's own workspace-switcher popover content — a checked workspace row plus the fixed account/workspace actions.
The fixed content of Attio's workspace-switcher popover (crisp#632), live-measured off app.attio.com/techpartners: each workspace as a checked/unchecked row, then New workspace, Account settings / Workspace settings, Invite members / Upgrade Attio / Refer another team, Apps and integrations, and Sign out — each group separated by a hairline, in a 280px-wide popover.
This is content, not a component with its own trigger — Sidebar's workspaceMenu prop already builds the real menu-button/popover around whatever children it's given (crisp#415); pass WorkspaceSwitcherMenu there, or drop it into your own Menu the way this example does.
Installation
npm install @crisp-ui-kit/crispProps
Notes
workspacestakes as many rows as the consumer has — a single-workspace account renders one checked row, same as Attio's own (the "switcher" only shows more than one workspace when the signed-in account belongs to more than one).- Every string is translatable through
CrispMessagesProvider. - Every fixed row below the workspace list is independently omittable via its own
showXprop (defaulttrue, crisp#1023) — a single-workspace, no-billing consumer (internal/grc, the case this was built for) passesshowNewWorkspace={false} showUpgradeAttio={false}etc. rather than ship rows whose handler is a no-op. Hiding every row in a group drops that group's hairline too, so the remaining groups still get exactly one separator each.