"use client";

import { useState } from "react";
import { csrfFetch } from "@/lib/client-csrf";

export function LogoutButton() {
  const [loading, setLoading] = useState(false);

  async function logout() {
    setLoading(true);
    const response = await csrfFetch("/api/auth/logout", { method: "POST" });
    const data = (await response.json()) as { redirectTo?: string };
    window.location.href = data.redirectTo || "/";
  }

  return (
    <button
      type="button"
      onClick={() => void logout()}
      disabled={loading}
      className="rounded-full border border-[#cfc4b2] px-4 py-2 text-sm font-semibold text-[#274739] disabled:opacity-60"
    >
      {loading ? "Signing out..." : "Sign out"}
    </button>
  );
}
