import 'shared/avatar/avatar.js'; import { __ } from 'i18n'; import { _converse, api } from "@converse/headless/core"; import { getPrettyStatus, logOut } from '../utils.js'; import { html } from "lit"; function tpl_signout () { const i18n_logout = __('Log out'); return html` ` } function tpl_user_settings_button (o) { const i18n_details = __('Show details about this chat client'); return html` `; } export default (el) => { const chat_status = el.model.get('status') || 'offline'; const fullname = el.model.vcard?.get('fullname') || el.model.vcard?.get('nickname') || _converse.bare_jid; 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`
${fullname} ${show_settings_button ? tpl_user_settings_button(el) : ''} ${api.settings.get('allow_logout') ? tpl_signout() : ''}
${status_message}
` };