Files
local-cal/src/components/sign-in.tsx
Dmytro Stanchiev 8d9329050d fix(ui): add error handling to sign-out
Add try/catch with toast notification for sign-out failures.
2026-04-06 23:24:40 -04:00

45 lines
970 B
TypeScript

"use client"
import { signOut, useSession } from "@/lib/auth-client"
import { Button } from "@/components/ui/button"
import { useRouter } from "next/navigation"
import { toast } from "sonner"
export default function SignIn() {
const { data: session, isPending } = useSession()
const router = useRouter()
const handleSignOut = async () => {
try {
await signOut()
router.push("/")
} catch (error) {
toast.error("Failed to sign out. Please try again.")
}
}
if (isPending) {
return <div className="h-8 w-16 bg-muted animate-pulse rounded"></div>
}
if (session?.user) {
return (
<div className="flex items-center gap-4">
<Button onClick={handleSignOut} variant="ghost" size="default">
Sign Out
</Button>
</div>
)
}
return (
<Button
onClick={() => router.push("/auth/signin")}
variant="outline"
size="default"
>
Sign In
</Button>
)
}