'use client';

import { useEffect, useState } from "react";
import { useRouter } from "next/navigation";
import { useAuthStore } from "@/store/auth-store";

export default function Home() {
  const router = useRouter();
  const { isAuthenticated, accessToken, loadProfile, clearAuth } = useAuthStore();
  const [isValidating, setIsValidating] = useState(true);

  useEffect(() => {
    const validateAuth = async () => {
      // 토큰이 있으면 유효성 검증
      if (isAuthenticated && accessToken) {
        try {
          // 프로필 로드로 토큰 유효성 확인
          // await loadProfile(); // 백엔드 /users/profile 미구현으로 인한 401 에러 방지
          // 성공하면 대시보드로
          router.push("/dashboard");
        } catch (error) {
          // 실패하면 로그아웃 처리
          console.error('토큰 유효성 검증 실패:', error);
          clearAuth();
          router.push("/login");
        }
      } else {
        // 토큰 없으면 로그인 페이지로
        router.push("/login");
      }
      setIsValidating(false);
    };

    validateAuth();
  }, []); // 빈 배열로 최초 1회만 실행

  // 리다이렉트 중 로딩 표시
  return (
    <div className="flex items-center justify-center min-h-screen">
      <div className="text-center">
        <div className="animate-spin rounded-full h-12 w-12 border-b-2 border-gray-900 mx-auto"></div>
        <p className="mt-4 text-gray-600">로딩 중...</p>
      </div>
    </div>
  );
}
