8 solution docs
Admin panel solution docs
Users, bans, impersonation and an audit log. Your code, any auth provider.
Pick Admin panel and all 8 land in docs/solutions/admin-panel/, next to the rules and skills that reference them.
Every Admin panel doc in the registry
Tags: admin · app-router · audit-log · authorization · bans · better-auth · bootstrap · clerk · compliance · design · empty-states · layouts · nextjs · onboarding · pagination · postgres · product · refactoring · roles · routing · security · server-components · sessions · supabase · ui
Designing an audit log for an admin panel
One append-only table, namespaced past-tense actions, emails copied in, and a clear rule for when the audit row can share a transaction with the change and when it cannot.
admin · audit-log · postgres · security
Bans that actually sign people out
Setting banned = true stops the next sign-in, not the session already open. What Better Auth, Clerk and Supabase do on a ban, where caches and tokens let a banned user linger, and how to say so.
admin · bans · sessions · security
Empty states that are not sad
An empty state that only says "No data available" is a dead end. It should say what belongs here, why it is missing, and what to do next.
ui · empty-states · admin · design
Making the first admin without a back door
A fresh deploy has no admin, and the admin page needs one to add one. Use a terminal script with database or API credentials, never an env list of emails or a first-user-wins rule.
admin · roles · bootstrap · security
impersonating-users-safely
Paginating admin tables without a client library
Offset pages with a total for the users table, keyset cursors for the audit log, both in the URL and rendered on the server. When to use which, and the details that make each correct.
nextjs · pagination · admin · postgres
Role checks that survive a layout refactor
A check that lives only in a layout disappears the day someone moves the page. Put the boundary where the route is, and check again where the work happens.
nextjs · authorization · admin · layouts
Route group or path segment: how to lay out an admin section
A route group shares a layout without touching the URL; a path segment is the URL. Admin panels need both, and confusing them produces public pages and 404s.
nextjs · app-router · routing · layouts