"use client"; import { useState } from "react"; import { Loader2, Mail } from "lucide-react"; import { toast } from "sonner"; import { authClient } from "@/lib/auth-client"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; function GoogleIcon() { return ( ); } export function GirisForm({ callbackURL }: { callbackURL: string }) { const [email, setEmail] = useState(""); const [busy, setBusy] = useState<"google" | "email" | null>(null); const [sent, setSent] = useState(false); async function googleIleGiris() { setBusy("google"); const { error } = await authClient.signIn.social({ provider: "google", callbackURL, }); if (error) { toast.error("Google ile giriş başarısız. Tekrar dener misin?"); setBusy(null); } } async function linkGonder(e: React.FormEvent) { e.preventDefault(); if (!/^\S+@\S+\.\S+$/.test(email)) { toast.error("Geçerli bir e-posta adresi gir."); return; } setBusy("email"); const { error } = await authClient.signIn.magicLink({ email, callbackURL, }); setBusy(null); if (error) { toast.error("Bağlantı gönderilemedi. Tekrar dener misin?"); return; } setSent(true); } if (sent) { return (

Bağlantı gönderildi 📬

{email} adresine bir giriş bağlantısı gönderdik. Gelen kutunu (ve spam klasörünü) kontrol et — bağlantı 5 dakika geçerli.

); } return (
veya
setEmail(e.target.value)} disabled={busy !== null} className="h-11" />
); }