feat(admin): 지도 베이스 관리 패널, 레이어 패널 추가 및 보고서 기능 개선 #103

병합
jhkang feature/report 에서 develop 로 23 commits 를 머지했습니다 2026-03-19 18:05:27 +09:00
소유자

변경 사항

  • 관리자: 지도 베이스 관리 패널, 레이어 패널 추가 및 보고서 기능 개선
  • 기상 탭 머지 충돌 해결

테스트

  • 빌드 성공 확인
  • 기존 테스트 통과
## 변경 사항 - 관리자: 지도 베이스 관리 패널, 레이어 패널 추가 및 보고서 기능 개선 - 기상 탭 머지 충돌 해결 ## 테스트 - [ ] 빌드 성공 확인 - [ ] 기존 테스트 통과
jhkang added 23 commits 2026-03-19 18:03:51 +09:00
- 패널 폭 380px → 320px 축소
- 전체 폰트 사이즈 컴팩트화 (큰 숫자 4xl→18px, 본문 xs→9px)
- 핵심 지표 3칸 카드 (풍속/파고/수온) 상단 배치, 등급별 색상
- 풍향 컴파스 SVG (N/E/S/W + 화살표, 풍속 색상 연동)
- 풍속/파고 게이지 바 (진행률 + 등급 색상)
- 파도 4칸 그리드 (유의파고/최고파고/주기/파향)
- 수온·공기·염분 3칸 그리드
- 천문·조석 4칸 그리드 (일출/일몰/월출/월몰)
- 날씨 특보 배지 스타일 개선
- 전체 패딩 축소로 더 많은 정보 한눈에 표시

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- 라벨 7px→10px, 본문 9px→10px, 섹션제목 9px→10px
- 핵심 지표 숫자 18px→22px
- 헤더 11px→12px

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- 라벨/본문: 10px→11px, 섹션제목/헤더: 12px→13px
- 핵심 지표(풍속/파고/수온) 숫자는 20px 유지

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- 바람현황 값: 13px, 컴파스 유지
- 파도 카드 값: 14px, 라벨: 10px
- 수온·공기 카드 값: 14px
- 시간별 예보 온도: 13px, 아이콘: lg
- 천문·조석 시각: 13px, 아이콘: base

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- 백엔드: GET /api/aerial/satellite/passes — 한국 주변 위성 패스 시뮬레이션
  UP42 API 연동 준비 (Workspace ID: b9bc92ae, TODO 주석)
  6개 위성 궤도 데이터 (KOMPSAT-3A, Pléiades Neo, Sentinel-1/2, WV-3, SkySat)
- 프론트 API: fetchSatellitePasses() + SatellitePass 인터페이스
- UP42 모달: MapLibre 지도에 위성 궤도 라인 실시간 표시
  한국 영역 AOI 점선 박스 + 궤도별 색상 구분
  위성 클릭 시 해당 궤도 하이라이트 (나머지 투명)
- 패스 타임라인: 통과 시각, 해상도, 앙각, 상승/하강 방향, 긴급도 표시
- 궤도 범례 오버레이 추가

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- 모달 높이 85vh 고정 (max-h → height)
- 지도 영역 minHeight 350px 보장
- Optical/SAR/Elevation 탭 전환 시 지도 크기 일정 유지

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- SatRequest status에 '취소' 상태 추가
- 필터 탭에 '취소' 추가
- 대기/촬영중 상태 모두 취소 가능 (confirm 팝업)
- 취소된 요청은 빨간 ✕ 배지 + 투명도 60%
- satRequests를 상태(state)로 관리하여 실시간 상태 변경

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- 📋 요청 목록 / 🗺 촬영 히스토리 지도 탭 토글
- 지도 뷰: MapLibre에 촬영 구역 사각형 폴리곤 표시
  상태별 색상 (촬영중=노랑, 대기=파랑, 완료=초록, 취소=빨강)
- 좌측 오버레이: 요청 리스트 (ID, 구역, 위성, 해상도, 상태)
- 우측 오버레이: 상태별 범례 + 총 건수
- parseCoord 헬퍼: "33.24°N 126.50°E" → {lat, lon} 파싱

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- 좌상단: 캘린더(date picker) + 촬영 이력 있는 날짜 바로가기 버튼
- 날짜 선택 시 해당일 촬영 내역만 필터링하여 리스트 표시
- 완료 항목 클릭 시 지도에 위성 영상 오버레이 표시 (이미지 레이어)
- 선택된 구역 폴리곤 하이라이트 (두꺼운 테두리 + 진한 채움)
- 하단 상세 정보 바: 구역명, 위성, 해상도, 좌표, 영상 표출 상태
- 요청일자를 2026-03 기준으로 업데이트 + dateKey 필드 추가

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- 헤더(🛰 위성 촬영 요청) + 탭(요청목록/히스토리지도) + 새요청 버튼을 한 줄로 통합
- 지도 뷰 높이 calc(100vh - 160px)로 확대하여 영상 중첩 표시 공간 확보
- 헤더/탭 사이즈 축소로 컴팩트 레이아웃

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- 전체 요소 높이 h-7(28px)로 통일
- 상단 패딩 py-2→pt-1, 아이콘 w-8→w-7, 텍스트 13px→12px
- 탭 버튼 py-1.5→h-full, 새요청 py-2→h-7
- 헤더 하단 마진 mb-2 유지

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- 더보기/접기 토글 제거
- 페이지당 5건 표시 + ◀ 1 2 ▶ 페이지 네비게이션
- "총 N건 중 1–5" 현재 범위 표시
- 필터 변경 시 전체 목록 대상 페이징 적용

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Mapbox placeholder → VWorld 위성 타일(WMTS) 실제 영상으로 교체
- 완료 항목 클릭 시 해당 지역에 위성 영상 레이어 오버레이
- 선택 지점에 📷 마커 표시
- VWorld API 키 환경변수(VITE_VWORLD_API_KEY) 연동

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- MMSI 선종 불일치 탐지: AIS 등록 선종 vs AI 영상 분석 선종 비교, 지도 위 위치 표시
- 변화 감지: AS-IS/현재 시점 복합 정보원(위성/CCTV/드론/AIS) 오버레이 비교
- 연안자동감지: 지도 폴리곤 드로잉으로 감시 구역 등록, 주기/모니터링 방법 설정
- 위성요청 라벨 '위성영상'으로 변경, 서브탭 순서 재배치
- aerial:spectral 권한 트리 마이그레이션 추가 (022)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- prediction: 커스텀 다크 캘린더/시간 드롭다운, DMS 좌표 입력, 모델 버튼 3열 배치
- incidents: 밝은 지도 테마, 해양환경관리법 제22조 기반 오염물 배출규정 기능
  - 지도 클릭시 영해기선 거리별 배출 가능 여부 표시 (OSM 실측 좌표 기반)
  - 3해리/12해리/25해리 경계선 표시
- weather: 기상 범례 사이즈 축소 + 폰트 축소
- map: 풍속/파고/수온/해류 패널 축소·투명화, 확대/축소 버튼 축소, 좌표 중앙 배치
- map: 범례 기본 접힌 상태

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
충돌 해결:
- TopBar.tsx: mapTypes(feature/report) + measureMode/setMeasureMode(develop) 병합
- mapStore.ts: loadMapTypes API(feature/report) + 측정 기능(develop) 병합
WeatherRightPanel.tsx 충돌을 HEAD(feature/report) 기준으로 해결:
- WindCompass/ProgressBar/StatCard 재사용 컴포넌트 유지
- w-[380px] 너비 및 여유 패딩(px-5) 유지
- astronomy/alert props 기반 동적 데이터 유지

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
claude-bot 이 변경사항을 승인하였습니다. 2026-03-19 18:04:50 +09:00
claude-bot left a comment
멤버

MR ���� (via /mr skill)

MR ���� (via /mr skill)
jhkang merged commit 007c950e8c into develop 2026-03-19 18:05:27 +09:00
jhkang 삭제된 브랜치 feature/report 2026-03-19 18:05:27 +09:00
"로그인하여 이 대화에 참여"
No reviewers
레이블 없음
마일스톤 없음
담당자 없음
참여자 2명
알림
마감일
기한이 올바르지 않거나 범위를 벗어났습니다. 'yyyy-mm-dd'형식을 사용해주십시오.

마감일이 설정되지 않았습니다.

의존성

No dependencies set.

Reference: gc/wing-ops#103
No description provided.