Files
movim-rs/templates/Chats/_chats_item.html
T
2026-10-24 14:03:52 +07:00

94 lines
4.5 KiB
HTML

<li
id="{{ contact.id|slugify|cleanupId }}-chat-item"
data-jid="{{ contact.id }}"
class="{% if contact.in_roster %}roster{% if not contact.presence %} faded{% endif %}{% endif %}"
title="{{ contact.id }}{% if message %} • {{ message.date_full }}{% endif %}">
<span class="primary icon bubble {% if contact.presence %}status {{ contact.presence }}{% endif %} {% if composing %}composing{% endif %}"
{% if count > 0 %}data-counter="{{ count }}"{% endif %}>
<a href="#" onclick="listIconClick(event);" title="{{ contact.truename }}">
<img alt="" src="{{ contact.picture }}">
</a>
</span>
<div>
<p class="line">
{% if message %}
<span class="info">
{{ message.date }}
</span>
<span class="info" title="{{ message.date_full }}">
{% if message.mine %}
{% if message.displayed %}
<span class="material-symbols">done_all</span>
{% elif message.delivered %}
<span class="material-symbols">check</span>
{% endif %}
&nbsp;
{% endif %}
</span>
{% endif %}
{% if resource %}
{{ resource }}
<span class="second" title="{{ bare }}">
{{ bare }}
</span>
{% else %}
{{ contact.truename }}
{% endif %}
</p>
{% if message %}
<p class="line">
{% if in_call %}
<i class="material-symbols icon green blink">phone_in_talk</i>
{{ __('visio.in_call') }} •
{% endif %}
{% if message.encrypted %}
<i class="material-symbols fill">lock</i> {% if message.retracted %}{{ __('message.retracted') }}{% else %}{{ __('message.encrypted') }}{% endif %}
{% elif message.retracted %}
<i class="material-symbols">delete</i> {{ __('message.retracted') }}
{% elif message.type == 'invitation' %}
<i class="material-symbols icon gray">outgoing_mail</i> {{ __('message.invitation') }}
{% elif message.type == 'jingle_incoming' %}
<i class="material-symbols icon green">call</i> {{ __('chat.jingle_incoming') }}
{% elif message.type == 'jingle_retract' %}
<i class="material-symbols icon gray">phone_missed</i> {{ __('chat.jingle_retract') }}
{% elif message.type == 'jingle_reject' %}
<i class="material-symbols icon orange">phone_missed</i> {{ __('chat.jingle_reject') }}
{% elif message.type == 'jingle_finish' %}
<i class="material-symbols icon red">phone_disabled</i> {{ __('chat.jingle_end') }}
{% elif message.type == 'jingle_outgoing' %}
<i class="material-symbols icon blue">call</i> {{ __('chat.jingle_outgoing') }}
{% elif message.type == 'jingle_end' %}
<i class="material-symbols icon red">call_end</i> {{ __('chat.jingle_end') }}
{% elif message.file %}
{% if message.mine %}
<span class="moderator">{{ __('chats.me') }}:</span>
{% endif %}
{% if message.file.isPicture %}
{% if message.file.thumbnail_type == 'image/thumbhash' and message.file.thumbnail_url %}
<img class="tinythumb" data-thumbhash="{{ message.file.thumbnail_url }}">
{% else %}
<i class="material-symbols">image</i>
{% endif %}
{{ __('chats.picture') }}
{% elif message.file.isAudio %}
<i class="material-symbols">equalizer</i> {{ __('chats.audio') }}
{% elif message.file.isVideo %}
<i class="material-symbols">local_movies</i> {{ __('chats.video') }}
{% else %}
<i class="material-symbols">insert_drive_file</i> {{ __('avatar.file') }}
{% endif %}
{% elif message.body %}
{% if message.mine %}
<span class="moderator">{{ __('chats.me') }}:</span>
{% endif %}
{{ message.body_html|safe }}
{% endif %}
</p>
{% elif contact.status %}
<p class="line">{{ contact.status }}</p>
{% endif %}
</div>
</li>