"use client"; import { useState } from "react"; import { requestSuperUser } from "./actions"; interface Props { pendingRequest: { createdAt: Date; status: string } | null; } export function SuperUserRequestForm({ pendingRequest }: Props) { const [submitted, setSubmitted] = useState(false); const [error, setError] = useState(""); const [pending, setPending] = useState(false); if (pendingRequest) { const isPending = pendingRequest.status === "PENDING"; const isApproved = pendingRequest.status === "APPROVED"; return (
{isPending && "Your SuperUser access request is pending admin review."} {isApproved && "Your SuperUser access request was approved."} {!isPending && !isApproved && "Your SuperUser access request was not approved."}
); } if (submitted) { return (
Your request has been submitted. An admin will review it shortly.
); } async function handleSubmit(e: React.FormEvent) { e.preventDefault(); setPending(true); setError(""); const result = await requestSuperUser(new FormData(e.currentTarget)); setPending(false); if ("error" in result) setError(result.error); else setSubmitted(true); } return (

SuperUser access grants additional cross-team permissions. Describe why you need elevated access and an admin will review your request.