
import { useState, useEffect } from 'react';
import { getLastSyncTime } from '@/utils/syncUtils';
import { useLastSyncTimeFormatting } from './syncTime/useSyncTimeFormatting';
import { useSyncTimeEvents } from './syncTime/useSyncTimeEvents';

/**
 * 동기화 상태 관리를 위한 커스텀 훅
 */
export const useSyncStatus = () => {
  const [lastSync, setLastSync] = useState<string | null>(getLastSyncTime());
  const { formatLastSyncTime } = useLastSyncTimeFormatting(lastSync);
  const { setupSyncTimeEventListeners } = useSyncTimeEvents(lastSync, setLastSync);
  
  // 동기화 시간이 변경될 때 상태 업데이트 및 이벤트 리스너 설정
  useEffect(() => {
    console.log('useSyncStatus 훅 초기화, 현재 마지막 동기화 시간:', lastSync);
    
    // 이벤트 리스너 및 주기적 확인 설정
    const cleanup = setupSyncTimeEventListeners();
    
    return cleanup;
  }, [lastSync, setupSyncTimeEventListeners]);
  
  return {
    lastSync,
    formatLastSyncTime
  };
};
