2.6 KiB
2.6 KiB
침수예측지도 기능 분리 구현기록
작업 목적
- 하수관망도
map/page.tsx에 포함된 침수예측현황 전용 로직을 기능 디렉터리로 이동한다. - 지도 페이지에는 공통 지도 구성과 침수예측 기능 연결 코드만 남겨 기능별 책임을 분명히 한다.
원본 및 변경 근거
- 요구사항정의서
SFR-011-008 위험도 산정 - 화면설계서 슬라이드 24,
SN_MN010205 침수예측현황 - 화면설계서 슬라이드 28,
SN_MN010206 침수예측지도 - 사용자 요청사항:
map/page.tsx의 침수예측현황 관련 함수와 상태를features하위 해당 기능으로 이동
변경 내용
- 침수예측 팝업 메시지 payload 검증을 기능 훅으로 이동했다.
- 도시침수지도 자동 활성화 요청 이후의 재시도 상태와 팝업 응답 대상을 기능 훅에서 관리한다.
- 도시침수지도 피처 선택, 지도 범위 이동, 분석결과 API 조회와 오버레이 생성·삭제를 기능 훅으로 이동했다.
- 침수위험도 배지 색상 계산을 별도 기능 유틸리티로 분리하여 팝업 목록과 지도 오버레이가 함께 사용하도록 했다.
map/page.tsx에는 도시침수지도 레이어 활성화 요청과 팝업 메시지 위임만 남겼다.
수정 대상 파일
apps/sn/app/(map-layout)/map/page.tsxapps/sn/src/features/fldngPredcPrst/lib/use-flood-prediction-map.tsapps/sn/src/features/fldngPredcPrst/lib/flood-risk-grade.tsapps/sn/src/features/fldngPredcPrst/ui/FldngPredcPrstPopupContent.tsx
영향 범위
- 침수예측현황 행 선택 후 도시침수지도 자동 선택·이동·분석 오버레이 표시 흐름
- 침수예측현황 목록과 지도 오버레이의 위험도 배지 색상
- API 경로, 팝업 메시지 타입, 레이어명·레이어 타입과 사용자 동작은 변경하지 않는다.
검증
- 신규 기능 파일 ESLint 검사 통과
pnpm --filter sn run typecheck통과git diff --check확인- 실행 중인 개발 서버의
/map경로 HTTP 응답 확인 - 실행 중인 개발 서버를 유지하기 위해 별도 빌드는 수행하지 않는다.
롤백
useFloodPredictionMap의 상태·콜백·재시도 effect를map/page.tsx로 되돌린다.- 오버레이 DOM 생성 함수와 날짜 포맷터를
map/page.tsx로 되돌린다. - 위험도 배지 유틸리티를 팝업 컴포넌트 내부 함수로 복원한다.
남은 리스크
- 실제 로그인 세션에서 팝업 행을 선택해 레이어 자동 체크, 지도 이동, 오버레이 표시가 연속으로 유지되는지 최종 화면 확인이 필요하다.