import { html } from 'lit'; import { repeat } from 'lit/directives/repeat.js'; import { _converse, api } from '@converse/headless/core'; function shouldShowChat (c) { const { CONTROLBOX_TYPE } = _converse; const is_minimized = (api.settings.get('view_mode') === 'overlayed' && c.get('minimized')); return c.get('type') === CONTROLBOX_TYPE || !(c.get('hidden') || is_minimized); } export default () => { const { chatboxes, CONTROLBOX_TYPE, CHATROOMS_TYPE, HEADLINES_TYPE } = _converse; const view_mode = api.settings.get('view_mode'); const connection = _converse?.connection; const logged_out = !connection?.connected || !connection?.authenticated || connection?.disconnecting; return html` ${!logged_out && view_mode === 'overlayed' ? html`` : ''} ${repeat(chatboxes.filter(shouldShowChat), m => m.get('jid'), m => { if (m.get('type') === CONTROLBOX_TYPE) { return html` ${view_mode === 'overlayed' ? html`` : ''} `; } else if (m.get('type') === CHATROOMS_TYPE) { return html` `; } else if (m.get('type') === HEADLINES_TYPE) { return html` `; } else { return html` `; } })} `; };