# Auth 4

> Clean sign-in screen with full-width divider and social actions.

A shadcn/ui block from the [@efferd](https://efferd.com/) registry, listed on [shadcn.exchange](https://shadcn.exchange/r/efferd/auth-4).

- Page, with a live preview: https://shadcn.exchange/r/efferd/auth-4
- Screenshot: https://abzjhwgwpdpz7ua5.public.blob.vercel-storage.com/shots/efferd/auth-4-light-4d71b64927020266.png
- Registry item: https://efferd.com/r/auth-4.json
- Categories: auth
- Listed: 2026-10-13, source last changed 2026-10-13

## Install

```bash
npx shadcn@latest add https://efferd.com/r/auth-4.json
```

Run it in a project that has shadcn/ui set up. It adds the files below and installs what they depend on.

## Dependencies

- Registry items: `@efferd/full-width-divider`, `@efferd/logo`, `@efferd/auth-divider`, `@efferd/google-icon`, `button`, `input-group`

## Files

### `registry/blocks/auth/4/index.tsx`

```tsx
import { GoogleIcon } from "@/components/icons/google-icon";
import { Logo } from "@/components/logo";
import { Button } from "@/components/ui/button";
import {
	InputGroup,
	InputGroupAddon,
	InputGroupInput,
} from "@/components/ui/input-group";
import { AuthDivider } from "@/components/auth-divider";
import { FullWidthDivider } from "@/components/full-width-divider";

export function AuthPage() {
	return (
		<div className="relative w-full overflow-hidden px-4 md:h-screen">
			<div className="relative mx-auto flex min-h-screen w-full max-w-sm flex-col justify-center border-x *:px-6">
				<div className="flex flex-col space-y-6">
					<a aria-label="Home" className="" href="#">
						<Logo className="h-4.5" />
					</a>
					<div className="space-y-1">
						<h1 className="font-heading font-semibold text-xl tracking-wide">
							Hey, welcome!
						</h1>
						<p className="text-base text-muted-foreground">
							Log in or sign up. It only takes a moment.
						</p>
					</div>
				</div>

				<div className="relative my-6 flex size-full flex-col gap-4 py-8">
					<FullWidthDivider position="top" />

					<Button className="w-full" type="button" variant="outline">
						<GoogleIcon data-icon="inline-start" />
						Continue with Google
					</Button>
					<AuthDivider>OR CONTINUE WITH EMAIL</AuthDivider>
					<form className="space-y-2">
						<InputGroup>
							<InputGroupInput
								aria-label="Email address"
								placeholder="your.email@example.com"
								type="email"
							/>
							<InputGroupAddon align="inline-start">
								<IconPlaceholder
									hugeicons="AtIcon"
									lucide="AtSignIcon"
									phosphor="AtIcon"
									remixicon="RiAtLine"
									tabler="IconAt"
								/>
							</InputGroupAddon>
						</InputGroup>

						<Button className="w-full" size="sm" type="submit">
							Continue With Email
						</Button>
					</form>
					<FullWidthDivider position="bottom" />
				</div>

				<p className="text-center text-muted-foreground text-sm">
					This site is protected by reCAPTCHA and the Google{" "}
					<a
						className="underline underline-offset-4 hover:text-primary"
						href="#"
					>
						Privacy Policy
					</a>{" "}
					and{" "}
					<a
						className="underline underline-offset-4 hover:text-primary"
						href="#"
					>
						Terms of Service
					</a>{" "}
					apply.
				</p>
			</div>
		</div>
	);
}
```
