Staaarter

Session Expired Sign In

A full-height session-timeout screen: an accent headline over an account strip showing an initials avatar, the signed-out email address, and the time it happened, an autosave-reassurance line, and a Sign in button beside a Switch account link.

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, avatar, avatar-initials dependencies and any missing npm packages, and installs them straight into your project.

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

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

Usage

The file also exports error27Demo, 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 { Error27, error27Demo } from "@/components/blocks/error/error27";

export default function Page() {
  return <Error27 {...error27Demo} />;
}

Props

PropTypeDefaultDescription
headingReactNodenoneMain headline, can include an inline accent span.
descriptionstringnoneSupporting copy under the headline.
namestringnoneFull name used to derive the initials shown in the avatar.
emailstringnoneEmail address of the signed-out account.
signedOutAtstringnoneHuman-readable time the session ended, e.g. "4:12 PM".
autosaveMessagestringnoneReassurance line confirming unsaved work was preserved.
signInLabelstringnoneLabel for the primary sign-in button.
signInHrefstringnoneHref for the primary sign-in button.
switchAccountLabelstringnoneLabel for the switch-account link.
switchAccountHrefstringnoneHref for the switch-account link.
classNamestringnoneExtra classes for the outer section element.

Behavior notes

  • Fully static server component: no client state, hooks, or interactivity of any kind.
  • signedOutAt is a plain string prop supplied by the caller (e.g. "4:12 PM"), not computed from new Date() at render time, so the block stays hydration-safe and identical across every render.
  • Sign in and Switch account both render as real Next.js Link components via the Button's render prop, but neither performs a real authentication flow.