🔬 통합 분석 비교
{selectedIncident?.name}
{analysisTags.map((t, i) => (
{t.icon} {t.label}
))}
{(
[
{ mode: 'overlay' as ViewMode, icon: '🗂', label: '오버레이' },
{ mode: 'split2' as ViewMode, icon: '◫', label: '2분할' },
{ mode: 'split3' as ViewMode, icon: '⊞', label: '3분할' },
] as const
).map(v => (
))}
{/* Default Map (visible when not in analysis or in overlay mode) */}
{(!analysisActive || viewMode === 'overlay') && (
{/* 호버 툴팁 */}
{hoverInfo && (
{hoverInfo.type === 'vessel' ? (
) : (
)}
)}
{/* 분석 오버레이 (지도 위 시각효과) */}
{analysisActive && viewMode === 'overlay' && (
{analysisTags.some(t => t.label === '유출유') && (
)}
{analysisTags.some(t => t.label === 'HNS') && (
)}
{analysisTags.some(t => t.label === '구난') && (
)}
)}
{/* AIS Live Badge */}
{/* Legend */}
사고 상태
{[
{ c: '#ef4444', l: '대응중' },
{ c: '#f59e0b', l: '조사중' },
{ c: '#6b7280', l: '종료' },
].map(s => (
))}
AIS 선박
{VESSEL_LEGEND.map(vl => (
))}
{/* 선박 팝업 패널 */}
{vesselPopup && selectedVessel && !detailVessel && (
{
setVesselPopup(null)
setSelectedVessel(null)
}}
onDetail={() => {
setDetailVessel(selectedVessel)
setVesselPopup(null)
setSelectedVessel(null)
}}
/>
)}
{detailVessel && (
setDetailVessel(null)} />
)}
)}
{/* ── 2분할 View ─────────────────────────────── */}
{analysisActive && viewMode === 'split2' && (
{analysisTags[0]
? `${analysisTags[0].icon} ${analysisTags[0].label}`
: '— 분석 결과를 선택하세요 —'}
{analysisTags[1]
? `${analysisTags[1].icon} ${analysisTags[1].label}`
: '— 분석 결과를 선택하세요 —'}
)}
{/* ── 3분할 View ─────────────────────────────── */}
{analysisActive && viewMode === 'split3' && (
)}