2021-02-16 13:43:13 +01:00
|
|
|
import { __ } from 'i18n';
|
2021-04-14 22:56:59 +02:00
|
|
|
import { html } from "lit";
|
|
|
|
import { repeat } from 'lit/directives/repeat.js';
|
2021-02-16 13:43:13 +01:00
|
|
|
import spinner from "templates/spinner.js";
|
2020-01-23 10:18:41 +01:00
|
|
|
|
|
|
|
|
2020-08-16 23:33:17 +02:00
|
|
|
const form = (o) => {
|
|
|
|
const i18n_query = __('Show groupchats');
|
|
|
|
const i18n_server_address = __('Server address');
|
|
|
|
return html`
|
|
|
|
<form class="converse-form list-chatrooms"
|
|
|
|
@submit=${o.submitForm}>
|
|
|
|
<div class="form-group">
|
|
|
|
<label for="chatroom">${i18n_server_address}:</label>
|
|
|
|
<input type="text"
|
2022-08-21 13:03:32 +02:00
|
|
|
autofocus
|
2020-08-16 23:33:17 +02:00
|
|
|
@change=${o.setDomainFromEvent}
|
2020-09-30 18:35:22 +02:00
|
|
|
value="${o.muc_domain || ''}"
|
2020-08-16 23:33:17 +02:00
|
|
|
required="required"
|
|
|
|
name="server"
|
|
|
|
class="form-control"
|
|
|
|
placeholder="${o.server_placeholder}"/>
|
|
|
|
</div>
|
|
|
|
<input type="submit" class="btn btn-primary" name="list" value="${i18n_query}"/>
|
|
|
|
</form>
|
|
|
|
`;
|
|
|
|
}
|
2020-01-23 10:18:41 +01:00
|
|
|
|
|
|
|
|
2020-08-16 23:33:17 +02:00
|
|
|
const tpl_item = (o, item) => {
|
|
|
|
const i18n_info_title = __('Show more information on this groupchat');
|
|
|
|
const i18n_open_title = __('Click to open this groupchat');
|
|
|
|
return html`
|
|
|
|
<li class="room-item list-group-item">
|
|
|
|
<div class="available-chatroom d-flex flex-row">
|
|
|
|
<a class="open-room available-room w-100"
|
2022-08-21 13:03:32 +02:00
|
|
|
@click=${o.openRoom}
|
|
|
|
data-room-jid="${item.jid}"
|
|
|
|
data-room-name="${item.name}"
|
|
|
|
title="${i18n_open_title}"
|
|
|
|
href="#">${item.name || item.jid}</a>
|
|
|
|
<a class="right room-info icon-room-info"
|
|
|
|
@click=${o.toggleRoomInfo}
|
|
|
|
data-room-jid="${item.jid}"
|
|
|
|
title="${i18n_info_title}"
|
|
|
|
href="#"></a>
|
2020-08-16 23:33:17 +02:00
|
|
|
</div>
|
|
|
|
</li>
|
|
|
|
`;
|
|
|
|
}
|
2020-04-15 11:25:37 +02:00
|
|
|
|
|
|
|
|
2020-08-16 23:33:17 +02:00
|
|
|
export default (o) => {
|
|
|
|
return html`
|
2022-08-21 13:03:32 +02:00
|
|
|
${o.show_form ? form(o) : '' }
|
|
|
|
<ul class="available-chatrooms list-group">
|
2022-12-13 09:54:13 +01:00
|
|
|
${ o.loading_items ? html`<li class="list-group-item"> ${ spinner() } </li>` : '' }
|
2022-08-21 13:03:32 +02:00
|
|
|
${ o.feedback_text ? html`<li class="list-group-item active">${ o.feedback_text }</li>` : '' }
|
2022-12-13 09:54:13 +01:00
|
|
|
${ repeat(o.items, (item) => item.jid, (item) => tpl_item(o, item)) }
|
2022-08-21 13:03:32 +02:00
|
|
|
</ul>
|
2020-08-16 23:33:17 +02:00
|
|
|
`;
|
|
|
|
}
|