
import { useState, useEffect } from 'react';
import { useAuth } from '@/contexts/auth';
import { useSyncToggle } from './sync/useSyncToggle';
import { useManualSync } from './sync/useManualSync';
import { useSyncStatus } from './sync/useSyncStatus';

/**
 * 동기화 설정 관리를 위한 커스텀 훅
 */
export const useSyncSettings = () => {
  const { user } = useAuth();
  const { enabled, setEnabled, handleSyncToggle } = useSyncToggle();
  const { syncing, handleManualSync } = useManualSync(user);
  const { lastSync, formatLastSyncTime } = useSyncStatus();
  
  // 콘솔에 상태 기록
  useEffect(() => {
    console.log(`[동기화설정] 상태 변경: 
    - 활성화: ${enabled ? '예' : '아니오'} 
    - 진행중: ${syncing ? '예' : '아니오'} 
    - 마지막동기화: ${lastSync || '없음'} 
    - 사용자: ${user ? '로그인됨' : '로그인안됨'}`);
  }, [enabled, syncing, lastSync, user]);

  return {
    enabled,
    syncing,
    user,
    lastSync: formatLastSyncTime(),
    handleSyncToggle,
    handleManualSync,
  };
};
