export interface Vessel { mmsi: number imo: string name: string typS: string flag: string status: string speed: number heading: number lat: number lng: number draft: number depart: string arrive: string etd: string eta: string gt: string dwt: string loa: string beam: string built: string yard: string callSign: string cls: string cargo: string color: string markerType: string } export const VESSEL_TYPE_COLORS: Record = { Tanker: '#ef4444', Chemical: '#ef4444', Cargo: '#22c55e', Bulk: '#22c55e', Container: '#3b82f6', Passenger: '#a855f7', Fishing: '#f97316', Tug: '#06b6d4', Navy: '#6b7280', Sailing: '#fbbf24', } export const VESSEL_LEGEND = [ { type: 'Tanker', color: '#ef4444' }, { type: 'Cargo', color: '#22c55e' }, { type: 'Container', color: '#3b82f6' }, { type: 'Fishing', color: '#f97316' }, { type: 'Passenger', color: '#a855f7' }, { type: 'Tug', color: '#06b6d4' }, ] export const mockVessels: Vessel[] = [ { mmsi: 440123456, imo: '9812345', name: 'HANKUK CHEMI', typS: 'Tanker', flag: 'πŸ‡°πŸ‡·', status: '항해쀑', speed: 8.2, heading: 330, lat: 34.60, lng: 127.50, draft: 5.8, depart: 'μ—¬μˆ˜ν•­', arrive: 'λΆ€μ‚°ν•­', etd: '2026-02-25 08:00', eta: '2026-02-25 18:30', gt: '29,246', dwt: '49,999', loa: '183.0m', beam: '32.2m', built: '2018', yard: 'ν˜„λŒ€λ―Έν¬μ‘°μ„ ', callSign: 'HLKC', cls: 'ν•œκ΅­μ„ κΈ‰(KR)', cargo: 'BUNKER-C Β· 1,200kL Β· IMO Class 3', color: '#ef4444', markerType: 'tanker', }, { mmsi: 440234567, imo: '9823456', name: 'DONG-A GLAUCOS', typS: 'Cargo', flag: 'πŸ‡°πŸ‡·', status: '항해쀑', speed: 11.4, heading: 245, lat: 34.78, lng: 127.80, draft: 7.2, depart: 'μšΈμ‚°ν•­', arrive: 'κ΄‘μ–‘ν•­', etd: '2026-02-25 06:30', eta: '2026-02-25 16:00', gt: '12,450', dwt: '18,800', loa: '144.0m', beam: '22.6m', built: '2015', yard: 'STXμ‘°μ„ ', callSign: 'HLDG', cls: 'ν•œκ΅­μ„ κΈ‰(KR)', cargo: 'μ² κ°•μž¬ Β· 4,500t', color: '#22c55e', markerType: 'cargo', }, { mmsi: 440345678, imo: '9834567', name: 'HMM ALGECIRAS', typS: 'Container', flag: 'πŸ‡°πŸ‡·', status: '항해쀑', speed: 18.5, heading: 195, lat: 35.00, lng: 128.80, draft: 14.5, depart: 'λΆ€μ‚°ν•­', arrive: '싱가포λ₯΄', etd: '2026-02-25 04:00', eta: '2026-03-02 08:00', gt: '228,283', dwt: '223,092', loa: '399.9m', beam: '61.0m', built: '2020', yard: 'λŒ€μš°μ‘°μ„ ν•΄μ–‘', callSign: 'HLHM', cls: "Lloyd's Register", cargo: 'μ»¨ν…Œμ΄λ„ˆ Β· 16,420 TEU', color: '#3b82f6', markerType: 'container', }, { mmsi: 355678901, imo: '9756789', name: 'STELLAR DAISY', typS: 'Tanker', flag: 'πŸ‡΅πŸ‡¦', status: '⚠ 사고(쒌초)', speed: 0.0, heading: 0, lat: 34.72, lng: 127.72, draft: 8.1, depart: 'μ—¬μˆ˜ν•­', arrive: 'β€”', etd: '2026-01-18 12:00', eta: 'β€”', gt: '35,120', dwt: '58,000', loa: '190.0m', beam: '34.0m', built: '2012', yard: 'CSBC Taiwan', callSign: '3FZA7', cls: 'NK', cargo: 'BUNKER-C Β· 150kL 유좜 Β· ⚠ 사고선박', color: '#ef4444', markerType: 'tanker', }, { mmsi: 440456789, imo: 'β€”', name: '제72 κΈˆμ–‘ν˜Έ', typS: 'Fishing', flag: 'πŸ‡°πŸ‡·', status: '쑰업쀑', speed: 4.1, heading: 120, lat: 34.55, lng: 127.35, draft: 2.1, depart: 'μ—¬μˆ˜ ꡭ동항', arrive: 'μ—¬μˆ˜ ꡭ동항', etd: '2026-02-25 04:30', eta: '2026-02-25 18:00', gt: '78', dwt: 'β€”', loa: '24.5m', beam: '6.2m', built: '2008', yard: 'ν†΅μ˜μ‘°μ„ ', callSign: 'β€”', cls: 'ν•œκ΅­μ„ κΈ‰', cargo: 'μ–΄νšλ¬Ό', color: '#f97316', markerType: 'fishing', }, { mmsi: 440567890, imo: '9867890', name: 'PAN OCEAN GLORY', typS: 'Bulk', flag: 'πŸ‡°πŸ‡·', status: '항해쀑', speed: 12.8, heading: 170, lat: 35.60, lng: 126.40, draft: 10.3, depart: 'κ΅°μ‚°ν•­', arrive: '포항항', etd: '2026-02-25 07:00', eta: '2026-02-26 04:00', gt: '43,800', dwt: '76,500', loa: '229.0m', beam: '32.3m', built: '2019', yard: 'ν˜„λŒ€μ‚Όν˜Έμ€‘κ³΅μ—…', callSign: 'HLPO', cls: 'ν•œκ΅­μ„ κΈ‰(KR)', cargo: '석탄 Β· 65,000t', color: '#22c55e', markerType: 'cargo', }, { mmsi: 440678901, imo: 'β€”', name: 'μ—¬μˆ˜μ˜ˆμΈ1호', typS: 'Tug', flag: 'πŸ‡°πŸ‡·', status: 'λ°©μ œμ§€μ›', speed: 6.3, heading: 355, lat: 34.68, lng: 127.60, draft: 3.2, depart: 'μ—¬μˆ˜ν•­', arrive: 'μ‚¬κ³ ν˜„μž₯', etd: '2026-01-18 16:30', eta: 'β€”', gt: '280', dwt: 'β€”', loa: '32.0m', beam: '9.5m', built: '2016', yard: '삼성쀑곡업', callSign: 'HLYT', cls: 'ν•œκ΅­μ„ κΈ‰', cargo: '방제μž₯λΉ„ Β· 였일뢐 500m', color: '#06b6d4', markerType: 'tug', }, { mmsi: 235012345, imo: '9456789', name: 'QUEEN MARY', typS: 'Passenger', flag: 'πŸ‡¬πŸ‡§', status: '항해쀑', speed: 15.2, heading: 10, lat: 33.80, lng: 127.00, draft: 8.5, depart: 'μƒν•˜μ΄', arrive: 'λΆ€μ‚°ν•­', etd: '2026-02-24 18:00', eta: '2026-02-26 06:00', gt: '148,528', dwt: '18,000', loa: '345.0m', beam: '41.0m', built: '2004', yard: "Chantiers de l'Atlantique", callSign: 'GBQM2', cls: "Lloyd's Register", cargo: '승객 2,620λͺ…', color: '#a855f7', markerType: 'passenger', }, { mmsi: 353012345, imo: '9811000', name: 'EVER GIVEN', typS: 'Container', flag: 'πŸ‡ΉπŸ‡Ό', status: '항해쀑', speed: 14.7, heading: 220, lat: 35.20, lng: 129.20, draft: 15.7, depart: 'λΆ€μ‚°ν•­', arrive: '카였슝', etd: '2026-02-25 02:00', eta: '2026-02-28 14:00', gt: '220,940', dwt: '199,629', loa: '400.0m', beam: '59.0m', built: '2018', yard: 'δ»Šζ²»ι€ θˆΉ', callSign: 'BIXE9', cls: 'ABS', cargo: 'μ»¨ν…Œμ΄λ„ˆ Β· 14,800 TEU', color: '#3b82f6', markerType: 'container', }, { mmsi: 440789012, imo: 'β€”', name: '제85 λŒ€μ„±ν˜Έ', typS: 'Fishing', flag: 'πŸ‡°πŸ‡·', status: '쑰업쀑', speed: 3.8, heading: 85, lat: 34.40, lng: 126.30, draft: 1.8, depart: 'λͺ©ν¬ν•­', arrive: 'λͺ©ν¬ν•­', etd: '2026-02-25 03:00', eta: '2026-02-25 17:00', gt: '65', dwt: 'β€”', loa: '22.0m', beam: '5.8m', built: '2010', yard: 'λͺ©ν¬μ‘°μ„ ', callSign: 'β€”', cls: 'ν•œκ΅­μ„ κΈ‰', cargo: 'μ–΄νšλ¬Ό', color: '#f97316', markerType: 'fishing', }, { mmsi: 440890123, imo: '9878901', name: 'SK INNOVATION', typS: 'Chemical', flag: 'πŸ‡°πŸ‡·', status: '항해쀑', speed: 9.6, heading: 340, lat: 35.80, lng: 126.60, draft: 6.5, depart: 'λŒ€μ‚°ν•­', arrive: 'μ—¬μˆ˜ν•­', etd: '2026-02-25 10:00', eta: '2026-02-26 02:00', gt: '11,200', dwt: '16,800', loa: '132.0m', beam: '20.4m', built: '2020', yard: 'ν˜„λŒ€λ―Έν¬μ‘°μ„ ', callSign: 'HLSK', cls: 'ν•œκ΅­μ„ κΈ‰(KR)', cargo: '톨루엔 Β· 8,500kL Β· IMO Class 3', color: '#ef4444', markerType: 'tanker', }, { mmsi: 440901234, imo: '9889012', name: 'KOREA EXPRESS', typS: 'Cargo', flag: 'πŸ‡°πŸ‡·', status: '항해쀑', speed: 10.1, heading: 190, lat: 36.20, lng: 128.50, draft: 6.8, depart: '동해항', arrive: '포항항', etd: '2026-02-25 09:00', eta: '2026-02-25 15:00', gt: '8,500', dwt: '12,000', loa: '118.0m', beam: '18.2m', built: '2014', yard: 'λŒ€ν•œμ‘°μ„ ', callSign: 'HLKE', cls: 'ν•œκ΅­μ„ κΈ‰', cargo: 'μΌλ°˜ν™”λ¬Ό', color: '#22c55e', markerType: 'cargo', }, { mmsi: 440012345, imo: 'β€”', name: 'ROKS SEJONG', typS: 'Navy', flag: 'πŸ‡°πŸ‡·', status: 'μž‘μ „μ€‘', speed: 16.0, heading: 270, lat: 35.30, lng: 129.50, draft: 6.3, depart: 'λΆ€μ‚° ν•΄κ΅°κΈ°μ§€', arrive: 'β€”', etd: 'β€”', eta: 'β€”', gt: '7,600', dwt: 'β€”', loa: '165.9m', beam: '21.4m', built: '2008', yard: 'ν˜„λŒ€μ€‘κ³΅μ—…', callSign: 'HLNS', cls: 'ꡰ용', cargo: 'κ΅°μ‚¬μž‘μ „', color: '#6b7280', markerType: 'military', }, { mmsi: 440023456, imo: 'β€”', name: 'κ΅°μ‚°μ˜ˆμΈ3호', typS: 'Tug', flag: 'πŸ‡°πŸ‡·', status: 'λŒ€κΈ°μ€‘', speed: 5.5, heading: 140, lat: 35.90, lng: 126.90, draft: 2.8, depart: 'κ΅°μ‚°ν•­', arrive: 'κ΅°μ‚°ν•­', etd: 'β€”', eta: 'β€”', gt: '180', dwt: 'β€”', loa: '28.0m', beam: '8.2m', built: '2019', yard: 'ν†΅μ˜μ‘°μ„ ', callSign: 'HLGS', cls: 'ν•œκ΅­μ„ κΈ‰', cargo: 'β€”', color: '#06b6d4', markerType: 'tug', }, { mmsi: 440034567, imo: 'β€”', name: 'JEJU WIND', typS: 'Sailing', flag: 'πŸ‡°πŸ‡·', status: '항해쀑', speed: 6.8, heading: 290, lat: 33.35, lng: 126.65, draft: 2.5, depart: 'μ œμ£Όν•­', arrive: 'μ œμ£Όν•­', etd: '2026-02-25 10:00', eta: '2026-02-25 16:00', gt: '45', dwt: 'β€”', loa: '18.0m', beam: '5.0m', built: '2022', yard: 'μ œμ£Όμš”νŠΈ', callSign: 'β€”', cls: 'β€”', cargo: 'β€”', color: '#fbbf24', markerType: 'sail', }, { mmsi: 440045678, imo: 'β€”', name: '제33 μ‚Όμ–‘ν˜Έ', typS: 'Fishing', flag: 'πŸ‡°πŸ‡·', status: '쑰업쀑', speed: 2.4, heading: 55, lat: 35.10, lng: 127.40, draft: 1.6, depart: 'ν†΅μ˜ν•­', arrive: 'ν†΅μ˜ν•­', etd: '2026-02-25 05:00', eta: '2026-02-25 19:00', gt: '52', dwt: 'β€”', loa: '20.0m', beam: '5.4m', built: '2006', yard: 'κ±°μ œμ‘°μ„ ', callSign: 'β€”', cls: 'ν•œκ΅­μ„ κΈ‰', cargo: 'μ–΄νšλ¬Ό', color: '#f97316', markerType: 'fishing', }, { mmsi: 255012345, imo: '9703291', name: 'MSC OSCAR', typS: 'Container', flag: 'πŸ‡¨πŸ‡­', status: '항해쀑', speed: 17.3, heading: 355, lat: 34.10, lng: 128.10, draft: 14.0, depart: '카였슝', arrive: 'λΆ€μ‚°ν•­', etd: '2026-02-23 08:00', eta: '2026-02-25 22:00', gt: '197,362', dwt: '199,272', loa: '395.4m', beam: '59.0m', built: '2015', yard: 'λŒ€μš°μ‘°μ„ ν•΄μ–‘', callSign: '9HA4713', cls: 'DNV', cargo: 'μ»¨ν…Œμ΄λ„ˆ Β· 18,200 TEU', color: '#3b82f6', markerType: 'container', }, { mmsi: 440056789, imo: '9890567', name: 'SAEHAN PIONEER', typS: 'Tanker', flag: 'πŸ‡°πŸ‡·', status: '항해쀑', speed: 7.9, heading: 310, lat: 34.90, lng: 127.10, draft: 5.2, depart: 'μ—¬μˆ˜ν•­', arrive: 'λŒ€μ‚°ν•­', etd: '2026-02-25 11:00', eta: '2026-02-26 08:00', gt: '8,900', dwt: '14,200', loa: '120.0m', beam: '18.0m', built: '2017', yard: 'ν˜„λŒ€λ―Έν¬μ‘°μ„ ', callSign: 'HLSP', cls: 'ν•œκ΅­μ„ κΈ‰(KR)', cargo: '경유 Β· 10,000kL', color: '#ef4444', markerType: 'tanker', }, { mmsi: 440067890, imo: '9891678', name: 'DONGHAE STAR', typS: 'Cargo', flag: 'πŸ‡°πŸ‡·', status: '항해쀑', speed: 11.0, heading: 155, lat: 37.55, lng: 129.30, draft: 6.0, depart: 'μ†μ΄ˆν•­', arrive: '동해항', etd: '2026-02-25 12:00', eta: '2026-02-25 16:30', gt: '6,200', dwt: '8,500', loa: '105.0m', beam: '16.5m', built: '2013', yard: 'λŒ€ν•œμ‘°μ„ ', callSign: 'HLDS', cls: 'ν•œκ΅­μ„ κΈ‰', cargo: 'μΌλ°˜ν™”λ¬Ό Β· λͺ©μž¬', color: '#22c55e', markerType: 'cargo', }, { mmsi: 440078901, imo: 'β€”', name: '제18 ν•œλΌν˜Έ', typS: 'Fishing', flag: 'πŸ‡°πŸ‡·', status: '귀항쀑', speed: 3.2, heading: 70, lat: 33.30, lng: 126.30, draft: 1.9, depart: 'μ„œκ·€ν¬ν•­', arrive: 'μ„œκ·€ν¬ν•­', etd: '2026-02-25 04:00', eta: '2026-02-25 15:00', gt: '58', dwt: 'β€”', loa: '21.0m', beam: '5.6m', built: '2011', yard: 'μ œμ£Όμ‘°μ„ ', callSign: 'β€”', cls: 'ν•œκ΅­μ„ κΈ‰', cargo: 'μ–΄νšλ¬Ό Β· 갈치/κ³ λ“±μ–΄', color: '#f97316', markerType: 'fishing', }, ]