kcg-monitoring/frontend/src/data/damagedShips.ts
htlee 2534faa488 feat: 프론트엔드 모노레포 이관 + signal-batch 연동 + Tailwind/i18n/테마 전환
- frontend/ 폴더로 프론트엔드 전체 이관
- signal-batch API 연동 (한국 선박 위치 데이터)
- Tailwind CSS 4 + CSS 변수 테마 토큰 (dark/light)
- i18next 다국어 (ko/en) 인프라 + 28개 컴포넌트 적용
- 레이어 패널 트리 구조 재설계 (카테고리별 온/오프, 범례)
- Google OAuth 로그인 화면 + DEV LOGIN 우회
- 외부 API CORS 프록시 전환 (Airplanes.live, OpenSky, CelesTrak)
- ShipLayer 이미지 탭 전환 (signal-batch / MarineTraffic)

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

149 lines
4.1 KiB
TypeScript

// ═══ 피격 선박 데이터 ═══
// sampleData.ts의 해상 공격 이벤트와 연동
const T0 = new Date('2026-03-01T12:01:00Z').getTime();
const HOUR = 3600_000;
const DAY = 24 * HOUR;
export interface DamagedShip {
id: string;
name: string;
flag: string; // 국적 코드
type: string; // VLCC, LNG, Container 등
lat: number;
lng: number;
damagedAt: number; // unix ms — 피격 시각
cause: string; // 기뢰, 드론, 대함미사일 등
damage: 'sunk' | 'severe' | 'moderate' | 'minor';
description: string;
eventId: string; // 연관 GeoEvent id
}
export const damagedShips: DamagedShip[] = [
// DAY 3 — 3월 3일
{
id: 'ds-1',
name: 'ATHENA GLORY',
flag: 'GR',
type: 'VLCC',
lat: 26.5500, lng: 56.3500,
damagedAt: T0 + 2 * DAY,
cause: '기뢰 접촉',
damage: 'severe',
description: '그리스 국적 VLCC, 호르무즈 해협 기뢰 접촉. 원유 유출.',
eventId: 'd3-sea1',
},
// DAY 6 — 3월 6일: IRGC 고속정
{
id: 'ds-2',
name: 'IRGC FAST BOAT x4',
flag: 'IR',
type: 'MILITARY',
lat: 26.4000, lng: 56.4000,
damagedAt: T0 + 2 * DAY + 3 * HOUR,
cause: '미 구축함 함포 교전',
damage: 'sunk',
description: 'IRGC 고속정 4척, 미 구축함 교전 중 격침.',
eventId: 'd3-sea2',
},
// DAY 11 — 3월 11일: 호르무즈 기뢰 자폭
{
id: 'ds-3',
name: 'IRGC MINESWEEPER',
flag: 'IR',
type: 'MILITARY',
lat: 26.5667, lng: 56.2500,
damagedAt: T0 + 10 * DAY + 4 * HOUR,
cause: '자체 기뢰 폭발',
damage: 'sunk',
description: 'IRGC 소해정 1척, 자체 배치 기뢰 폭발로 침몰.',
eventId: 'd11-ir1',
},
// DAY 12 — 3월 12일
{
id: 'ds-4',
name: 'SHOWA MARU',
flag: 'JP',
type: 'VLCC',
lat: 26.3500, lng: 56.5000,
damagedAt: T0 + 11 * DAY,
cause: '기뢰 접촉',
damage: 'severe',
description: '일본 국적 VLCC, 호르무즈 해협 기뢰 접촉. 선체 파공, 원유 유출.',
eventId: 'd12-sea1',
},
{
id: 'ds-5',
name: 'SK INNOVATION',
flag: 'KR',
type: 'LNG',
lat: 26.2000, lng: 56.6000,
damagedAt: T0 + 11 * DAY + 2 * HOUR,
cause: 'IRGC 자폭드론',
damage: 'minor',
description: '한국행 LNG 운반선, 드론 2대 피격. 경미 손상.',
eventId: 'd12-sea2',
},
{
id: 'ds-6',
name: 'ATHENS EXPRESS',
flag: 'GR',
type: 'CONTAINER',
lat: 25.8000, lng: 56.8000,
damagedAt: T0 + 11 * DAY + 3 * HOUR,
cause: 'IRGC 누르 대함미사일',
damage: 'moderate',
description: '그리스 컨테이너선, 대함미사일 피격. 화재, 승조원 부상.',
eventId: 'd12-sea3',
},
{
id: 'ds-7',
name: 'IRGC FAST BOAT x5',
flag: 'IR',
type: 'MILITARY',
lat: 26.6000, lng: 56.1000,
damagedAt: T0 + 11 * DAY + 5 * HOUR,
cause: '미 구축함 함포/CIWS',
damage: 'sunk',
description: 'IRGC 고속정 5척, USS 마이클 머피 교전 중 격침.',
eventId: 'd12-sea4',
},
// DAY 12 후반 — 3월 12일 오후
{
id: 'ds-8',
name: 'IRGC MINE LAYER',
flag: 'IR',
type: 'MILITARY',
lat: 26.4500, lng: 56.3500,
damagedAt: T0 + 11 * DAY + 14 * HOUR,
cause: '자체 기뢰 폭발',
damage: 'sunk',
description: 'IRGC 기뢰부설정, 자체 배치 기뢰 접촉 폭발로 침몰. 승조원 12명 사망 추정.',
eventId: 'd12-sea5',
},
{
id: 'ds-9',
name: 'PACIFIC PIONEER',
flag: 'PA',
type: 'BULK',
lat: 26.3000, lng: 56.7000,
damagedAt: T0 + 11 * DAY + 16 * HOUR,
cause: '부유기뢰 접촉',
damage: 'moderate',
description: '파나마 국적 벌크선, 오만만 북부 부유기뢰 접촉. 선수 파공, 느린 침수. 오만 해군 구조.',
eventId: 'd12-sea6',
},
{
id: 'ds-10',
name: 'IRGC FAST BOAT x20+',
flag: 'IR',
type: 'MILITARY',
lat: 26.9800, lng: 56.0800,
damagedAt: T0 + 11 * DAY + 14 * HOUR,
cause: '미 F/A-18F 공습',
damage: 'sunk',
description: 'IRGC 게쉼섬 고속정 기지 공습. 고속정 20여 척 파괴/대파.',
eventId: 'd12-us5',
},
];