Skip to content

Commit d542dfa

Browse files
committed
export filefolder tree types; add toast feedback for file/folder mutations
1 parent 0065819 commit d542dfa

3 files changed

Lines changed: 32 additions & 0 deletions

File tree

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
export type {
22
AddResourceDropdownProps,
33
AvailableItem,
4+
FileFolderTreeNode,
45
WorkflowTreeNode,
56
} from './add-resource-dropdown'
67
export {
78
AddResourceDropdown,
9+
buildFileFolderTree,
810
buildWorkflowFolderTree,
11+
FileFolderTreeItems,
912
useAvailableResources,
1013
WorkflowFolderTreeItems,
1114
} from './add-resource-dropdown'

apps/sim/hooks/queries/workspace-file-folders.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1+
import { toError } from '@sim/utils/errors'
12
import { keepPreviousData, useMutation, useQuery, useQueryClient } from '@tanstack/react-query'
3+
import { toast } from '@/components/emcn'
24
import { requestJson } from '@/lib/api/client/request'
35
import {
46
bulkArchiveWorkspaceFileItemsContract,
@@ -139,6 +141,15 @@ export function useMoveWorkspaceFileItems() {
139141
},
140142
})
141143
},
144+
onSuccess: (_data, variables) => {
145+
const total = variables.fileIds.length + variables.folderIds.length
146+
toast.success(
147+
`Moved ${total} item${total === 1 ? '' : 's'} ${variables.targetFolderId ? 'to folder' : 'to Files'}`
148+
)
149+
},
150+
onError: (error) => {
151+
toast.error(toError(error).message)
152+
},
142153
onSettled: (_data, _error, variables) => {
143154
invalidateWorkspaceFileBrowsers(queryClient, variables.workspaceId)
144155
},
@@ -158,6 +169,13 @@ export function useBulkArchiveWorkspaceFileItems() {
158169
body: { fileIds: variables.fileIds, folderIds: variables.folderIds },
159170
})
160171
},
172+
onSuccess: (_data, variables) => {
173+
const total = variables.fileIds.length + variables.folderIds.length
174+
toast.success(`Moved ${total} item${total === 1 ? '' : 's'} to trash`)
175+
},
176+
onError: (error) => {
177+
toast.error(toError(error).message)
178+
},
161179
onSettled: (_data, _error, variables) => {
162180
invalidateWorkspaceFileBrowsers(queryClient, variables.workspaceId)
163181
},
@@ -171,6 +189,9 @@ export function useRestoreWorkspaceFileFolder() {
171189
requestJson(restoreWorkspaceFileFolderContract, {
172190
params: { id: variables.workspaceId, folderId: variables.folderId },
173191
}),
192+
onSuccess: () => {
193+
toast.success('Folder restored')
194+
},
174195
onSettled: (_data, _error, variables) => {
175196
invalidateWorkspaceFileBrowsers(queryClient, variables.workspaceId)
176197
},

apps/sim/hooks/queries/workspace-files.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { createLogger } from '@sim/logger'
2+
import { toError } from '@sim/utils/errors'
23
import { sleep } from '@sim/utils/helpers'
34
import { keepPreviousData, useMutation, useQuery, useQueryClient } from '@tanstack/react-query'
45
import { toast } from '@/components/emcn'
@@ -484,6 +485,10 @@ export function useDeleteWorkspaceFile() {
484485
)
485486
}
486487
logger.error('Failed to delete file')
488+
toast.error(toError(_err).message)
489+
},
490+
onSuccess: () => {
491+
toast.success('File moved to trash')
487492
},
488493
onSettled: (_data, _error, variables) => {
489494
queryClient.invalidateQueries({
@@ -505,6 +510,9 @@ export function useRestoreWorkspaceFile() {
505510
requestJson(restoreWorkspaceFileContract, {
506511
params: { id: workspaceId, fileId },
507512
}),
513+
onSuccess: () => {
514+
toast.success('File restored')
515+
},
508516
onSettled: (_data, _error, variables) => {
509517
queryClient.invalidateQueries({
510518
queryKey: workspaceFilesKeys.workspaceLists(variables.workspaceId),

0 commit comments

Comments
 (0)