This commit is contained in:
nnduc
2026-10-24 14:03:52 +07:00
commit 4fe046de58
4790 changed files with 311146 additions and 0 deletions
+55
View File
@@ -0,0 +1,55 @@
<section id="search">
{% if chatroomactions %}
<ul class="list flex active card shadow thick">
<li class="block color" onclick="RoomsUtils_ajaxHttpRoomDiscover(); Drawer.clear()">
<i class="main material-symbols">chat</i>
<span class="primary icon">
<i class="material-symbols">groups</i>
</span>
<div>
<p class="line two">
{{ __('chatrooms.join') }}
</p>
<p></p>
</div>
</li>
<li class="block" onclick="RoomsUtils_ajaxAdd(false, null, true); Drawer.clear()">
<i class="main material-symbols">star</i>
<span class="primary icon transparent">
<i class="material-symbols">group_add</i>
</span>
<div>
<p class="line two">
{{ __('chatrooms.create') }}
</p>
<p></p>
</div>
</li>
</ul>
{% endif %}
<ul id="roster" class="list spin"></ul>
<div id="results">
<div class="placeholder">
<i class="material-symbols">search</i>
<h4>{{ __('input.open_me_using') }} <span class="chip outline">Ctrl</span> + <span class="chip outline">M</span></h4>
</div>
</div>
<br />
</section>
<footer id="searchbar">
<ul class="list">
<li class="search">
<form name="search" onsubmit="return false;">
<div>
<input name="keyword" autocomplete="off"
title="{{ __('search.keyword') }}"
placeholder="{{ __('search.placeholder') }}"
oninput="Search.searchSomething(this.value)"
type="text">
</div>
</form>
</li>
</ul>
</footer>
+37
View File
@@ -0,0 +1,37 @@
{% if jid %}
<ul class="list middle active">
<li class="subheader">
<div>
<p>{{ __('search.keyword') }}</p>
</div>
</li>
<li onclick="Search.chat('{{ jid|echapJS }}', false)">
<span class="primary icon bubble">
<img src="{{ picture }}">
</span>
<span class="control icon gray">
<i class="material-symbols">comment</i>
</span>
<div>
<p class="line">{{ jid }}</p>
<p class="line">{{ __('chats.add') }}</p>
</div>
</li>
<li onclick="Notifications_ajaxAddAsk('{{ jid|echapJS }}'); Drawer.clear();">
<span class="primary icon gray">
<i class="material-symbols">person_add</i>
</span>
<div>
<p class="line">{{ __('roster.add_title') }}</p>
</div>
</li>
<li onclick="RoomsUtils_ajaxHttpRoomDiscover('{{ jid|echapJS }}'); Drawer.clear();">
<span class="primary icon gray">
<i class="material-symbols">groups</i>
</span>
<div>
<p class="line">{{ __('chatrooms.join') }}</p>
</div>
</li>
</ul>
{% endif %}
+97
View File
@@ -0,0 +1,97 @@
{% if contacts %}
<li class="subheader">
<div>
<p>{{ __('page.contacts') }}</p>
</div>
</li>
{% for value in contacts %}
<li
id="{{ value.jid|cleanupId }}"
title="{{ value.jid }}"
name="{{ value.jid|cleanupId }}-{{ value.truename|cleanupId }}-{% if value.groups %}{{ value.groups[0]|cleanupId }}{% endif %}{% if value.presence %}-{{ value.presence|cleanupId }}{% endif %}"
class="{% if not value.presence %}faded{% endif %}"
>
<span class="primary icon bubble active {% if not value.presence %}faded{% else %}status {{ value.presence }}{% endif %}"
onclick="ChatActions_ajaxGetContact('{{ value.jid|echapJS }}'); Drawer.clear();">
<a href="#" onclick="listIconClick(event)">
<img loading="lazy" src="{{ value.picture }}">
</a>
</span>
{% if value.call_audio %}
<span title="{{ __('button.audio_call') }}" class="control icon active gray"
onclick="Visio_ajaxGetLobby('{{ value.call_audio|echapJS }}', true); Drawer.clear();">
<a href="#" onclick="listIconClick(event)">
<i class="material-symbols">phone</i>
</a>
</span>
{% endif %}
{% if value.call_video %}
<span title="{{ __('button.video_call') }}" class="control icon active gray"
onclick="Visio_ajaxGetLobby('{{ value.call_video|echapJS }}', true, true); Drawer.clear();">
<a href="#" onclick="listIconClick(event)">
<i class="material-symbols">videocam</i>
</a>
</span>
{% endif %}
<span class="control icon active gray divided" onclick="Search.chat('{{ value.jid|echapJS }}', false)">
<a href="#" onclick="listIconClick(event)">
<i class="material-symbols">comment</i>
</a>
</span>
<div>
<p class="line">
{{ value.truename }}
{% for g in value.groups %}
<span class="tag color {{ g|stringToColor }}">
{{ g }}
</span>
{% endfor %}
{% if value.subscription and value.subscription != 'both' %}
<span class="second">
{% if value.subscription == 'to' %}
<i class="material-symbols">arrow_upward</i>
{% elif value.subscription == 'from' %}
<i class="material-symbols">arrow_downward</i>
{% else %}
<i class="material-symbols">block</i>
{% endif %}
</span>
{% endif %}
</p>
{% if value.status %}
<p>{{ value.status }}</p>
{% elif value.presence_text %}
<p>{{ value.presence_text }}</p>
{% endif %}
</div>
</li>
{% endfor %}
{% if contacts|length > 7 %}
<li class="showall active" onclick="Search.showCompleteRoster(this)">
<span class="primary icon gray">
<i class="material-symbols">expand_more</i>
</span>
<div>
<p class="line">
{{ __('search.show_complete_roster') }}
<span class="second">{{ contacts|length }} <i class="material-symbols">people</i></span>
</p>
</div>
</li>
{% endif %}
{% else %}
<ul class="list thick">
<li>
<span class="primary icon blue">
<i class="material-symbols">help</i>
</span>
<div>
<p>{{ __('search.no_contacts_title') }}</p>
<p>{{ __('search.no_contacts_text') }}</p>
</div>
</li>
</ul>
{% endif %}