summaryrefslogtreecommitdiff
path: root/lib/swp/table/swp-uploaded-files-dialog.tsx
diff options
context:
space:
mode:
authorjoonhoekim <26rote@gmail.com>2025-11-27 17:48:28 +0900
committerjoonhoekim <26rote@gmail.com>2025-11-27 17:48:28 +0900
commit95984e67b8d57fbe1431fcfedf3bb682f28416b3 (patch)
tree79953157e70b30c3c65ae52a01adb65fd4344bee /lib/swp/table/swp-uploaded-files-dialog.tsx
parent647e2e487238aed36ff9a880648e5c3e8725160f (diff)
(김준회) swp 영문 처리
Diffstat (limited to 'lib/swp/table/swp-uploaded-files-dialog.tsx')
-rw-r--r--lib/swp/table/swp-uploaded-files-dialog.tsx62
1 files changed, 31 insertions, 31 deletions
diff --git a/lib/swp/table/swp-uploaded-files-dialog.tsx b/lib/swp/table/swp-uploaded-files-dialog.tsx
index 14d69df4..e92cb0ad 100644
--- a/lib/swp/table/swp-uploaded-files-dialog.tsx
+++ b/lib/swp/table/swp-uploaded-files-dialog.tsx
@@ -90,8 +90,8 @@ export function SwpUploadedFilesDialog({ projNo, vndrCd, userId }: SwpUploadedFi
if (!projNo) {
toast({
variant: "destructive",
- title: "조회 불가",
- description: "프로젝트 정보가 필요합니다.",
+ title: "Unable to retrieve files",
+ description: "Project information is required.",
});
return;
}
@@ -102,15 +102,15 @@ export function SwpUploadedFilesDialog({ projNo, vndrCd, userId }: SwpUploadedFi
const result = await fetchVendorUploadedFiles(projNo);
setFiles(result);
toast({
- title: "조회 완료",
- description: `${result.length}개의 파일을 조회했습니다.`,
+ title: "Files retrieved successfully",
+ description: `${result.length} files retrieved.`,
});
} catch (error) {
- console.error("파일 목록 조회 실패:", error);
+ console.error("Failed to retrieve files:", error);
toast({
variant: "destructive",
- title: "조회 실패",
- description: error instanceof Error ? error.message : "알 수 없는 오류",
+ title: "Failed to retrieve files",
+ description: error instanceof Error ? error.message : "Unknown error",
});
}
});
@@ -121,8 +121,8 @@ export function SwpUploadedFilesDialog({ projNo, vndrCd, userId }: SwpUploadedFi
if (!file.BOX_SEQ || !file.ACTV_SEQ) {
toast({
variant: "destructive",
- title: "취소 불가",
- description: "파일 정보가 올바르지 않습니다.",
+ title: "Unable to cancel file",
+ description: "File information is invalid.",
});
return;
}
@@ -138,18 +138,18 @@ export function SwpUploadedFilesDialog({ projNo, vndrCd, userId }: SwpUploadedFi
});
toast({
- title: "취소 완료",
- description: `${file.FILE_NM} 파일이 취소되었습니다.`,
+ title: "File canceled successfully",
+ description: `${file.FILE_NM} file canceled.`,
});
// 목록 새로고침
loadFiles();
} catch (error) {
- console.error("파일 취소 실패:", error);
+ console.error("Failed to cancel file:", error);
toast({
variant: "destructive",
- title: "취소 실패",
- description: error instanceof Error ? error.message : "알 수 없는 오류",
+ title: "Failed to cancel file",
+ description: error instanceof Error ? error.message : "Unknown error",
});
} finally {
setCancellingFiles((prev) => {
@@ -192,14 +192,14 @@ export function SwpUploadedFilesDialog({ projNo, vndrCd, userId }: SwpUploadedFi
<DialogTrigger asChild>
<Button variant="outline" size="sm" disabled={!projNo}>
<FileText className="h-4 w-4 mr-2" />
- 업로드 파일 관리
+ Upload File Management
</Button>
</DialogTrigger>
<DialogContent className="max-w-4xl max-h-[80vh]">
<DialogHeader>
- <DialogTitle>업로드한 파일 목록</DialogTitle>
+ <DialogTitle>Uploaded File List</DialogTitle>
<DialogDescription>
- 프로젝트: {projNo} | 업체: {vndrCd}
+ Project: {projNo} | Company: {vndrCd}
</DialogDescription>
</DialogHeader>
@@ -207,7 +207,7 @@ export function SwpUploadedFilesDialog({ projNo, vndrCd, userId }: SwpUploadedFi
{/* 액션 바 */}
<div className="flex items-center justify-between">
<div className="text-sm text-muted-foreground">
- 총 {files.length}개 파일
+ Total {files.length} files
</div>
<Button
variant="outline"
@@ -218,12 +218,12 @@ export function SwpUploadedFilesDialog({ projNo, vndrCd, userId }: SwpUploadedFi
{isLoading ? (
<>
<Loader2 className="h-4 w-4 mr-2 animate-spin" />
- 조회 중...
+ Loading...
</>
) : (
<>
<RefreshCw className="h-4 w-4 mr-2" />
- 새로고침
+ Refresh
</>
)}
</Button>
@@ -234,11 +234,11 @@ export function SwpUploadedFilesDialog({ projNo, vndrCd, userId }: SwpUploadedFi
{isLoading && files.length === 0 ? (
<div className="flex items-center justify-center h-full text-muted-foreground">
<Loader2 className="h-6 w-6 animate-spin mr-2" />
- 파일 목록을 조회하는 중...
+ Loading files...
</div>
) : files.length === 0 ? (
<div className="flex items-center justify-center h-full text-muted-foreground">
- 업로드한 파일이 없습니다.
+ No files uploaded.
</div>
) : (
<div className="space-y-2">
@@ -257,7 +257,7 @@ export function SwpUploadedFilesDialog({ projNo, vndrCd, userId }: SwpUploadedFi
<FileText className="h-4 w-4 text-blue-600 shrink-0" />
<span className="font-semibold">{docNo}</span>
<Badge variant="outline" className="text-xs">
- {docNode.revisions.size}개 리비전
+ {docNode.revisions.size} revisions
</Badge>
</div>
@@ -280,7 +280,7 @@ export function SwpUploadedFilesDialog({ projNo, vndrCd, userId }: SwpUploadedFi
)}
<span className="font-medium text-sm">Rev: {revNo}</span>
<Badge variant="secondary" className="text-xs">
- {revNode.files.files.length}개 파일
+ {revNode.files.files.length} files
</Badge>
</div>
@@ -303,7 +303,7 @@ export function SwpUploadedFilesDialog({ projNo, vndrCd, userId }: SwpUploadedFi
<div className="flex items-center gap-2 text-xs text-muted-foreground">
<span>Stage: {file.STAGE}</span>
<span>•</span>
- <span>상태: {file.STAT_NM || file.STAT || "알 수 없음"}</span>
+ <span>Status: {file.STAT_NM || file.STAT || "Unknown"}</span>
</div>
</div>
<Button
@@ -313,19 +313,19 @@ export function SwpUploadedFilesDialog({ projNo, vndrCd, userId }: SwpUploadedFi
disabled={!isCancellable || isCancelling}
title={
isCancellable
- ? "파일 업로드 취소"
- : `취소 불가 (상태: ${file.STAT_NM || file.STAT})`
+ ? "Cancel file upload"
+ : `Cancel not possible (Status: ${file.STAT_NM || file.STAT})`
}
>
{isCancelling ? (
<>
<Loader2 className="h-3 w-3 mr-1 animate-spin" />
- 취소 중...
+ Canceling...
</>
) : (
<>
<X className="h-3 w-3 mr-1" />
- 취소
+ Cancel
</>
)}
</Button>
@@ -348,8 +348,8 @@ export function SwpUploadedFilesDialog({ projNo, vndrCd, userId }: SwpUploadedFi
{/* 안내 메시지 */}
<div className="rounded-lg bg-blue-50 dark:bg-blue-950/30 border border-blue-200 dark:border-blue-800 p-3">
<div className="text-xs text-blue-600 dark:text-blue-400 space-y-1">
- <p>ℹ️ 접수 전(SCW01) 상태의 파일만 취소할 수 있습니다.</p>
- <p>ℹ️ 취소된 파일은 목록에서 제거됩니다.</p>
+ <p>Files in the 'SCW01' status can only be canceled.</p>
+ <p>Canceled files will be removed from the list.</p>
</div>
</div>
</div>