403 Access Request
Two-column 403 screen for team apps. The left column has a lock badge, a bold headline, and a request-access button; the right column shows the currently signed-in account (avatar-initials, email, an account-switch link) plus a bulleted list of what's required to gain access.
Docs
Installation
A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its button, badge, avatar, avatar-initials dependencies and any missing npm packages, and installs them straight into your project.
npx shadcn add https://staaarter.com/r/403-access-request.jsonPrefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/error/error16.tsx instead.
Usage
The file also exports error16Demo, the exact props behind the preview above. Spread it to get a working section in one line, then replace it with your own data.
import { Error16, error16Demo } from "@/components/blocks/error/error16"; export default function Page() { return <Error16 {...error16Demo} />; }
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| heading | ReactNode | "You don't have access to this workspace" | Main headline in the left column. |
| description | string | undefined | Supporting copy under the headline. |
| account | Account | none | Signed-in account shown in the right column's card. |
| requirements | string[] | none | Bulleted list of what's needed to gain access. |
| requestHref | string | "#" | Link target for the request-access button. |
| requestLabel | string | "Request access" | Label on the request-access button. |
| className | string | none | Extra classes for the outer section element. |
Types
type Account = { name: string; email: string; switchHref?: string };
Behavior notes
- Entirely static/server-rendered: the account card's avatar renders initials only (no photo prop), and the "Switch" and "Request access" controls are plain next/link navigation with no client state.
- The requirements list and account details are just rendered data, there is no live permission check or request flow wired up.
More Error Blocks
View all →centered-404-message
Centered 404 Message
Minimal centered 404 with two CTAs and a divided row of popular page links.
404-with-site-search
404 With Site Search
404 screen with a working search box and a bordered list of suggested pages.
split-404-with-image
Split 404 With Image
Two-column 404 with the message on one side and a full-bleed photo that scales on hover on the other.
404-with-destination-cards
404 With Destination Cards
404 screen with a grid of icon destination cards plus fallback CTA buttons.
404-support-panel
404 Support Panel
Card-style 404 echoing the requested URL, with a real back button and a support/status link row.
inline-404-line
Inline 404 Line
The smallest possible 404: code and message on one divided line with one button underneath.