Move error alert to hook

This commit is contained in:
Gregory Schier
2023-11-09 20:02:42 -08:00
parent b04b56d240
commit 8156b51bda
3 changed files with 11 additions and 7 deletions

View File

@@ -157,13 +157,7 @@ export const WorkspaceActionsDropdown = memo(function WorkspaceActionsDropdown({
key: 'import-data',
label: 'Import Data',
leftSlot: <Icon icon="download" />,
onSelect: () =>
importData.mutateAsync().catch((err) => {
alert({
title: 'Import Failed',
body: err,
});
}),
onSelect: () => importData.mutate(),
},
{
key: 'export-data',

View File

@@ -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) {

View File

@@ -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) {