setup done

This commit is contained in:
Om Lanke
2025-06-25 15:25:44 +05:30
parent ceb4b6b811
commit 2b777df5e2
55 changed files with 503 additions and 90 deletions

View File

@@ -0,0 +1,25 @@
"use client";
import { signIn } from "@workspace/auth";
import { Button } from "@workspace/ui/components/button";
export default function Login({logIn}: {logIn: () => Promise<void>}) {
return (
<form action={logIn}>
<Button
type="submit"
variant="outline"
className="w-full h-12"
>
<div className="absolute inset-0 bg-gradient-to-r from-primary/0 via-primary/10 to-primary/0 translate-x-[-100%] group-hover:translate-x-[100%] transition-transform duration-700 ease-out pointer-events-none" />
<img
src="https://static.cdnlogo.com/logos/g/35/google-icon.svg"
alt="Google logo"
className="w-5 h-5 transition-transform duration-200"
/>
<span className="relative z-10 font-medium transition-colors duration-200 group-hover:text-foreground">
Sign in with Google
</span>
</Button>
</form>
);
}

View File

@@ -0,0 +1,19 @@
import { Button } from "@workspace/ui/components/button";
import { auth } from "@workspace/auth";
export default async function Studs({
action,
logOut,
}: {
action: () => void;
logOut: () => void;
}) {
const session = await auth();
if (!session?.user) return null;
return (
<div className="flex gap-2">
<Button onClick={action} variant="outline">Click me</Button>
<Button onClick={logOut}>Sign Out</Button>
</div>
);
}