feat(WEB): 전체 페이지 ?mode= URL 네비게이션 패턴 적용

- 등록(?mode=new), 상세(?mode=view), 수정(?mode=edit) URL 패턴 일괄 적용
- 중복 패턴 제거: /edit?mode=edit → ?mode=edit (16개 파일)
- 제목 일관성: {기능} 등록/상세/수정 패턴 적용
- 검수 체크리스트 문서 추가 (79개 페이지)
- UniversalListPage, IntegratedDetailTemplate 공통 컴포넌트 개선

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
유병철
2026-01-25 12:27:43 +09:00
parent 72f1accbe4
commit f6551c7e8b
162 changed files with 2907 additions and 480 deletions

View File

@@ -121,7 +121,7 @@ export function ClientDetailClientV2({ clientId, initialMode }: ClientDetailClie
if (newMode === 'edit' && clientId) {
router.push(`${clientDetailConfig.basePath}/${clientId}?mode=edit`);
} else if (newMode === 'view' && clientId) {
router.push(`${clientDetailConfig.basePath}/${clientId}`);
router.push(`${clientDetailConfig.basePath}/${clientId}?mode=view`);
}
},
[router, clientId]
@@ -177,7 +177,7 @@ export function ClientDetailClientV2({ clientId, initialMode }: ClientDetailClie
const result = await updateClient(clientId!, clientFormData);
if (result) {
toast.success('거래처가 수정되었습니다.');
router.push(`${clientDetailConfig.basePath}/${clientId}`);
router.push(`${clientDetailConfig.basePath}/${clientId}?mode=view`);
return { success: true };
}
return { success: false, error: '거래처 수정에 실패했습니다.' };
@@ -215,7 +215,7 @@ export function ClientDetailClientV2({ clientId, initialMode }: ClientDetailClie
router.push(clientDetailConfig.basePath);
} else {
setMode('view');
router.push(`${clientDetailConfig.basePath}/${clientId}`);
router.push(`${clientDetailConfig.basePath}/${clientId}?mode=view`);
}
}, [router, clientId, isNewMode]);

View File

@@ -7,7 +7,7 @@ import type { DetailConfig } from '@/components/templates/IntegratedDetailTempla
* 거래처 등록 페이지 Config
*/
export const clientCreateConfig: DetailConfig = {
title: '거래처 등록',
title: '거래처',
description: '거래처 정보를 입력하세요',
icon: Building2,
basePath: '/sales/client-management',