diff options
| author | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-07-22 02:57:00 +0000 |
|---|---|---|
| committer | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-07-22 02:57:00 +0000 |
| commit | ee57cc221ff2edafd3c0f12a181214c602ed257e (patch) | |
| tree | 148f552f503798f7a350d6eff936b889f16be49f /components/ship-vendor-document/add-attachment-dialog.tsx | |
| parent | 14f61e24947fb92dd71ec0a7196a6e815f8e66da (diff) | |
(대표님, 최겸) 이메일 템플릿, 벤더데이터 변경사항 대응, 기술영업 변경요구사항 구현
Diffstat (limited to 'components/ship-vendor-document/add-attachment-dialog.tsx')
| -rw-r--r-- | components/ship-vendor-document/add-attachment-dialog.tsx | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/components/ship-vendor-document/add-attachment-dialog.tsx b/components/ship-vendor-document/add-attachment-dialog.tsx index 2f2467a3..a285b4de 100644 --- a/components/ship-vendor-document/add-attachment-dialog.tsx +++ b/components/ship-vendor-document/add-attachment-dialog.tsx @@ -55,15 +55,15 @@ const ACCEPTED_FILE_TYPES = [ const attachmentUploadSchema = z.object({ attachments: z .array(z.instanceof(File)) - .min(1, "최소 1개의 파일을 업로드해주세요") - .max(10, "최대 10개의 파일까지 업로드 가능합니다") + .min(1, "Please upload at least 1 file") + .max(10, "Maximum 10 files can be uploaded") .refine( (files) => files.every((file) => file.size <= MAX_FILE_SIZE), - "파일 크기는 50MB 이하여야 합니다" + "File size must be 50MB or less" ) .refine( (files) => files.every((file) => ACCEPTED_FILE_TYPES.includes(file.type)), - "지원하지 않는 파일 형식입니다" + "Unsupported file format" ), }) @@ -128,10 +128,10 @@ function FileUploadArea({ > <Paperclip className="mx-auto h-12 w-12 text-gray-400 mb-4" /> <p className="text-sm text-gray-600 mb-2"> - 추가할 파일을 드래그하여 놓거나 클릭하여 선택하세요 + Drag files to add here or click to select </p> <p className="text-xs text-gray-500"> - PDF, Word, Excel, 이미지, 텍스트, ZIP 파일 지원 (최대 50MB) + Supports PDF, Word, Excel, Image, Text, ZIP files (max 50MB) </p> <input ref={fileInputRef} @@ -145,7 +145,7 @@ function FileUploadArea({ {files.length > 0 && ( <div className="space-y-2 max-h-40 overflow-y-auto overscroll-contain pr-2"> - <p className="text-sm font-medium">선택된 파일 ({files.length}개)</p> + <p className="text-sm font-medium">Selected Files ({files.length})</p> <div className="max-h-40 overflow-y-auto space-y-2"> {files.map((file, index) => ( <div @@ -251,7 +251,7 @@ export function AddAttachmentDialog({ if (!response.ok) { const errorData = await response.json() - throw new Error(errorData.error || errorData.details || '첨부파일 업로드에 실패했습니다.') + throw new Error(errorData.error || errorData.details || 'Failed to upload attachments.') } const result = await response.json() @@ -259,10 +259,10 @@ export function AddAttachmentDialog({ toast.success( result.message || - `${result.data?.uploadedFiles?.length || 0}개 첨부파일이 추가되었습니다.` + `${result.data?.uploadedFiles?.length || 0} attachments added.` ) - console.log('✅ 첨부파일 업로드 성공:', result) + console.log('✅ Attachment upload successful:', result) setTimeout(() => { handleDialogClose() @@ -270,8 +270,8 @@ export function AddAttachmentDialog({ }, 1000) } catch (error) { - console.error('❌ 첨부파일 업로드 오류:', error) - toast.error(error instanceof Error ? error.message : "첨부파일 업로드 중 오류가 발생했습니다") + console.error('❌ Attachment upload error:', error) + toast.error(error instanceof Error ? error.message : "An error occurred while uploading attachments") } finally { setIsUploading(false) setTimeout(() => setUploadProgress(0), 2000) @@ -285,10 +285,10 @@ export function AddAttachmentDialog({ <DialogHeader className="flex-shrink-0 pb-4 border-b"> <DialogTitle className="flex items-center gap-2"> <Paperclip className="h-5 w-5" /> - 첨부파일 추가 + Add Attachments </DialogTitle> <DialogDescription className="text-sm"> - 리비전 {revisionName}에 추가 첨부파일을 업로드합니다 + Upload additional attachments to revision {revisionName} </DialogDescription> </DialogHeader> @@ -302,7 +302,7 @@ export function AddAttachmentDialog({ name="attachments" render={({ field }) => ( <FormItem> - <FormLabel className="required">첨부파일</FormLabel> + <FormLabel className="required">Attachments</FormLabel> <FormControl> <FileUploadArea files={watchedFiles || []} @@ -318,14 +318,14 @@ export function AddAttachmentDialog({ {isUploading && ( <div className="space-y-2"> <div className="flex items-center justify-between text-sm"> - <span>업로드 진행률</span> + <span>Upload Progress</span> <span>{uploadProgress.toFixed(0)}%</span> </div> <Progress value={uploadProgress} className="w-full" /> {uploadProgress === 100 && ( <div className="flex items-center gap-2 text-sm text-green-600"> <CheckCircle className="h-4 w-4" /> - <span>업로드 완료</span> + <span>Upload Complete</span> </div> )} </div> @@ -340,7 +340,7 @@ export function AddAttachmentDialog({ onClick={handleDialogClose} disabled={isUploading} > - 취소 + Cancel </Button> <Button type="submit" @@ -350,12 +350,12 @@ export function AddAttachmentDialog({ {isUploading ? ( <> <Loader2 className="mr-2 h-4 w-4 animate-spin" /> - 업로드 중... + Uploading... </> ) : ( <> <Upload className="mr-2 h-4 w-4" /> - 추가 + Add </> )} </Button> |
