Staaarter

Split-Screen Sign In

Two-column sign-in screen: a full sign-in form with social provider buttons, email, password, and a remember-me checkbox on one side, and a solid-color brand panel listing product highlights on the other. The image/brand column position is configurable, so the same block works whether the brand panel should sit left or right.

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/split-screen-sign-in.json

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

Usage

The file also exports auth9Demo, 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 { Auth9, auth9Demo } from "@/components/blocks/auth/auth9";

export default function Page() {
  return <Auth9 {...auth9Demo} />;
}

Props

PropTypeDefaultDescription
headingReactNode"Sign in to your account"Form column heading.
descriptionstring"Welcome back, enter your details to continue."Form column subheading.
brandHeadingReactNodenoneHeading shown in the brand panel.
brandDescriptionstringundefinedOptional supporting text under the brand heading.
highlightsstring[]none3-4 product highlight bullets rendered with check icons in the brand panel.
imagePosition"left" | "right""right"Which side the brand panel sits on, swaps column order via order-first/order-last.
signUpHrefstring"#"Link target for the "Sign up" link.
forgotPasswordHrefstring"#"Link target for the "Forgot password?" link.
classNamestringnoneExtra classes for the outer section element.

Behavior notes

  • The password show/hide toggle and the "remember me" checkbox are both real client state (useState), everything else in the form is a static, non-functional preview.
  • The brand panel uses a solid bg-primary background rather than a photo, so it always matches the active theme preset instead of depending on stock imagery.
  • Social provider buttons ("Google", "Microsoft") are decorative and have no onClick handler, same as the inert CTAs in the About blocks.
  • The brand panel is hidden below the lg breakpoint (lg:flex), so on small screens only the sign-in form renders.