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

@@ -79,11 +79,11 @@ export function QuoteManagementClient({
// ===== 핸들러 =====
const handleView = useCallback((quote: Quote) => {
router.push(`/sales/quote-management/${quote.id}`);
router.push(`/sales/quote-management/${quote.id}?mode=view`);
}, [router]);
const handleEdit = useCallback((quote: Quote) => {
router.push(`/sales/quote-management/${quote.id}/edit`);
router.push(`/sales/quote-management/${quote.id}?mode=edit`);
}, [router]);
const handleDeleteClick = useCallback((id: string) => {
@@ -358,7 +358,7 @@ export function QuoteManagementClient({
headerActions: () => (
<Button
className="ml-auto"
onClick={() => router.push('/sales/quote-management/new')}
onClick={() => router.push('/sales/quote-management?mode=new')}
>
<FileText className="w-4 h-4 mr-2" />

View File

@@ -65,7 +65,7 @@ export const quoteEditConfig: DetailConfig = {
* - 저장/취소 버튼이 IntegratedDetailTemplate에서 처리됨
*/
export const quoteRegistrationCreateConfig: DetailConfig = {
title: '견적 등록',
title: '견적',
description: '새 견적을 등록합니다',
icon: FileText,
basePath: '/sales/quote-management',
@@ -82,7 +82,7 @@ export const quoteRegistrationCreateConfig: DetailConfig = {
* 견적 수정 페이지 Config (구버전 QuoteRegistration용)
*/
export const quoteRegistrationEditConfig: DetailConfig = {
title: '견적 수정',
title: '견적',
description: '견적 정보를 수정합니다',
icon: FileText,
basePath: '/sales/quote-management',