diff --git a/src-web/components/WorkspaceActionsDropdown.tsx b/src-web/components/WorkspaceActionsDropdown.tsx index daa23815..5896c6e7 100644 --- a/src-web/components/WorkspaceActionsDropdown.tsx +++ b/src-web/components/WorkspaceActionsDropdown.tsx @@ -157,13 +157,7 @@ export const WorkspaceActionsDropdown = memo(function WorkspaceActionsDropdown({ key: 'import-data', label: 'Import Data', leftSlot: , - onSelect: () => - importData.mutateAsync().catch((err) => { - alert({ - title: 'Import Failed', - body: err, - }); - }), + onSelect: () => importData.mutate(), }, { key: 'export-data', diff --git a/src-web/hooks/useExportData.tsx b/src-web/hooks/useExportData.tsx index 41e7d109..986d6a07 100644 --- a/src-web/hooks/useExportData.tsx +++ b/src-web/hooks/useExportData.tsx @@ -3,6 +3,7 @@ import { invoke } from '@tauri-apps/api'; import type { SaveDialogOptions } from '@tauri-apps/api/dialog'; import { save } from '@tauri-apps/api/dialog'; import { useActiveWorkspaceId } from './useActiveWorkspaceId'; +import { useAlert } from './useAlert'; const saveArgs: SaveDialogOptions = { title: 'Export Data', @@ -11,8 +12,12 @@ const saveArgs: SaveDialogOptions = { export function useExportData() { const workspaceId = useActiveWorkspaceId(); + const alert = useAlert(); return useMutation({ + onError: (err: string) => { + alert({ title: 'Export Failed', body: err }); + }, mutationFn: async () => { const exportPath = await save(saveArgs); if (exportPath == null) { diff --git a/src-web/hooks/useImportData.tsx b/src-web/hooks/useImportData.tsx index 7bd1d568..4a380f78 100644 --- a/src-web/hooks/useImportData.tsx +++ b/src-web/hooks/useImportData.tsx @@ -7,6 +7,7 @@ import { VStack } from '../components/core/Stacks'; import { useDialog } from '../components/DialogContext'; import type { Environment, Folder, HttpRequest, Workspace } from '../lib/models'; import { count } from '../lib/pluralize'; +import { useAlert } from './useAlert'; import { useAppRoutes } from './useAppRoutes'; const openArgs: OpenDialogOptions = { @@ -17,8 +18,12 @@ const openArgs: OpenDialogOptions = { export function useImportData() { const routes = useAppRoutes(); const dialog = useDialog(); + const alert = useAlert(); return useMutation({ + onError: (err: string) => { + alert({ title: 'Import Failed', body: err }); + }, mutationFn: async () => { const selected = await open(openArgs); if (selected == null || selected.length === 0) {