summaryrefslogtreecommitdiff
path: root/lib/vendors/table/attachmentButton.tsx
diff options
context:
space:
mode:
authordujinkim <dujin.kim@dtsolution.co.kr>2025-04-02 09:54:08 +0000
committerdujinkim <dujin.kim@dtsolution.co.kr>2025-04-02 09:54:08 +0000
commitdfdfae3018f8499240f48d28ce634f4a5c56e006 (patch)
tree4493b172c061fa5bf4e94c083788110eb1507f6d /lib/vendors/table/attachmentButton.tsx
parent21a72eeddc74cf775e2a76e2c569de970bd62a7f (diff)
벤더 코멘트 처리
Diffstat (limited to 'lib/vendors/table/attachmentButton.tsx')
-rw-r--r--lib/vendors/table/attachmentButton.tsx45
1 files changed, 26 insertions, 19 deletions
diff --git a/lib/vendors/table/attachmentButton.tsx b/lib/vendors/table/attachmentButton.tsx
index a82f59e1..3ffa9c5f 100644
--- a/lib/vendors/table/attachmentButton.tsx
+++ b/lib/vendors/table/attachmentButton.tsx
@@ -16,25 +16,25 @@ interface AttachmentsButtonProps {
export function AttachmentsButton({ vendorId, hasAttachments, attachmentsList = [] }: AttachmentsButtonProps) {
if (!hasAttachments) return null;
-
+
const handleDownload = async () => {
try {
toast.loading('첨부파일을 준비하는 중...');
-
+
// 서버 액션 호출
const result = await downloadVendorAttachments(vendorId);
-
+
// 로딩 토스트 닫기
toast.dismiss();
-
+
if (!result || !result.url) {
toast.error('다운로드 준비 중 오류가 발생했습니다.');
return;
}
-
+
// 파일 다운로드 트리거
toast.success('첨부파일 다운로드가 시작되었습니다.');
-
+
// 다운로드 링크 열기
const a = document.createElement('a');
a.href = result.url;
@@ -43,27 +43,34 @@ export function AttachmentsButton({ vendorId, hasAttachments, attachmentsList =
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
-
+
} catch (error) {
toast.dismiss();
toast.error('첨부파일 다운로드에 실패했습니다.');
console.error('첨부파일 다운로드 오류:', error);
}
};
-
+
return (
- <Button
- variant="ghost"
- size="icon"
- onClick={handleDownload}
- title={`${attachmentsList.length}개 파일 다운로드`}
- >
- <PaperclipIcon className="h-4 w-4" />
- {attachmentsList.length > 1 && (
- <Badge variant="outline" className="ml-1 h-5 min-w-5 px-1">
+ <>
+ {attachmentsList && attachmentsList.length > 0 &&
+ <Button
+ variant="ghost"
+ size="icon"
+ onClick={handleDownload}
+ title={`${attachmentsList.length}개 파일 다운로드`}
+ >
+ <PaperclipIcon className="h-4 w-4 text-muted-foreground group-hover:text-primary transition-colors" />
+ {/* {attachmentsList.length > 1 && (
+ <Badge
+ variant="secondary"
+ className="pointer-events-none absolute -top-1 -right-1 h-4 min-w-[1rem] p-0 text-[0.425rem] leading-none flex items-center justify-center"
+ >
{attachmentsList.length}
</Badge>
- )}
- </Button>
+ )} */}
+ </Button>
+ }
+ </>
);
}