/**
 * 라이브 선박 표시 제어 유틸리티
 *
 * 항적조회, 리플레이, 초기화 버튼 등에서 공통으로 사용
 * trackQueryStore.hideLiveShips 상태를 기반으로 라이브 선박 표시를 제어
 */
import { useTrackQueryStore } from '../tracking/stores/trackQueryStore';
import { shipBatchRenderer } from '../map/ShipBatchRenderer';

/**
 * 라이브 선박 숨기기
 */
export function hideLiveShips() {
  useTrackQueryStore.getState().setHideLiveShips(true);
  shipBatchRenderer.immediateRender();
}

/**
 * 라이브 선박 표시
 */
export function showLiveShips() {
  useTrackQueryStore.getState().setHideLiveShips(false);
  shipBatchRenderer.immediateRender();
}

/**
 * 라이브 선박 표시 토글
 * @returns {boolean} 토글 후 hideLiveShips 상태
 */
export function toggleLiveShips() {
  const currentState = useTrackQueryStore.getState().hideLiveShips;
  const newState = !currentState;
  useTrackQueryStore.getState().setHideLiveShips(newState);
  shipBatchRenderer.immediateRender();
  return newState;
}

/**
 * 라이브 선박 숨김 상태 확인
 * @returns {boolean} true면 라이브 선박 숨김 상태
 */
export function isLiveShipsHidden() {
  return useTrackQueryStore.getState().hideLiveShips;
}
