Skip to content

Commit 5e0b47e

Browse files
committed
show toast when upload is complete
1 parent f0e48a6 commit 5e0b47e

File tree

1 file changed

+17
-6
lines changed

1 file changed

+17
-6
lines changed

sites/preview/src/lib/components/tree/Tree.svelte

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<script lang="ts">
2-
import { FileNode, FolderNode, type FileTreeNode } from "$lib/tree.svelte.js";
2+
import { FileNode, FileTree, FolderNode, type FileTreeNode } from "$lib/tree.svelte.js";
33
import { composeEventHandlers, formatSize } from "$lib/utils.js";
44
import { ContextMenu } from "bits-ui";
55
import {
@@ -115,7 +115,7 @@
115115
});
116116
}
117117
118-
async function handleUploadFiles({ target, files }: UploadFilesArgs) {
118+
function handleUploadFiles({ target, files }: UploadFilesArgs) {
119119
for (const child of target.children) {
120120
for (const file of files) {
121121
if (child.name === file.name) {
@@ -125,10 +125,21 @@
125125
}
126126
}
127127
128-
const didUpload = await onUploadFiles({ target, files });
129-
if (didUpload) {
130-
// TODO: show toast after upload is done
131-
}
128+
const uploadPromise = Promise.resolve(onUploadFiles({ target, files }));
129+
const name = target instanceof FileTree ? "/" : target.name;
130+
toast.promise(uploadPromise, {
131+
loading: `Uploading ${files.length} file(s) to ${name}`,
132+
success: (didUpload) => {
133+
if (!didUpload) {
134+
return "Failed to upload files";
135+
}
136+
137+
return `Uploaded ${files.length} file(s) to ${name}`;
138+
},
139+
error: (error) => {
140+
throw error;
141+
},
142+
});
132143
}
133144
134145
const contextMenuState = createContextMenuState({

0 commit comments

Comments
 (0)