summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorjoonhoekim <26rote@gmail.com>2025-11-26 18:57:47 +0900
committerjoonhoekim <26rote@gmail.com>2025-11-26 18:57:47 +0900
commit2b5d063ab408a163c016358251192a07a337eaa7 (patch)
tree71b9678169666211dc07663a1b1b9c8c0acf8b91 /app
parent5a370de52d6947d35aa07f9545c4f6a4d83eadd7 (diff)
(김준회) dolce: 다운로드 시각적 피드백 표시 (UX)
Diffstat (limited to 'app')
-rw-r--r--app/[lng]/partners/(partners)/dolce-upload-v3/dolce-upload-page-v3.tsx7
1 files changed, 6 insertions, 1 deletions
diff --git a/app/[lng]/partners/(partners)/dolce-upload-v3/dolce-upload-page-v3.tsx b/app/[lng]/partners/(partners)/dolce-upload-v3/dolce-upload-page-v3.tsx
index 513cfe1e..55bedb38 100644
--- a/app/[lng]/partners/(partners)/dolce-upload-v3/dolce-upload-page-v3.tsx
+++ b/app/[lng]/partners/(partners)/dolce-upload-v3/dolce-upload-page-v3.tsx
@@ -85,6 +85,7 @@ export default function DolceUploadPageV3({ searchParams }: DolceUploadPageV3Pro
const [files, setFiles] = useState<FileInfoItem[]>([]);
const [isLoadingDetails, setIsLoadingDetails] = useState(false);
const [, setIsLoadingFiles] = useState(false);
+ const [downloadingFileId, setDownloadingFileId] = useState<string | null>(null);
// 다이얼로그 상태
const [bulkUploadDialogOpen, setBulkUploadDialogOpen] = useState(false);
@@ -311,6 +312,7 @@ export default function DolceUploadPageV3({ searchParams }: DolceUploadPageV3Pro
const handleDownload = async (file: FileInfoItem) => {
try {
+ setDownloadingFileId(file.FileId);
toast.info(t("detailDialog.downloadPreparing"));
const response = await fetch("/api/dolce/download", {
method: "POST",
@@ -337,6 +339,8 @@ export default function DolceUploadPageV3({ searchParams }: DolceUploadPageV3Pro
} catch (error) {
console.error("파일 다운로드 실패:", error);
toast.error(t("detailDialog.downloadError"));
+ } finally {
+ setDownloadingFileId(null);
}
};
@@ -375,7 +379,8 @@ export default function DolceUploadPageV3({ searchParams }: DolceUploadPageV3Pro
const fileColumns = createFileListColumns({
onDownload: handleDownload,
onDelete: handleDeleteFile,
- lng
+ lng,
+ downloadingFileId
});
if (isLoading) {