import { useState, useEffect } from 'react';

/**
 * 현재 시간을 반환하는 최적화된 훅
 * 1분마다 자동 업데이트
 *
 * ✅ SSR-safe: useEffect를 사용하여 클라이언트에서만 시간 초기화
 * 이를 통해 서버/클라이언트 하이드레이션 불일치 방지
 */
export function useCurrentTime(updateInterval = 60000) {
  // ✅ 초기값을 빈 문자열로 설정 (서버 렌더링 시 안전)
  const [currentTime, setCurrentTime] = useState('');

  useEffect(() => {
    // ✅ 클라이언트 마운트 시 즉시 현재 시간 설정
    setCurrentTime(new Date().toLocaleString('ko-KR'));

    // 주기적 업데이트
    const interval = setInterval(() => {
      setCurrentTime(new Date().toLocaleString('ko-KR'));
    }, updateInterval);

    return () => clearInterval(interval);
  }, [updateInterval]);

  return currentTime;
}
