/* eslint global-require: 0*/ import React from 'react'; import PropTypes from 'prop-types'; import rimraf from 'rimraf'; import path from 'path'; import ConfigSchemaItem from './config-schema-item'; import WorkspaceSection from './workspace-section'; import SendingSection from './sending-section'; class PreferencesGeneral extends React.Component { static displayName = 'PreferencesGeneral'; static propTypes = { config: PropTypes.object, configSchema: PropTypes.object, }; _onReboot = () => { const app = require('electron').remote.app; app.relaunch(); app.quit(); }; _onResetAccountsAndSettings = () => { rimraf(AppEnv.getConfigDirPath(), { disableGlob: true }, err => { if (err) { return AppEnv.showErrorDialog( `Could not reset accounts and settings. Please delete the folder ${AppEnv.getConfigDirPath()} manually.\n\n${err.toString()}` ); } this._onReboot(); }); }; _onResetEmailCache = () => { rimraf(path.join(AppEnv.getConfigDirPath(), 'edgehill.*'), err => { if (err) { return AppEnv.showErrorDialog({ title: `Could not delete the mail database.`, message: `Please quit Mailspring and delete the "edgehill.db" file in ${AppEnv.getConfigDirPath()} manually.\n\n${err.toString()}`, }); } this._onReboot(); }); }; render() { return (
Mailspring desktop notifications on Linux require Zenity. You may need to install it with your package manager (i.e., sudo apt-get install zenity).
Local Data
Reset Email Cache
Reset Accounts and Settings
); } } export default PreferencesGeneral;