import 'shared/components/dropdown.js'; import 'shared/components/rich-text.js'; import { __ } from 'i18n'; import { _converse, api } from "@converse/headless/core.js"; import { getHeadingDropdownItem, getHeadingStandaloneButton } from 'plugins/chatview/utils.js'; import { html } from "lit"; import { until } from 'lit/directives/until.js'; export default (el) => { const o = el.model.toJSON(); const subject_hidden = el.user_settings?.get('mucs_with_hidden_subject', [])?.includes(el.model.get('jid')); const i18n_hide_topic = __('Hide the groupchat topic'); const i18n_bookmarked = __('This groupchat is bookmarked'); const subject = o.subject ? o.subject.text : ''; const show_subject = (subject && !subject_hidden); const muc_vcard = el.model.vcard?.get('image'); return html`
${ muc_vcard && muc_vcard !== _converse.DEFAULT_IMAGE ? html` ` : '' }
${ (!_converse.api.settings.get("singleton")) ? html`` : '' }
${ el.model.getDisplayName() } ${ (o.bookmarked) ? html` ` : '' }
${ until(el.getHeadingButtons(subject_hidden).then((buttons) => { const dropdown_btns = buttons.filter(b => !b.standalone).map(b => getHeadingDropdownItem(b)); return html` ${ buttons.filter(b => b.standalone).reverse().map(b => until(getHeadingStandaloneButton(b), '')) } ${ dropdown_btns.length ? html`` : '' }` }), '') }
${ show_subject ? html`

` : '' } `; }