"use client";

import { useState } from "react";
import { Button } from "@/components/ui/button";
import { authClient } from "@/lib/auth-client";

/** Bouton de déconnexion générique, pour les coquilles sans navigation propre :
 *  le shell God Mode (compte SYS orgless, aucune app cliente vers laquelle
 *  « sortir ») et le wizard d'onboarding (pas encore de sidebar). Dans les deux
 *  cas la déconnexion est la seule issue latérale, elle doit rester visible.
 *  `window.location` force un rechargement complet (pas de state RSC périmé). */
export function SignOutButton({
  label,
  variant = "outline",
}: {
  label: string;
  variant?: "outline" | "ghost";
}) {
  const [pending, setPending] = useState(false);
  return (
    <Button
      variant={variant}
      size="sm"
      disabled={pending}
      onClick={async () => {
        setPending(true);
        try {
          await authClient.signOut();
        } finally {
          window.location.href = "/login";
        }
      }}
    >
      {label}
    </Button>
  );
}
