mirror of
https://github.com/amitwh/markdown-converter.git
synced 2026-08-02 18:10:18 +05:30
feat(renderer): export dialogs toast on success/failure
This commit is contained in:
@@ -4,6 +4,7 @@ import { Label } from '@/components/ui/label';
|
||||
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select';
|
||||
import { useAppStore } from '@/stores/app-store';
|
||||
import { ipc } from '@/lib/ipc';
|
||||
import { toast } from '@/lib/toast';
|
||||
import { ExportDialogFooter } from './ExportDialogFooter';
|
||||
|
||||
const extFor = (format: 'pdf' | 'docx' | 'html' | 'png') =>
|
||||
@@ -25,9 +26,11 @@ export function ExportBatchDialog({ sourcePaths }: { sourcePaths: string[] }) {
|
||||
}));
|
||||
const result = await ipc.export.batch(items, { format, concurrency });
|
||||
if (!result.ok) {
|
||||
toast.error(`Export failed: ${result.error.message}`);
|
||||
setError(result.error.message);
|
||||
setSubmitting(false);
|
||||
} else {
|
||||
toast.success(`Exported ${sourcePaths.length} files`);
|
||||
closeModal();
|
||||
}
|
||||
};
|
||||
|
||||
@@ -7,6 +7,7 @@ import { useAppStore } from '@/stores/app-store';
|
||||
import { useSettingsStore } from '@/stores/settings-store';
|
||||
import { useExportSource } from '@/hooks/use-export-source';
|
||||
import { ipc } from '@/lib/ipc';
|
||||
import { toast } from '@/lib/toast';
|
||||
import { ExportDialogFooter } from './ExportDialogFooter';
|
||||
|
||||
export function ExportDocxDialog({ sourcePath }: { sourcePath: string }) {
|
||||
@@ -29,9 +30,11 @@ export function ExportDocxDialog({ sourcePath }: { sourcePath: string }) {
|
||||
renderTablesAsAscii: ascii,
|
||||
} as any);
|
||||
if (!result.ok) {
|
||||
toast.error(`Export failed: ${result.error.message}`);
|
||||
setError(result.error.message);
|
||||
setSubmitting(false);
|
||||
} else {
|
||||
toast.success(`Exported ${source.title} to ${result.data?.outputPath ?? 'file'}`);
|
||||
closeModal();
|
||||
}
|
||||
};
|
||||
|
||||
@@ -7,6 +7,7 @@ import { useAppStore } from '@/stores/app-store';
|
||||
import { useSettingsStore } from '@/stores/settings-store';
|
||||
import { useExportSource } from '@/hooks/use-export-source';
|
||||
import { ipc } from '@/lib/ipc';
|
||||
import { toast } from '@/lib/toast';
|
||||
import { ExportDialogFooter } from './ExportDialogFooter';
|
||||
|
||||
export function ExportHtmlDialog({ sourcePath }: { sourcePath: string }) {
|
||||
@@ -31,9 +32,11 @@ export function ExportHtmlDialog({ sourcePath }: { sourcePath: string }) {
|
||||
renderTablesAsAscii: ascii,
|
||||
} as any);
|
||||
if (!result.ok) {
|
||||
toast.error(`Export failed: ${result.error.message}`);
|
||||
setError(result.error.message);
|
||||
setSubmitting(false);
|
||||
} else {
|
||||
toast.success(`Exported ${source.title} to ${result.data?.outputPath ?? 'file'}`);
|
||||
closeModal();
|
||||
}
|
||||
};
|
||||
|
||||
@@ -7,6 +7,7 @@ import { useAppStore } from '@/stores/app-store';
|
||||
import { useSettingsStore } from '@/stores/settings-store';
|
||||
import { useExportSource } from '@/hooks/use-export-source';
|
||||
import { ipc } from '@/lib/ipc';
|
||||
import { toast } from '@/lib/toast';
|
||||
import { ExportDialogFooter } from './ExportDialogFooter';
|
||||
|
||||
const MARGIN_MAP = {
|
||||
@@ -44,9 +45,11 @@ export function ExportPdfDialog({ sourcePath }: { sourcePath: string }) {
|
||||
fontSize,
|
||||
} as any);
|
||||
if (!result.data?.ok) {
|
||||
toast.error(`Export failed: ${result.data?.error?.message ?? 'Export failed'}`);
|
||||
setError(result.data?.error?.message ?? 'Export failed');
|
||||
setSubmitting(false);
|
||||
} else {
|
||||
toast.success(`Exported ${source.title} to ${result.data?.outputPath ?? 'file'}`);
|
||||
closeModal();
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user