screens

Screens overview

Drop-in screen scaffolds. AuthLayout, EmptyState, ErrorScreen.


@plyxui/screens is the "I just need a competent default" layer. Each export is a screen scaffold you can use as-is or peel apart for your own composition.

Install

npm install @plyxui/screens

Auto-pulls everything below: layouts, primitives, icons, styles, core, hooks (transitively).

AuthLayout

The classic centered-card layout used by sign-in, sign-up, forgot-password, and magic-link confirm.

import { AuthLayout } from "@plyxui/screens";

<AuthLayout
  title="Sign in"
  subtitle="Welcome back."
  brand={<Logo />}
  footer={<a href="/help">Trouble signing in?</a>}
>
  <SignInForm />
</AuthLayout>

EmptyState

The "no data yet" screen. Big icon, headline, supporting copy, optional CTA. Use as a leaf inside a routed view (not a full-screen layout).

import { EmptyState } from "@plyxui/screens";
import { Button } from "@plyxui/primitives";

<EmptyState
  icon="inbox"
  title="No messages yet"
  body="When someone reaches out, they'll show up here."
  action={<Button onClick={invite}>Invite a friend</Button>}
/>

ErrorScreen

The "something broke" full-screen. Big status code, headline, optional retry + go-home buttons.

import { ErrorScreen } from "@plyxui/screens";
import { Button } from "@plyxui/primitives";

<ErrorScreen
  code={500}
  title="Server hiccup"
  body="We logged it. Hit retry or head back home."
  primary={<Button onClick={retry}>Retry</Button>}
  secondary={<Button variant="ghost" as="a" href="/">Home</Button>}
/>