- CalendarHeader: 모바일에서 주/월 버튼 2줄 레이아웃으로 분리
- MobileCard: 제목 텍스트 overflow 시 truncate 적용
- DetailActions: 모바일 하단 sticky 버튼 바 overflow 수정
- OrderDetailForm: 모바일 하단 sticky 버튼 바 overflow 수정
- LocationDetailPanel: 오픈사이즈 옆 수정 버튼에 모달 연결
- LocationListPanel: 개소 목록에 수정/삭제 버튼 추가
- LocationEditModal: 개소 정보 수정 팝업 신규 생성
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 공통 레이아웃 패턴 적용: [달력] → [프리셋] → [검색창] → [버튼들]
- beforeTableContent → headerActions + createButton 마이그레이션
- DateRangeSelector extraActions prop 활용하여 검색창 통합
- PricingListClient 테이블 행 클릭 → 상세 이동 기능 추가
- 회계 관련 페이지 (입금/출금/매입/매출/어음/카드/예상지출 등) 정리
- 건설 관련 페이지 검색 영역 정리
- 부모 메뉴 리다이렉트 컴포넌트 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- CommandMenuSearch 컴포넌트 추가 (Cmd+K 글로벌 메뉴 검색)
- AuthenticatedLayout: 검색 통합, 모바일/데스크톱 스켈레톤 분리
- middleware: 토큰 갱신 후 리다이렉트 방식으로 변경 (race condition 방지)
- IntegratedDetailTemplate: stickyButtons 옵션 추가 (하단 고정 버튼)
- UniversalListPage: 컬럼 정렬 기능 추가 (sortBy, sortOrder)
- Sidebar: 축소 모드 패딩/간격 최적화
- 각종 컴포넌트 버그 수정 및 경로 정규화
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- DevFillContext: quoteV2 페이지 타입 추가
- DevToolbar: test-new/test/[id] 패턴 및 견적V2 버튼 추가
- DevToolbar: 축소 상태에서 채우기 버튼 표시
- QuoteRegistrationV2: DevFill 훅 연동 (1~5개 랜덤 개소 생성)
- 층, 부호, 가로, 세로, 제품, 수량 등 랜덤 데이터
- 로그인 사용자 정보(localStorage) 연동
- MOCK_DATA 제거 및 실제 getQuoteById API 호출로 변경
- transformApiToV2로 API 응답을 V2 폼 데이터로 변환
- handleSave에서 실제 updateQuote API 호출로 변경
- 저장 후 view 모드로 자동 전환
관련: docs/plans/quote-management-url-migration-plan.md
- test-new 페이지에서 Mock 저장을 실제 createQuote API 호출로 변경
- transformV2ToApi 함수로 V2 폼 데이터 변환
- 저장 후 실제 생성된 견적 ID로 상세 페이지 이동
- 에러 처리 및 사용자 피드백 유지
관련: docs/plans/quote-management-url-migration-plan.md
- LocationItem, QuoteFormDataV2 타입 정의 추가
- transformV2ToApi: V2 폼 데이터 → API 요청 형식 변환
- transformApiToV2: API 응답 → V2 폼 데이터 변환
- BOM 결과 포함 시 자재 상세 items 생성 지원
refs: quote-management-url-migration-plan Step 1.1
- normalizePath 헬퍼 함수 추가 (/ko prefix, ?mode=view 자동 추가)
- 대시보드 detailButtonPath에 /ko prefix 적용
- start 스크립트에 -H 0.0.0.0 추가 (외부 접근 허용)
- start:local 스크립트 추가 (로컬 전용)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- BadDebtCollection 액션/타입 리팩토링
- ReceivingProcessDialog 입고처리 개선
- StockStatusList 재고현황 UI 개선
- OrderSalesDetailView 수주 상세 수정
- UniversalListPage 범용 리스트 개선
- production-order 페이지 수정
- 견적 상세 페이지에서 상태 변경 가능하도록 Select 컴포넌트 추가
- 견적완료일(completedDate) 필드를 FormData 타입에 추가
- 견적완료 상태일 때 완료일자 표시
- 저장 시 상태를 강제로 'completed'로 변경하던 로직 제거
- 목록 페이지에서 견적완료일이 표시되지 않던 문제 수정
- updated_at을 완료 상태의 completedDate로 사용
- QuantityInput 컴포넌트 controlled component 에러 수정
- defaultValue props 분리하여 spread 방지
- LoginPage.tsx: 하드코딩된 "S" 텍스트 → Image 컴포넌트로 변경
- SignupPage.tsx: 하드코딩된 "S" 텍스트 → Image 컴포넌트로 변경
- AuthenticatedLayout과 동일한 /sam-logo.png 사용
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 수주 상세 페이지에 삭제 기능 추가
- 수주등록/취소 상태에서 삭제 버튼 표시
- 삭제 확인 다이얼로그 구현
- 삭제 후 목록 페이지로 이동
- 출하목록 데이터 누락 수정
- 발주처/현장명 order_info 참조하도록 수정
- 배송방식 라벨 API 응답값 사용
- 공통코드 API 함수 추가
- getDeliveryMethodCodes, getDeliveryMethodOptions
- getCodeLabel 유틸 함수
- SalesManagement actions 및 index 개선
- EmployeeForm 수정
- WorkOrder Detail/Edit/List 컴포넌트 업데이트
- IntegratedDetailTemplate types 수정
- dashboard types 업데이트
- transformers.ts: footer_summary destructuring 누락 수정
- cardManagementConfigTransformers.ts: items, by_user, monthly_trend 방어적 코드 추가
- undefined 배열 접근 시 빈 배열 기본값 적용
- 카드 사용 상세(cm1), 가지급금 상세(cm2) 모달 에러 해결
- togglePurchaseTaxInvoice에서 redirect 에러 catch하여 페이지 이동 방지
- UniversalListPage의 onDataChange useEffect 무한 루프 수정
- config.onDataChange를 dependency array에서 제거
- 파비콘: SVG 형식으로 변경 (white 로고 + 파란 배경)
- 헤더 로고: SAM 로고 이미지로 교체
- 거래처 상세: 신용분석 모달 컴포넌트 추가
- 신용등급, 리스크 지표, 레이더 차트
- 프린트 기능 지원
Co-Authored-By: Claude <noreply@anthropic.com>
- DepositManagement, WithdrawalManagement, SalesManagement, CardManagement
버튼 URL을 /new에서 ?mode=new 방식으로 변경
- DevToolbar에 MODE_NEW_PAGES 상수 추가하여 ?mode=new 페이지 감지
- useSearchParams 활용하여 mode 파라미터 확인 후 채우기 버튼 활성화