Page: Players¶
Player list with sorting, filtering, dossier slide-out, and inline admin actions.
Overview¶
The Players page displays all known players across the cluster with real-time ban/whitelist status. It uses @tanstack/react-table for sortable, filterable columns and a player dossier slide-out for detailed player profiles.
Data Table¶
| Column | Source | Sortable | Description |
|---|---|---|---|
| Player Name | BanEntry.player_name / presence data |
✓ | Steam display name |
| Player ID | Steam64 ID | ✓ | Unique Steam identifier |
| Status | Computed | ✓ | Online / Offline / Banned |
| Server | PlayerServerPresence.server_id |
✓ | Current server (if online) |
| Ban Status | BanEntry |
✓ | Active / Expired / None |
Global search filter matches across all columns. Pagination controls at the bottom.
Player Dossier Slide-Out¶
Clicking a player row opens a slide-out panel (vaul drawer) showing:
- Player Profile — Steam name, ID, current server, online status
- Ban History — all BanEntry rows for this player (active and revoked)
- Whitelist Status — whether the player is whitelisted
- Admin Actions — inline buttons with confirmation dialogs:
- Kick (Moderator+) — kick from current server with reason
- Ban (Moderator+) — ban with reason and optional duration
- Announce (Moderator+) — send announcement to player's server
Related Pages¶
- BanEntry Table — ban data structure
- PlayerServerPresence Table — presence tracking
- Admin Controls — bulk moderation actions