|
@@ -4,12 +4,12 @@ import { _converse, api, log } from '@converse/headless';
|
|
import { __ } from 'i18n';
|
|
import { __ } from 'i18n';
|
|
import BaseModal from 'plugins/modal/modal.js';
|
|
import BaseModal from 'plugins/modal/modal.js';
|
|
import { compressImage } from 'utils/file.js';
|
|
import { compressImage } from 'utils/file.js';
|
|
-import { modal_close_button } from 'plugins/modal/templates/buttons.js';
|
|
|
|
import '../password-reset.js';
|
|
import '../password-reset.js';
|
|
|
|
+import { modal_close_button } from 'plugins/modal/templates/buttons.js';
|
|
|
|
+import tplLogoutButton from '../templates/logout_button.js';
|
|
import tplProfileModal from '../templates/profile_modal.js';
|
|
import tplProfileModal from '../templates/profile_modal.js';
|
|
|
|
|
|
import './styles/profile.scss';
|
|
import './styles/profile.scss';
|
|
-import logout_button from '../templates/logout_button.js';
|
|
|
|
|
|
|
|
export default class ProfileModal extends BaseModal {
|
|
export default class ProfileModal extends BaseModal {
|
|
/**
|
|
/**
|
|
@@ -79,7 +79,7 @@ export default class ProfileModal extends BaseModal {
|
|
*/
|
|
*/
|
|
renderModalFooter() {
|
|
renderModalFooter() {
|
|
return html`<div class="modal-footer d-flex justify-content-between">
|
|
return html`<div class="modal-footer d-flex justify-content-between">
|
|
- ${modal_close_button} ${logout_button()}
|
|
|
|
|
|
+ ${modal_close_button} ${tplLogoutButton(this)}
|
|
</div>`;
|
|
</div>`;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -180,6 +180,18 @@ export default class ProfileModal extends BaseModal {
|
|
const roster_filter = /** @type {HTMLInputElement} */ (this.querySelector('input[name="status_message"]'));
|
|
const roster_filter = /** @type {HTMLInputElement} */ (this.querySelector('input[name="status_message"]'));
|
|
roster_filter.value = '';
|
|
roster_filter.value = '';
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * @param {MouseEvent} ev
|
|
|
|
+ */
|
|
|
|
+ async logOut(ev) {
|
|
|
|
+ ev?.preventDefault();
|
|
|
|
+ this.close();
|
|
|
|
+ const result = await api.confirm(__('Confirm'), __('Are you sure you want to log out?'));
|
|
|
|
+ if (result) {
|
|
|
|
+ api.user.logout();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
api.elements.define('converse-profile-modal', ProfileModal);
|
|
api.elements.define('converse-profile-modal', ProfileModal);
|