import Page from '../../common/components/Page'; import FieldSet from '../../common/components/FieldSet'; import Button from '../../common/components/Button'; import Alert from '../../common/components/Alert'; import Select from '../../common/components/Select'; import LoadingIndicator from '../../common/components/LoadingIndicator'; import saveSettings from '../utils/saveSettings'; export default class MailPage extends Page { init() { super.init(); this.saving = false; this.sendingTest = false; this.refresh(); } refresh() { this.loading = true; this.driverFields = {}; this.fields = ['mail_driver', 'mail_from']; this.values = {}; this.status = { sending: false, errors: {} }; const settings = app.data.settings; this.fields.forEach((key) => (this.values[key] = m.prop(settings[key]))); app .request({ method: 'GET', url: app.forum.attribute('apiUrl') + '/mail/settings', }) .then((response) => { this.driverFields = response['data']['attributes']['fields']; this.status.sending = response['data']['attributes']['sending']; this.status.errors = response['data']['attributes']['errors']; for (const driver in this.driverFields) { for (const field in this.driverFields[driver]) { this.fields.push(field); this.values[field] = m.prop(settings[field]); } } this.loading = false; m.redraw(); }); } view() { if (this.loading || this.saving) { return (
); } const fields = this.driverFields[this.values.mail_driver()]; const fieldKeys = Object.keys(fields); return (

{app.translator.trans('core.admin.email.heading')}

{app.translator.trans('core.admin.email.text')}
{FieldSet.component({ label: app.translator.trans('core.admin.email.addresses_heading'), className: 'MailPage-MailSettings', children: [
, ], })} {FieldSet.component({ label: app.translator.trans('core.admin.email.driver_heading'), className: 'MailPage-MailSettings', children: [