Staaarter

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.

By Staaarter Team
Error
Docs
Live preview

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.json

Prefer 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

PropTypeDefaultDescription
headingReactNode"You don't have access to this workspace"Main headline in the left column.
descriptionstringundefinedSupporting copy under the headline.
accountAccountnoneSigned-in account shown in the right column's card.
requirementsstring[]noneBulleted list of what's needed to gain access.
requestHrefstring"#"Link target for the request-access button.
requestLabelstring"Request access"Label on the request-access button.
classNamestringnoneExtra 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.