Two-Column Login with Image
Two-column login with a full-height image on desktop that collapses to a single column on mobile. Swap the placeholder image and company name, the form itself is a separate login-form component pulled from the same source URL.
Live preview
open in new tab ↗import { GalleryVerticalEnd } from "lucide-react"
import { LoginForm } from "./login-form"
export default function LoginPage() {
return (
<div className="grid min-h-svh lg:grid-cols-2">
<div className="flex flex-col gap-4 p-6 md:p-10">
<div className="flex justify-center gap-2 md:justify-start">
<a href="#" className="flex items-center gap-2 font-medium">
<div className="flex size-6 items-center justify-center rounded-md bg-primary text-primary-foreground">
<GalleryVerticalEnd className="size-4" />
</div>
Your Company
</a>
</div>
<div className="flex flex-1 items-center justify-center">
<div className="w-full max-w-xs">
<LoginForm />
</div>
</div>
</div>
<div className="relative hidden bg-muted lg:block">
<img src="/placeholder.svg" alt="" className="absolute inset-0 h-full w-full object-cover dark:brightness-[0.2] dark:grayscale" />
</div>
</div>
)
}Block id: shadcn-login-02react-tailwind · swap-content
More form blocks
Want the whole site, not just the block?
We ship real client sites in 3 weeks — with blocks like this one, wired to your brand.



