273
The page you hit when a doc is private: who you are signed in as, a switch-account menu, an optional note and a Request access button. It then shows who the request went to, when, and a resend that unlocks after a countdown.
akarequest access·permission denied·403
Run this in any project set up for the shadcn CLI. It copies the Request Access source into your components folder, so the code is yours to change.
npx shadcn@latest add https://devl.dev/r/request-access.jsonImport it and render it. Every prop has a typed default, so it works straight away, and you pass your own data when you’re ready.
import { RequestAccess } from "@/components/request-access";
export default function Page() {
return <RequestAccess />;
}A free React block in the Empty & Error collection, written in TypeScript with Tailwind CSS on coss ui. MIT licensed.
Read from the Request Access source. Everything is optional unless it says required.
| Prop | Type | Default |
|---|---|---|
| workspace | string | "Ridgeline" |
| space | string | "Strategy" |
| doc | string | "Q3 roadmap" |
| owner | AccessPerson | { name: "Mara Okafor", email: "mara@ridgeline.app", initials: "MO" } |
| user | AccessPerson | { name: "Ada Lindqvist", email: "ada@ridgeline.app", initials: "AL" } |
| otherAccounts | string[] | [] |
| resendAfter | number | 60 |
| status | AccessStatus | — |
| defaultStatus | AccessStatus | "denied" |
| onStatusChange | (status: AccessStatus) => void | — |
| onRequest | (note: string) => void | — |
| onResend | () => void | — |
| onCancel | () => void | — |
| onSwitchAccount | (email: string | null) => void | — |
| children | ReactNode | — |
| className | string | — |