fabro/apps/arc-web/app/components/auth-layout.tsx
Bryan Helmkamp f1bf37349d Extract AuthLayout component and polish auth UI
Shared layout for setup, login, and callback pages with consistent
styling. Add GitHub mark icon to action buttons. Document dev server
commands in CLAUDE.md.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 20:19:15 -05:00

38 lines
890 B
TypeScript

import type { ReactNode } from "react";
function ArcLogo({ className }: { className?: string }) {
return (
<img
src="/logo.svg"
alt="Arc"
className={className}
draggable={false}
/>
);
}
export function AuthLayout({
children,
footer,
}: {
children: ReactNode;
footer?: ReactNode;
}) {
return (
<div className="flex min-h-screen flex-col items-center justify-center bg-atmosphere px-4">
<div className="w-full max-w-sm">
<div className="mb-8 flex justify-center">
<ArcLogo className="h-12 w-12" />
</div>
<div className="rounded-xl border border-line bg-panel/80 p-8 shadow-lg backdrop-blur-sm">
{children}
</div>
{footer && (
<div className="mt-4 text-center text-xs text-fg-muted">
{footer}
</div>
)}
</div>
</div>
);
}