커밋 그래프

17 커밋

작성자 SHA1 메시지 날짜
61fc3bbce4 feat: 모바일 반응형 UI (drawer, 아코디언, 범례)
- Topbar: 햄버거 메뉴 버튼, 반응형 stats 숨김
- Sidebar: 모바일 drawer (fixed + translate-x), backdrop
- Sidebar: Section 아코디언으로 전환 (details/summary)
- Legend: 접기/펼치기 토글 추가
- panels.css: .sb/.sb-t 클래스 제거

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 06:54:27 +09:00
40229a75c0 fix: 폰트 크기 복원 + 라이트 모드 대비 + CSS 변수 전환
- @theme에서 --text-xs/sm 오버라이드 제거 (Tailwind 기본값 복원)
- 라이트 모드: bg #e2e8f0, border #94a3b8로 영역 대비 강화
- 새 토큰: --wing-glass-dense, --wing-overlay, --wing-card-alpha, --wing-subtle
- 8개 CSS 파일의 하드코딩된 rgba 값을 CSS 변수로 전환
- MapLibre 컨트롤 아이콘 라이트 모드 대응

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 06:41:27 +09:00
2adcbc9a93 refactor: toggles CSS를 Tailwind + @wing/ui로 전환
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 06:18:57 +09:00
e9a41c6663 refactor: base/layout/topbar CSS를 Tailwind로 전환
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 06:15:32 +09:00
a4859f54bc chore: Tailwind CSS v4 + @wing/ui 패키지 인프라 구축
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 06:10:04 +09:00
3fa0b67e97 refactor(styles): CSS 1,814줄 → 15개 컴포넌트 파일 분리
styles.css 모놀리스를 @import 기반 모듈 구조로 분리:
- base.css: CSS 변수, 리셋, 폰트
- layout.css: 그리드 레이아웃, 반응형
- components/: topbar, panels, toggles, speed, vessel-list,
  ais-list, alarms, relations, map-panels, map-settings,
  auth, weather, weather-overlay

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 00:01:04 +09:00
6acf2045b2 chore: vessel-track 브랜치 병합 (squash)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 22:12:48 +09:00
cb6493b8a1 feat(weather): 기상 타일 오버레이 + 수역별 날씨 패널
MapTiler Weather SDK 6종 기상 타일 오버레이:
- 바람/기온/강수/기압/레이더/구름 라디오 토글
- 3시간 단위 step 스냅 타임라인 + 드래그 실시간 seek
- 색상 범례, 배속 제어, 투명도 조절
- ServiceWorker 타일 캐시 (cache-first, 최대 2000장)
- SDK 시간 단위(epoch 초) 정합성 보장

Open-Meteo 수역별 기상 패널:
- 4개 수역 centroid 기반 해양/기상 데이터 5분 폴링
- 파고/풍속/수온/너울 카드 UI + 경고 하이라이트

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 21:45:07 +09:00
79b21c7d44 feat(auth): Google OAuth 로그인 구현
- shared/auth 모듈: AuthProvider, ProtectedRoute, useAuth, authApi
- 페이지: LoginPage(Google OAuth), PendingPage, DeniedPage
- WING_PERMIT 역할 기반 접근 제어
- Topbar에 사용자 이름 + 로그아웃 버튼 추가
- App.tsx에 react-router 라우팅 + AuthProvider 래핑
- DEV 모드 Mock 로그인 지원 (김개발)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 08:44:25 +09:00
3acda7432e refactor(map): UI 개선 — 3D 명칭, 수심 줌, 레거시 비활성
- "지구본" → "3D" 명칭 변경, 헤더 우측으로 이동
- 레거시 베이스맵 비활성 (주석처리)
- 수심 minzoom 통일: fill 3, borders 5, major 3
- NavigationControl 통합, 기어 버튼 겹침 수정
- constants.ts 미사용 BATHY_ZOOM_RANGES 제거

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 07:04:31 +09:00
1a3dd82eb4 fix(map): 지도 설정 패널 개선
- 육지색 적용 범위 확대 (background + 전체 fill 레이어)
- UI 가독성 개선: 라벨 10px, 색상 대비 강화
- 수심 구간 '자동채우기' 토글 추가 (최소/최대 기준 보간)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 06:23:55 +09:00
650888adb7 feat(map): 지도 설정 패널 + 수심 범례 구현
- 나침반/줌 컨트롤 분리, 기어 버튼으로 설정 패널 토글
- 설정 항목: 레이블 언어, 육지/물/수심 색상, 수심 폰트 크기/색상
- 런타임 map.setPaintProperty/setLayoutProperty로 즉시 적용
- 수심 색상 범례 (좌하단 그라데이션 바 + 눈금)
- 초기화 버튼으로 디폴트 복원

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 06:17:20 +09:00
11aff67a04 feat(map): add prediction vectors and ship labels toggles 2026-02-15 19:15:20 +09:00
3497b8c7e2 feat(dashboard): alarms filter + legend/palette sync + map polish 2026-02-15 18:42:49 +09:00
96d8a03f93 feat: add fleet relation sort toggle 2026-02-15 15:25:10 +09:00
f745bb16d7 feat(map3d): add projection mode transition loading overlay 2026-02-15 14:42:07 +09:00
e69ace4434 chore: initial commit 2026-02-15 11:22:38 +09:00