/**
 * 항적조회 초기화 유틸
 *
 * 항적 레이어 정리 및 스토어 초기화
 */

import { useTrackQueryStore } from '../stores/trackQueryStore';
import { unregisterTrackQueryLayers } from './trackQueryLayerUtils';
import { shipBatchRenderer } from '../../map/ShipBatchRenderer';

/**
 * 항적조회 상태 및 레이어 초기화
 *
 * @param {Object} [map] OpenLayers Map 인스턴스
 */
export const resetTrackQuery = (map) => {
  // 스토어 초기화
  useTrackQueryStore.getState().reset();

  // 레이어 정리
  unregisterTrackQueryLayers();

  // deck.gl 레이어 업데이트
  if (map) {
    shipBatchRenderer.immediateRender();
  }
};

export default resetTrackQuery;
