From 44b74ff4170090673b6eeacd8c528e0abf47b7aa Mon Sep 17 00:00:00 2001 From: joonhoekim <26rote@gmail.com> Date: Mon, 1 Dec 2025 19:52:06 +0900 Subject: (김준회) deprecated code 정리 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/b-rfq/attachment/request-revision-dialog.tsx | 205 ----------------------- 1 file changed, 205 deletions(-) delete mode 100644 lib/b-rfq/attachment/request-revision-dialog.tsx (limited to 'lib/b-rfq/attachment/request-revision-dialog.tsx') diff --git a/lib/b-rfq/attachment/request-revision-dialog.tsx b/lib/b-rfq/attachment/request-revision-dialog.tsx deleted file mode 100644 index 90d5b543..00000000 --- a/lib/b-rfq/attachment/request-revision-dialog.tsx +++ /dev/null @@ -1,205 +0,0 @@ -// components/rfq/request-revision-dialog.tsx -"use client"; - -import { useState, useTransition } from "react"; -import { Button } from "@/components/ui/button"; -import { Badge } from "@/components/ui/badge"; -import { - Dialog, - DialogContent, - DialogHeader, - DialogTitle, - DialogTrigger, -} from "@/components/ui/dialog"; -import { - Form, - FormControl, - FormField, - FormItem, - FormLabel, - FormMessage, -} from "@/components/ui/form"; -import { Textarea } from "@/components/ui/textarea"; -import { useForm } from "react-hook-form"; -import { zodResolver } from "@hookform/resolvers/zod"; -import * as z from "zod"; -import { AlertTriangle, Loader2 } from "lucide-react"; -import { useToast } from "@/hooks/use-toast"; -import { requestRevision } from "../service"; - -const revisionFormSchema = z.object({ - revisionReason: z - .string() - .min(10, "수정 요청 사유를 최소 10자 이상 입력해주세요") - .max(500, "수정 요청 사유는 500자를 초과할 수 없습니다"), -}); - -type RevisionFormData = z.infer; - -interface RequestRevisionDialogProps { - responseId: number; - attachmentType: string; - serialNo: string; - vendorName?: string; - currentRevision: string; - trigger?: React.ReactNode; - onSuccess?: () => void; -} - -export function RequestRevisionDialog({ - responseId, - attachmentType, - serialNo, - vendorName, - currentRevision, - trigger, - onSuccess, -}: RequestRevisionDialogProps) { - const [open, setOpen] = useState(false); - const [isPending, startTransition] = useTransition(); - const { toast } = useToast(); - - const form = useForm({ - resolver: zodResolver(revisionFormSchema), - defaultValues: { - revisionReason: "", - }, - }); - - const handleOpenChange = (newOpen: boolean) => { - setOpen(newOpen); - // 다이얼로그가 닫힐 때 form 리셋 - if (!newOpen) { - form.reset(); - } - }; - - const handleCancel = () => { - form.reset(); - setOpen(false); - }; - - const onSubmit = async (data: RevisionFormData) => { - startTransition(async () => { - try { - const result = await requestRevision(responseId, data.revisionReason); - - if (!result.success) { - throw new Error(result.message); - } - - toast({ - title: "수정 요청 완료", - description: result.message, - }); - - setOpen(false); - form.reset(); - onSuccess?.(); - - } catch (error) { - console.error("Request revision error:", error); - toast({ - title: "수정 요청 실패", - description: error instanceof Error ? error.message : "알 수 없는 오류가 발생했습니다.", - variant: "destructive", - }); - } - }); - }; - - return ( - - - {trigger || ( - - )} - - - - - - 수정 요청 - -
- {serialNo} - {attachmentType} - {currentRevision} - {vendorName && ( - <> - - {vendorName} - - )} -
-
- -
-
-
- -
-

수정 요청 안내

-

- 벤더에게 현재 제출된 응답에 대한 수정을 요청합니다. - 수정 요청 후 벤더는 새로운 파일을 다시 제출할 수 있습니다. -

-
-
-
- -
- - ( - - - 수정 요청 사유 * - - -