Xzero UI
Pro library

Immersive loginPro

A glass magic link card over dusk photography that folds its envelope shut once sent.

$ pnpm dlx shadcn@4.23.0 add @xzero-ui-pro/login-immersive
Live · keyboard ready

Variant: Immersive

A glass magic link card over dusk photography that folds its envelope shut once sent.

Use this as a full screen sign in or sign up page (pass fullScreen). Connect the email form to your magic link sender, Open mail app to a mailto or deep link, and the SSO buttons to your OAuth routes; onSignIn receives the email and method.

When to use

When not to use

Installation

Register both Xzero UI namespaces in your project's components.json:

{
  "registries": {
    "@xzero-ui": "https://mcp.xzero.co.uk/r/{name}.json",
    "@xzero-ui-pro": "https://mcp.xzero.co.uk/r/pro/{name}.json"
  }
}
npx shadcn@4.23.0 add @xzero-ui-pro/login-immersive

Install xzero-foundation once, and import @/components/xzero/foundation.css in your app root. No Xzero token is used by this snapshot. For sample portraits, photos, fonts, or logos, download https://mcp.xzero.co.uk/install-assets.mjs and run node xzero-install-assets.mjs <receiving-project>.

Usage

import { LoginImmersive } from "@/components/xzero/blocks/login-immersive/login-immersive";

export default function SignInPage() {
  return (
    <LoginImmersive
      fullScreen
      termsHref="/terms"
      privacyHref="/privacy"
      onSignIn={(email, method) => console.log(email, method)}
    />
  );
}

API reference

LoginImmersive

A glass magic link card over a full-bleed photo whose envelope folds shut once the link is sent. The photo is imported from public/media/photos/mountain-ridges.jpg; sending and SSO are simulated.

PropTypeDefaultDescription
fullScreenbooleanfalseFill the viewport (100dvh, square corners) when the block is the whole page.
onSignIn(email: string, method: LoginImmersiveMethod) => void–Called once the simulated sign in succeeds. LoginImmersiveMethod is "Magic link" | "Google" | "Apple" | "GitHub".
resendSecondsnumber30Seconds before another link can be sent.
termsHrefstring–Terms link. Without it the preview explains where the link would go.
privacyHrefstring–Privacy link. Without it the preview explains where the link would go.

Accessibility

Motion

Responsive behavior

Performance

Notes for AI

Related

Browse all components