mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-06-16 15:13:31 -07:00
47 lines
1.4 KiB
TypeScript
47 lines
1.4 KiB
TypeScript
import type { MessageBoxOptions, MessageBoxReturnValue } from 'electron';
|
|
|
|
type ShowMessageBox = (options: MessageBoxOptions) => Promise<MessageBoxReturnValue>;
|
|
|
|
export async function showLogExportSuccessDialog(options: {
|
|
zipPath: string;
|
|
showMessageBox: ShowMessageBox;
|
|
showItemInFolder: (path: string) => void;
|
|
logWarn: (message: string, details?: unknown) => void;
|
|
}): Promise<void> {
|
|
const successDialog = await options
|
|
.showMessageBox({
|
|
type: 'info',
|
|
title: 'SubMiner logs exported',
|
|
message: 'SubMiner log export created.',
|
|
detail: options.zipPath,
|
|
buttons: ['OK', 'Show in Folder'],
|
|
defaultId: 0,
|
|
cancelId: 0,
|
|
})
|
|
.catch((dialogError) => {
|
|
options.logWarn('Failed to show log export success dialog.', dialogError);
|
|
return undefined;
|
|
});
|
|
|
|
if (successDialog?.response === 1) {
|
|
options.showItemInFolder(options.zipPath);
|
|
}
|
|
}
|
|
|
|
export async function showLogExportErrorDialog(options: {
|
|
message: string;
|
|
showMessageBox: ShowMessageBox;
|
|
logWarn: (message: string, details?: unknown) => void;
|
|
}): Promise<void> {
|
|
await options
|
|
.showMessageBox({
|
|
type: 'error',
|
|
title: 'SubMiner log export failed',
|
|
message: 'Could not export SubMiner logs.',
|
|
detail: options.message,
|
|
})
|
|
.catch((dialogError) => {
|
|
options.logWarn('Failed to show log export error dialog.', dialogError);
|
|
});
|
|
}
|