wing-ops/frontend/src/tabs/aerial/components/AerialView.tsx
Nan Kyung Lee 7110d76276 feat(aerial): WingAI (AI 탐지/분석) 서브탭 추가
- MMSI 선종 불일치 탐지: AIS 등록 선종 vs AI 영상 분석 선종 비교, 지도 위 위치 표시
- 변화 감지: AS-IS/현재 시점 복합 정보원(위성/CCTV/드론/AIS) 오버레이 비교
- 연안자동감지: 지도 폴리곤 드로잉으로 감시 구역 등록, 주기/모니터링 방법 설정
- 위성요청 라벨 '위성영상'으로 변경, 서브탭 순서 재배치
- aerial:spectral 권한 트리 마이그레이션 추가 (022)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 12:07:47 +09:00

44 lines
1.2 KiB
TypeScript
Executable File

import { useSubMenu } from '@common/hooks/useSubMenu'
import { AerialTheoryView } from './AerialTheoryView'
import { MediaManagement } from './MediaManagement'
import { OilAreaAnalysis } from './OilAreaAnalysis'
import { RealtimeDrone } from './RealtimeDrone'
import { SensorAnalysis } from './SensorAnalysis'
import { SatelliteRequest } from './SatelliteRequest'
import { WingAI } from './WingAI'
import { CctvView } from './CctvView'
export function AerialView() {
const { activeSubTab } = useSubMenu('aerial')
const renderContent = () => {
switch (activeSubTab) {
case 'theory':
return <AerialTheoryView />
case 'satellite':
return <SatelliteRequest />
case 'spectral':
return <WingAI />
case 'cctv':
return <CctvView />
case 'analysis':
return <OilAreaAnalysis />
case 'realtime':
return <RealtimeDrone />
case 'sensor':
return <SensorAnalysis />
case 'media':
default:
return <MediaManagement />
}
}
return (
<div className="flex flex-col h-full w-full bg-bg-0">
<div className="flex-1 overflow-auto px-6 py-5">
{renderContent()}
</div>
</div>
)
}