import { useEffect } from 'react';

/**
 * Auth Guard Hook
 *
 * Purpose:
 * - Prevent browser back button cache issues
 *
 * Note:
 * - 인증 체크는 미들웨어에서 처리 (페이지 접근 전)
 * - API 401 처리는 PROXY에서 처리 (토큰 자동 갱신)
 * - 이 훅은 뒤로가기 시 캐시된 페이지 감지만 담당
 *
 * Usage:
 * ```tsx
 * export default function ProtectedPage() {
 *   useAuthGuard();
 *   // ... rest of component
 * }
 * ```
 */
export function useAuthGuard() {
  useEffect(() => {
    // 뒤로가기 시 페이지 새로고침 강제
    const handlePageShow = (event: PageTransitionEvent) => {
      if (event.persisted) {
        // 브라우저 캐시에서 로드된 경우 새로고침
        window.location.reload();
      }
    };

    window.addEventListener('pageshow', handlePageShow);

    // Cleanup
    return () => {
      window.removeEventListener('pageshow', handlePageShow);
    };
  }, []);
}
