"use client"; import { signOut, useSession } from "next-auth/react"; import Link from "next/link"; import { useRouter } from "next/navigation"; import { useEffect, useState } from "react"; import { Button } from "~/components/ui/button"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "~/components/ui/card"; export default function SignOutPage() { const { data: session, status } = useSession(); const router = useRouter(); const [isSigningOut, setIsSigningOut] = useState(false); useEffect(() => { // If user is not logged in, redirect to home if (status === "loading") return; // Still loading if (!session) { router.push("/"); return; } }, [session, status, router]); const handleSignOut = async () => { setIsSigningOut(true); try { await signOut({ callbackUrl: "/", redirect: true, }); } catch (error) { console.error("Error signing out:", error); setIsSigningOut(false); } }; if (status === "loading") { return (

Loading...

); } if (!session) { return null; // Will redirect via useEffect } return (
{/* Header */}

HRIStudio

Sign out of your research account

{/* Sign Out Card */} Sign Out Are you sure you want to sign out of your account?

Currently signed in as: {session.user.name ?? session.user.email}

{/* Footer */}

© 2024 HRIStudio. A platform for Human-Robot Interaction research.

); }