Staaarter

Split-Screen Sign Up

A two-column registration screen: a sign-up form (social buttons, name, email, password with a show/hide toggle, and a terms checkbox) on one side, and a full-bleed photo with a customer testimonial overlay on the other. The photo side can be flipped with a single prop.

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

npx shadcn add https://staaarter.com/r/split-screen-sign-up.json

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

Usage

The file also exports auth2Demo, 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 { Auth2, auth2Demo } from "@/components/blocks/auth/auth2";

export default function Page() {
  return <Auth2 {...auth2Demo} />;
}

Props

PropTypeDefaultDescription
headingstring"Create your account"Form column heading.
descriptionstring"Start your free trial, no credit card required."Short subheading under the heading.
photoMediaSlotImagenoneFull-bleed photo for the image column.
testimonialTestimonialnoneQuote overlaid on the photo column, omitted if not passed.
imagePosition"left" | "right""right"Which side the photo column renders on at the lg breakpoint.
termsHrefstring"#"Link target for the Terms of Service link.
signInHrefstring"#"Link target for the Sign in link.
classNamestringnoneExtra classes for the outer section element.

Types

type MediaSlotImage = { src: string; alt: string };

type Testimonial = {
  quote: string;
  name: string;
  role: string;
};

Behavior notes

  • The show/hide password toggle is real client-side state, same as the other sign-in blocks.
  • imagePosition is a plain prop-driven swap using order-first/order-last utility classes, no client state involved, so it works even though the rest of the block needs "use client" for the password toggle.
  • The photo column is hidden below the lg breakpoint so the form is never squeezed on small screens; social buttons, the terms checkbox, and the submit button are all decorative.