Staaarter

Sign-In Error

Full-height authentication-error screen with a warning icon, an explanation message, an optional monospace error code shown in a pill, and try-again, go-back, and contact-support actions.

By Staaarter Team
Auth
Docs
Live preview

Docs

Installation

A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its button dependencies and any missing npm packages, and installs them straight into your project.

npx shadcn add https://staaarter.com/r/sign-in-error.json

Prefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/auth/auth27.tsx instead.

Usage

The file also exports auth27Demo, 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 { Auth27, auth27Demo } from "@/components/blocks/auth/auth27";

export default function Page() {
  return <Auth27 {...auth27Demo} />;
}

Props

PropTypeDefaultDescription
headingstringnoneScreen heading.
descriptionstringnoneExplanation of what went wrong.
errorCodestringundefinedOptional machine-readable error code shown in a pill, e.g. "AUTH_INVALID_GRANT".
retryLabelstringnoneLabel for the try-again button.
backLabelstringnoneLabel for the go-back button.
supportLabelstringnoneLabel for the contact-support link.
supportHrefstringnoneHref for the contact-support link.
classNamestringnoneExtra classes for the outer section element.

Behavior notes

  • This is a plain server component with no client-side state.
  • 'Try again' and 'Go back' are rendered as inert buttons with no attached handlers, since retrying auth or navigating back requires real app wiring.
  • 'Contact support' is the one real link, rendered via the Button's render prop as a Next.js Link to supportHref.
  • The error-code pill only renders when errorCode is passed; omitting it removes the pill without leaving a gap.