import Logger from '@joplin/utils/Logger'; // Can't upgrade beyond 2.x because it doesn't work with Electron. If trying to // upgrade again, check that adding a link from the CodeMirror editor works/ const smalltalk = require('smalltalk'); const logger = Logger.create('dialogs'); class Dialogs { public async alert(message: string, title = '') { await smalltalk.alert(title, message); } // eslint-disable-next-line @typescript-eslint/no-explicit-any -- Old code before rule was applied public async confirm(message: string, title = '', options: any = {}) { try { await smalltalk.confirm(title, message, options); return true; } catch (error) { logger.error(error); return false; } } // eslint-disable-next-line @typescript-eslint/no-explicit-any -- Old code before rule was applied public async prompt(message: string, title = '', defaultValue = '', options: any = null) { options = { cancel: true, ...options }; try { // https://github.com/laurent22/joplin/pull/10258#discussion_r1550306545 const answer = await smalltalk.prompt(title, message, defaultValue, options); return answer; } catch (error) { logger.warn('Prompt appears to have been cancelled:', error); return null; } } } const dialogs = new Dialogs(); export default dialogs;