import AddMUCModal from 'plugins/muc-views/modals/add-muc.js'; import MUCListModal from 'plugins/muc-views/modals/muc-list.js'; import { __ } from 'i18n'; import { _converse, api } from "@converse/headless/core"; import { html } from "lit"; const bookmark = (o) => { const i18n_add_bookmark = __('Bookmark this groupchat'); const i18n_remove_bookmark = __('Unbookmark this groupchat'); if (o.bookmarked) { return html` `; } else { return html` `; } } const unread_indicator = (o) => html`${ o.room.get('num_unread') }`; const activity_indicator = () => html``; const room_item = (o) => { const i18n_leave_room = __('Leave this groupchat'); const has_unread_msgs = o.room.get('num_unread_general') || o.room.get('has_activity'); return html`
${ o.room.get('num_unread') ? unread_indicator(o) : (o.room.get('has_activity') ? activity_indicator(o) : '') } ${o.room.getDisplayName()} ${ o.allow_bookmarks ? bookmark(o) : '' }
`; } export default (o) => { const i18n_desc_rooms = __('Click to toggle the list of open groupchats'); const i18n_heading_chatrooms = __('Groupchats'); const i18n_title_list_rooms = __('Query for groupchats'); const i18n_title_new_room = __('Add a new groupchat'); return html`
${i18n_heading_chatrooms} api.modal.show(MUCListModal, { 'model': o.model }, ev)} title="${i18n_title_list_rooms}" data-toggle="modal" data-target="#muc-list-modal"> api.modal.show(AddMUCModal, { 'model': o.model }, ev)} title="${i18n_title_new_room}" data-toggle="modal" data-target="#add-chatrooms-modal">
${__('Open Groupchats')}
${ o.rooms.map(room => room_item(Object.assign({room}, o))) }
`; }