diff options
Diffstat (limited to 'lib/swp/table/swp-document-detail-dialog.tsx')
| -rw-r--r-- | lib/swp/table/swp-document-detail-dialog.tsx | 56 |
1 files changed, 28 insertions, 28 deletions
diff --git a/lib/swp/table/swp-document-detail-dialog.tsx b/lib/swp/table/swp-document-detail-dialog.tsx index 77ef77f7..ef5cf6f9 100644 --- a/lib/swp/table/swp-document-detail-dialog.tsx +++ b/lib/swp/table/swp-document-detail-dialog.tsx @@ -122,8 +122,8 @@ export function SwpDocumentDetailDialog({ setActivities(flatActivities); } catch (error) { - console.error("문서 상세 조회 실패:", error); - toast.error("문서 리비전 트리를 불러오는데 실패했습니다"); + console.error("Failed to retrieve document details:", error); + toast.error("Failed to load document revision tree"); } finally { setIsLoading(false); } @@ -157,8 +157,8 @@ export function SwpDocumentDetailDialog({ setActivityFiles(activitySpecificFiles); } catch (error) { - console.error("파일 목록 조회 실패:", error); - toast.error("파일 목록을 불러오는데 실패했습니다"); + console.error("Failed to retrieve file list:", error); + toast.error("Failed to load file list"); } finally { setIsLoadingFiles(false); } @@ -166,11 +166,11 @@ export function SwpDocumentDetailDialog({ const handleDownloadFile = async (fileName: string, ownDocNo: string) => { try { - toast.info("파일 다운로드 중..."); + toast.info("Downloading file..."); const result = await downloadVendorFile(projNo, ownDocNo, fileName); if (!result.success || !result.data) { - toast.error(result.error || "파일 다운로드 실패"); + toast.error(result.error || "File download failed"); return; } @@ -185,10 +185,10 @@ export function SwpDocumentDetailDialog({ window.document.body.removeChild(link); URL.revokeObjectURL(url); - toast.success(`파일 다운로드 완료: ${fileName}`); + toast.success(`File download complete: ${fileName}`); } catch (error) { - console.error("파일 다운로드 실패:", error); - toast.error("파일 다운로드에 실패했습니다"); + console.error("File download failed:", error); + toast.error("Failed to download file"); } }; @@ -221,7 +221,7 @@ export function SwpDocumentDetailDialog({ <Dialog open={open} onOpenChange={onOpenChange}> <DialogContent className="max-w-[95vw] h-[90vh] overflow-hidden flex flex-col"> <DialogHeader> - <DialogTitle className="text-base">문서 리비전 히스토리</DialogTitle> + <DialogTitle className="text-base">Document Revision History</DialogTitle> {document && ( <DialogDescription className="text-xs"> {document.DOC_NO} - {document.DOC_TITLE} @@ -234,30 +234,30 @@ export function SwpDocumentDetailDialog({ {/* 문서 정보 */} <div className="flex items-center gap-4 px-3 py-2 bg-muted/30 rounded text-xs"> <div className="flex items-center gap-1"> - <span className="font-semibold">프로젝트:</span> + <span className="font-semibold">Project:</span> <span>{document.PROJ_NO}</span> {document.PROJ_NM && ( <span className="text-muted-foreground">({document.PROJ_NM})</span> )} </div> <div className="flex items-center gap-1"> - <span className="font-semibold">패키지:</span> + <span className="font-semibold">Package:</span> <span>{document.PKG_NO || "-"}</span> </div> <div className="flex items-center gap-1"> - <span className="font-semibold">업체:</span> + <span className="font-semibold">Vendor:</span> <span>{document.CPY_NM || "-"}</span> {document.VNDR_CD && ( <span className="text-muted-foreground">({document.VNDR_CD})</span> )} </div> <div className="flex items-center gap-1"> - <span className="font-semibold">최신 리비전:</span> + <span className="font-semibold">Latest Revision:</span> <span>{document.LTST_REV_NO || "-"}</span> </div> <div className="flex items-center gap-1"> - <span className="font-semibold">총 Activity:</span> - <span>{activities.length}개</span> + <span className="font-semibold">Total Activity:</span> + <span>{activities.length}</span> </div> </div> @@ -265,7 +265,7 @@ export function SwpDocumentDetailDialog({ {isLoading ? ( <div className="flex items-center justify-center p-8"> <Loader2 className="h-5 w-5 animate-spin" /> - <span className="ml-2 text-sm">리비전 트리 로딩 중...</span> + <span className="ml-2 text-sm">Loading revision tree...</span> </div> ) : activities.length > 0 ? ( <> @@ -357,14 +357,14 @@ export function SwpDocumentDetailDialog({ {/* 파일 목록 (아래) */} <div className="border rounded-lg overflow-hidden h-[30vh] flex flex-col"> <div className="px-3 py-1.5 bg-muted/50 border-b flex-shrink-0"> - <h3 className="font-semibold text-xs">파일 목록</h3> + <h3 className="font-semibold text-xs">File List</h3> {selectedActivity ? ( <p className="text-[10px] text-muted-foreground mt-0.5"> Activity: {selectedActivity.actvNo} / Rev {selectedActivity.revNo} ({selectedActivity.stage}) / {selectedActivity.inOut} </p> ) : ( <p className="text-[10px] text-muted-foreground mt-0.5"> - Activity를 선택하면 파일 목록이 표시됩니다 + Select an Activity to view the file list </p> )} </div> @@ -373,16 +373,16 @@ export function SwpDocumentDetailDialog({ isLoadingFiles ? ( <div className="flex items-center justify-center h-full"> <Loader2 className="h-4 w-4 animate-spin" /> - <span className="ml-2 text-xs">파일 로딩 중...</span> + <span className="ml-2 text-xs">Loading files...</span> </div> ) : activityFiles.length > 0 ? ( <Table> <TableHeader className="sticky top-0 bg-background"> <TableRow> - <TableHead className="min-w-[200px] text-xs h-8">파일명</TableHead> - <TableHead className="w-[90px] text-xs h-8">크기</TableHead> - <TableHead className="w-[100px] text-xs h-8">날짜</TableHead> - <TableHead className="w-[90px] text-xs h-8">다운로드</TableHead> + <TableHead className="min-w-[200px] text-xs h-8">File Name</TableHead> + <TableHead className="w-[90px] text-xs h-8">Size</TableHead> + <TableHead className="w-[100px] text-xs h-8">Date</TableHead> + <TableHead className="w-[90px] text-xs h-8">Download</TableHead> </TableRow> </TableHeader> <TableBody> @@ -405,7 +405,7 @@ export function SwpDocumentDetailDialog({ onClick={() => handleDownloadFile(file.FILE_NM, document.OWN_DOC_NO || document.DOC_NO)} > <Download className="h-3 w-3 mr-1" /> - 다운로드 + Download </Button> </TableCell> </TableRow> @@ -416,7 +416,7 @@ export function SwpDocumentDetailDialog({ <div className="flex items-center justify-center h-full text-xs text-muted-foreground"> <div className="text-center"> <AlertCircle className="h-6 w-6 mx-auto mb-1 opacity-50" /> - <p>파일이 없습니다</p> + <p>No files</p> </div> </div> ) @@ -424,7 +424,7 @@ export function SwpDocumentDetailDialog({ <div className="flex items-center justify-center h-full text-xs text-muted-foreground"> <div className="text-center"> <FileIcon className="h-8 w-8 mx-auto mb-1 opacity-30" /> - <p>Activity를 선택해주세요</p> + <p>Please select an Activity</p> </div> </div> )} @@ -434,7 +434,7 @@ export function SwpDocumentDetailDialog({ ) : ( <div className="p-8 text-center text-muted-foreground"> <AlertCircle className="h-10 w-10 mx-auto mb-2 opacity-50" /> - <p className="text-sm">Activity 정보가 없습니다</p> + <p className="text-sm">No Activity information</p> </div> )} </div> |
