'use client';

import { useEffect, useRef } from 'react';
import { signOut } from 'next-auth/react';

export default function LogoutPage() {
  const hasStarted = useRef(false);

  useEffect(() => {
    if (hasStarted.current) return;
    hasStarted.current = true;

    // Set logout flag to prevent TokenSync/PresenceProvider from restoring tokens
    localStorage.setItem('isLoggingOut', 'true');

    // Clear all localStorage auth data
    localStorage.removeItem('accessToken');
    localStorage.removeItem('refreshToken');
    localStorage.removeItem('user');

    // Use signOut with callbackUrl - this ensures the server clears the
    // session cookie BEFORE the redirect happens (server-side 302).
    // Do NOT use redirect:false + manual redirect, as that causes a race
    // condition where navigation happens before the cookie is cleared.
    signOut({ callbackUrl: '/login' });
  }, []);

  return (
    <div className="min-h-screen flex items-center justify-center bg-white">
      <div className="text-center">
        <div className="w-12 h-12 border-4 border-[#e58625] border-t-transparent rounded-full animate-spin mx-auto mb-6" />
        <h1 className="font-fractul font-bold text-[24px] text-[#00293D] mb-2">
          Signing Out
        </h1>
        <p className="font-serif text-[14px] text-[#00293D]/60">
          Please wait while we securely log you out...
        </p>
      </div>
    </div>
  );
}
