diff --git a/apps/sn/.env.local b/apps/sn/.env.local index 3d871b007..dce96bf40 100644 --- a/apps/sn/.env.local +++ b/apps/sn/.env.local @@ -12,8 +12,8 @@ NEXT_PUBLIC_LX_GEOSERVER_URL = http://con.mind-one.co.kr:11306/geoserver NEXT_PUBLIC_NGII_URL = https://map.ngii.go.kr NEXT_PUBLIC_NGII_PARAM = 04trYP9_xwLAfALjwZ-B8g&service=WMTS&request=GetTile&version=1.0.0&format=image/png&layer=korean_map&style=korean&tilematrixset=korean&tilematrix={z}&tilecol={x}&tilerow={y} SERVER_API_URL = http://dev.onasys.co.kr:8000 -# SEWERAGE_API_URL = http://localhost:8883 -SEWERAGE_API_URL = http://con.mind-one.co.kr:11083 +SEWERAGE_API_URL = http://localhost:8883 +# SEWERAGE_API_URL = http://con.mind-one.co.kr:11083 DC_URL = https://apigateway.apps.rsonesoft.com # NEXT_PUBLIC_CM_LOGIN_PAGE_URL = http://dev.onasys.co.kr:3000/auth/login NEXT_PUBLIC_CM_LOGIN_PAGE_URL = /auth/login diff --git a/apps/sn/AGENTS.md b/apps/sn/AGENTS.md index 3c369a72d..037aa402a 100644 --- a/apps/sn/AGENTS.md +++ b/apps/sn/AGENTS.md @@ -6,6 +6,39 @@ 현재 목표는 리팩토링 전용 작업이 아니라, 하수관로 운영관리 시스템 2차사업 고도화를 수행하는 것이다. 즉, 기존 `sn` 화면과 흐름을 안정적으로 유지하면서 2차 요구사항에 해당하는 화면 개발, 기능 확장, 백엔드 연동 보완을 수행해야 한다. +## 사용자 작업 범위: UI/UX 및 퍼블리싱 + +현재 사용자와 진행하는 작업의 기본 범위는 UI/UX 및 프론트엔드 퍼블리싱으로 제한한다. +사용자가 별도로 명시하지 않는 한 아래 기준을 모든 후속 작업에 적용한다. + +### 허용 범위 + +- 화면 레이아웃과 시각적 위계 조정 +- JSX 마크업, Tailwind CSS, CSS 스타일 수정 +- 색상, 여백, 간격, 크기, 타이포그래피, 아이콘, 테두리, 배경 조정 +- 반응형 화면, 접근성, 포커스와 시각적 상태 개선 +- 표시 전용 컴포넌트 구성과 퍼블리싱 품질 개선 +- 기존 화면 내용과 동작을 유지하는 범위의 UI 구조 정리 + +### 기본 금지 범위 + +- 백엔드 코드, API 계약, 요청·응답 데이터 구조 변경 +- `.env*`, middleware, 프록시, 인증과 권한 설정 변경 +- 업무 로직, 상태 모델, 데이터 가공 및 저장 흐름 변경 +- 데이터베이스, 서버 프로세스와 배포 설정 변경 +- 패키지 설치·업데이트와 의존성 구조 변경 +- 사용자 요청 없이 화면의 문구, 데이터 항목, 기능 동작 변경 + +금지 범위의 변경이 필요해 보이면 직접 수정하지 않고 원인과 필요한 작업만 사용자에게 설명한다. + +### UI 검증 안전 기준 + +- 사용자가 실행한 개발 서버가 있는지 실제 앱 포트까지 먼저 확인한다. +- 개발 서버 실행 중에는 같은 앱의 `next build`를 실행하지 않는다. +- UI 작업의 기본 검증은 실행 중인 개발 서버의 HMR, 브라우저 화면 확인, `git diff --check`로 제한한다. +- 개발 서버 종료, `.next` 정리, 전체 빌드와 프로세스 재시작은 사용자가 명시적으로 승인한 경우에만 수행한다. +- UI 변경 전후에 기존 문구, 데이터, 이벤트와 업무 동작이 유지되는지 확인한다. + --- ## 공통 시작 기준 diff --git a/apps/sn/app/(map-layout)/map/components/InputSection.tsx b/apps/sn/app/(map-layout)/map/components/InputSection.tsx index 68c4a3a83..87b904d58 100644 --- a/apps/sn/app/(map-layout)/map/components/InputSection.tsx +++ b/apps/sn/app/(map-layout)/map/components/InputSection.tsx @@ -1,3 +1,4 @@ +/** 시설 상세정보 화면의 운영정보 입력 영역을 공통 형식으로 표시한다. */ import { Table, TableHeader, diff --git a/apps/sn/app/(map-layout)/map/components/agedPipe/AgedPipeLayerSettingPanel.tsx b/apps/sn/app/(map-layout)/map/components/agedPipe/AgedPipeLayerSettingPanel.tsx index 9dda96f8f..7e29c6c4f 100644 --- a/apps/sn/app/(map-layout)/map/components/agedPipe/AgedPipeLayerSettingPanel.tsx +++ b/apps/sn/app/(map-layout)/map/components/agedPipe/AgedPipeLayerSettingPanel.tsx @@ -1,3 +1,7 @@ +/** + * 화면명: 노후관로 레이어 설정 + * 사업차수와 구조적·운영적 상태등급별 지도 표시 조건을 설정한다. + */ "use client"; import { useEffect, useState } from "react"; @@ -54,23 +58,18 @@ export default function AgedPipeLayerSettingPanel({ }; const inputClass = - "h-[20px] !rounded border border-input bg-background px-[1px] text-center text-[1.1rem] leading-none text-foreground"; - const numberInputClass = inputClass + " w-[40px]"; + "h-[26px] !rounded border border-input bg-background px-2 py-0 text-center text-[12px] leading-none text-foreground"; + const numberInputClass = inputClass + " min-w-0 flex-1"; const applyButtonClass = - "grid h-[16px] w-[16px] shrink-0 place-items-center rounded-full bg-primary text-[0.85rem] font-bold leading-none text-primary-foreground"; - const indicator = ( - - ); - + "h-[26px] shrink-0 rounded border border-[#A9C5E5] bg-[#EDF4FC] px-2 py-0 text-[12px] font-medium leading-none text-[#2463A6]"; const settingRow = ( -