"use client"; /** * /staff — who can use the admin panel, and with what powers. Superadmins only. * * Two tabs: the people (grant, change role, block, revoke) and the roles * (the three system roles, plus custom ones built from the permission * catalog). Every rule that matters — you can't act on yourself, the last * active superadmin can't be removed, custom roles can't hold staff * management — is enforced by the BFF; this page just explains the refusal. */ import { useState } from "react"; import { cn } from "@/lib/utils"; import { StaffTab } from "./staff-tab"; import { RolesTab } from "./roles-tab"; export default function StaffPage() { const [tab, setTab] = useState<"staff" | "roles">("staff"); return (

Staff & roles

Decide who can use this panel and what each role may do.

{(["staff", "roles"] as const).map((t) => ( ))}
{tab === "staff" ? : }
); }