## Active Sessions (S—210)

Signed-in devices with place and last active: this one is pinned, revoke others with a confirm or all at once.

- URL: https://sundaeui.dev/components/active-sessions
- Category: UI components · Art direction: Refined
- Access: Free (no account needed)
- Stack: React 18+, TypeScript, plain CSS; dependencies: none
- Install: `npx shadcn@latest add https://sundaeui.dev/r/active-sessions.json`
- Tags: security, settings, sign-out, devices, account, sessions

Each session shows device, browser, rough location and when it was last used. Revoke asks once inline, then the row slides away.
“Sign out all other sessions” keeps the current device and clears the rest, with a count of what it did.

### Usage

```tsx
import { ActiveSessions } from '@/components/sundae/active-sessions'

<ActiveSessions />
```

### Props

- `sessions` (`Session[]`, required): Device, browser, place, lastActive, current.
- `onRevoke` (`(ids: string[]) => void`): Called with revoked ids.
- `fill` (`'dark' | 'light'`, default `'dark'`): Surface: dark or light.

### When to use

- Account security pages, admin user detail views.

### When not to use

- Apps without server-side sessions to revoke.

### Accessibility

- Each session is a list item; revoke buttons name the device.
- The confirm step moves focus to its confirm button; results are announced.
- Reduced motion removes the movement and keeps every state change.
