Files
sam-react-prod/src/components/business/construction/order-management/dialogs/OrderDialogs.tsx
유병철 269b901e64 refactor: UI 컴포넌트 추상화 및 입금/출금 등록 버튼 추가
- 입금관리, 출금관리 리스트에 등록 버튼 추가
- skeleton, confirm-dialog, empty-state, status-badge UI 컴포넌트 추가
- document-system 컴포넌트 추상화 (ApprovalLine, DocumentHeader 등)
- 여러 페이지 컴포넌트 리팩토링 및 코드 정리

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 17:21:42 +09:00

66 lines
1.8 KiB
TypeScript

'use client';
import {
SaveConfirmDialog,
DeleteConfirmDialog,
} from '@/components/ui/confirm-dialog';
interface OrderDialogsProps {
// 저장 다이얼로그
showSaveDialog: boolean;
onSaveDialogChange: (open: boolean) => void;
onConfirmSave: () => void;
// 삭제 다이얼로그
showDeleteDialog: boolean;
onDeleteDialogChange: (open: boolean) => void;
onConfirmDelete: () => void;
// 카테고리 삭제 다이얼로그
showCategoryDeleteDialog: string | null;
onCategoryDeleteDialogChange: (categoryId: string | null) => void;
onConfirmDeleteCategory: () => void;
// 공통
isLoading: boolean;
}
export function OrderDialogs({
showSaveDialog,
onSaveDialogChange,
onConfirmSave,
showDeleteDialog,
onDeleteDialogChange,
onConfirmDelete,
showCategoryDeleteDialog,
onCategoryDeleteDialogChange,
onConfirmDeleteCategory,
isLoading,
}: OrderDialogsProps) {
return (
<>
{/* 저장 확인 다이얼로그 */}
<SaveConfirmDialog
open={showSaveDialog}
onOpenChange={onSaveDialogChange}
loading={isLoading}
onConfirm={onConfirmSave}
/>
{/* 삭제 확인 다이얼로그 */}
<DeleteConfirmDialog
open={showDeleteDialog}
onOpenChange={onDeleteDialogChange}
description="이 발주를 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다."
loading={isLoading}
onConfirm={onConfirmDelete}
/>
{/* 카테고리 삭제 확인 다이얼로그 */}
<DeleteConfirmDialog
open={!!showCategoryDeleteDialog}
onOpenChange={() => onCategoryDeleteDialogChange(null)}
description="이 발주 상세를 삭제하시겠습니까? 해당 카테고리의 모든 품목이 삭제됩니다."
onConfirm={onConfirmDeleteCategory}
/>
</>
);
}