import 'shared/avatar/avatar.js'; import { __ } from 'i18n'; import { api } from "@converse/headless/core"; import { getPrettyStatus, logOut } from '../utils.js'; import { html } from "lit"; function tplSignout () { const i18n_logout = __('Log out'); return html` ` } function tplUserSettingsButton (o) { const i18n_details = __('Show details about this chat client'); return html` `; } export default (el) => { const chat_status = el.model.get('status') || 'offline'; const status_message = el.model.get('status_message') || __("I am %1$s", getPrettyStatus(chat_status)); const i18n_change_status = __('Click to change your chat status'); const show_settings_button = api.settings.get('show_client_info') || api.settings.get('allow_adhoc_commands'); let classes, color; if (chat_status === 'online') { [classes, color] = ['fa fa-circle chat-status', 'chat-status-online']; } else if (chat_status === 'dnd') { [classes, color] = ['fa fa-minus-circle chat-status', 'chat-status-busy']; } else if (chat_status === 'away') { [classes, color] = ['fa fa-circle chat-status', 'chat-status-away']; } else { [classes, color] = ['fa fa-circle chat-status', 'subdued-color']; } return html`
${el.model.getDisplayName()} ${show_settings_button ? tplUserSettingsButton(el) : ''} ${api.settings.get('allow_logout') ? tplSignout() : ''}
${status_message}
` };