25 lines
557 B
TypeScript
25 lines
557 B
TypeScript
"use client";
|
|
|
|
import { useRouter } from "next/navigation";
|
|
|
|
export default function SignOutBtn() {
|
|
const router = useRouter();
|
|
const handleSignOut = async () => {
|
|
const response = await fetch("/api/sign-out", {
|
|
method: "POST",
|
|
redirect: "manual",
|
|
});
|
|
|
|
if (response.status === 0) {
|
|
// redirected
|
|
// when using `redirect: "manual"`, response status 0 is returned
|
|
return router.refresh();
|
|
}
|
|
};
|
|
return (
|
|
<button onClick={handleSignOut} className="w-full text-left">
|
|
Sign out
|
|
</button>
|
|
);
|
|
}
|