20% offProwith

Buy now

App screenPro

Settings

shadcn add @detent-pro/settings
Detent · Settings

Wire it up

All optional. With none, it plays exactly as it does here and hands over to whoever touches it.

Usage
<Settings
  keys={keys}
  members={members}
  workspace={workspace}
  onCreateKey={(key) => {}}
  onRotateKey={(id) => {}}
  onInvite={(email) => {}}
/>

Your data

keys

The keys to list, each with an optional owner (a member id), spend as [used, limit] and expired flag. Only a prefix and the last four characters are ever shown.

ApiKey[]
Default—
members

The people in the workspace, with their roles.

Member[]
Default—
workspace

The workspace’s name, in the danger zone.

string
Default'Harbor'
assistant

What the AI is called, everywhere the screen names it.

string
Default'Detent'

What it tells you

onCreateKey

Called with a new key once it’s made. The secret never leaves the sheet.

(key: ApiKey) => void
Default—
onRotateKey

Called with a key’s id when a person rotates it.

(id: string) => void
Default—
onInvite

Called with the address a person invites.

(email: string) => void
Default—
onDeleteWorkspace

Called when a person holds to delete, and with false if they undo it.

(deleted: boolean) => void
Default—

Every block also takes accent, the one colour everything in it derives from; autoplay, which plays the demo until someone touches it; and className.