Mercurial > libervia-templates
annotate sat_templates/templates/bulma/chat/message.html @ 386:e63fb06052ae
bulma: message edition + extra menu + improvments:
- add an extra menu template with `Edit` and `Quote`
- add a template for previous editions popup
- fix `own_msg` class application
- add CSS for edit mode
- cosmetic changes
author | Goffi <goffi@goffi.org> |
---|---|
date | Tue, 28 Nov 2023 17:48:00 +0100 |
parents | 941e4006ab6e |
children | 8b990c78d4b5 |
rev | line source |
---|---|
230 | 1 {% import 'components/avatar.html' as avatar with context %} |
2 | |
386
e63fb06052ae
bulma: message edition + extra menu + improvments:
Goffi <goffi@goffi.org>
parents:
385
diff
changeset
|
3 {% if chat_type == "group" %} |
e63fb06052ae
bulma: message edition + extra menu + improvments:
Goffi <goffi@goffi.org>
parents:
385
diff
changeset
|
4 {% set own_msg = msg.from_==own_jid %} |
e63fb06052ae
bulma: message edition + extra menu + improvments:
Goffi <goffi@goffi.org>
parents:
385
diff
changeset
|
5 {% else %} |
e63fb06052ae
bulma: message edition + extra menu + improvments:
Goffi <goffi@goffi.org>
parents:
385
diff
changeset
|
6 {% set own_msg = msg.from_|bare_jid==own_jid|bare_jid %} |
e63fb06052ae
bulma: message edition + extra menu + improvments:
Goffi <goffi@goffi.org>
parents:
385
diff
changeset
|
7 {% endif %} |
e63fb06052ae
bulma: message edition + extra menu + improvments:
Goffi <goffi@goffi.org>
parents:
385
diff
changeset
|
8 |
e63fb06052ae
bulma: message edition + extra menu + improvments:
Goffi <goffi@goffi.org>
parents:
385
diff
changeset
|
9 <div |
e63fb06052ae
bulma: message edition + extra menu + improvments:
Goffi <goffi@goffi.org>
parents:
385
diff
changeset
|
10 id="{{msg.id}}" |
e63fb06052ae
bulma: message edition + extra menu + improvments:
Goffi <goffi@goffi.org>
parents:
385
diff
changeset
|
11 class="media is-chat-message msg_{{msg.type}} {{'own_msg' if own_msg}}" |
e63fb06052ae
bulma: message edition + extra menu + improvments:
Goffi <goffi@goffi.org>
parents:
385
diff
changeset
|
12 style="padding: 0.5em;" |
e63fb06052ae
bulma: message edition + extra menu + improvments:
Goffi <goffi@goffi.org>
parents:
385
diff
changeset
|
13 role="listitem" |
e63fb06052ae
bulma: message edition + extra menu + improvments:
Goffi <goffi@goffi.org>
parents:
385
diff
changeset
|
14 aria-label="Chat Message" |
e63fb06052ae
bulma: message edition + extra menu + improvments:
Goffi <goffi@goffi.org>
parents:
385
diff
changeset
|
15 {% if msg.extra.editions %}data-editions='{{msg.extra.editions|tojson}}'{% endif %} |
e63fb06052ae
bulma: message edition + extra menu + improvments:
Goffi <goffi@goffi.org>
parents:
385
diff
changeset
|
16 > |
385
941e4006ab6e
bulma (message): reactions + fixes:
Goffi <goffi@goffi.org>
parents:
371
diff
changeset
|
17 {%- if msg.type != "info" %} |
230 | 18 {%- set author = identities[msg.from_].nicknames[0] | default(msg.from_) -%} |
362
b2b859a62e70
bulma (chat): new templates and CSS for chat page.
Goffi <goffi@goffi.org>
parents:
235
diff
changeset
|
19 <figure class="media-left pt-1"> |
230 | 20 {{ avatar.avatar(msg.from_, "is-32x32") }} |
21 </figure> | |
22 {% endif -%} | |
362
b2b859a62e70
bulma (chat): new templates and CSS for chat page.
Goffi <goffi@goffi.org>
parents:
235
diff
changeset
|
23 <div class="media-content is-relative"> |
230 | 24 <div class="content"> |
385
941e4006ab6e
bulma (message): reactions + fixes:
Goffi <goffi@goffi.org>
parents:
371
diff
changeset
|
25 {%- if msg.type != "info" %} |
386
e63fb06052ae
bulma: message edition + extra menu + improvments:
Goffi <goffi@goffi.org>
parents:
385
diff
changeset
|
26 <nav class="level is-mobile is-marginless is-size-7 is-not-selectable"> |
230 | 27 <div class="level-left has-text-weight-bold"> |
28 <div class="level-item"> | |
362
b2b859a62e70
bulma (chat): new templates and CSS for chat page.
Goffi <goffi@goffi.org>
parents:
235
diff
changeset
|
29 <span class="author" id="msg_author_{{msg.id}}">{{author}}</span> |
230 | 30 </div> |
31 </div> | |
32 <div class="level-right is-italic"> | |
33 <div class="level-item"> | |
386
e63fb06052ae
bulma: message edition + extra menu + improvments:
Goffi <goffi@goffi.org>
parents:
385
diff
changeset
|
34 <span class="date" id="msg_date_{{msg.id}}">{{(msg.extra.updated or msg.timestamp)|date_fmt('short', tz_name=tz_name)}}</span> |
362
b2b859a62e70
bulma (chat): new templates and CSS for chat page.
Goffi <goffi@goffi.org>
parents:
235
diff
changeset
|
35 <div id="status_icons_{{msg.id}}" class="status-icons level-item has-padding-left"> |
386
e63fb06052ae
bulma: message edition + extra menu + improvments:
Goffi <goffi@goffi.org>
parents:
385
diff
changeset
|
36 {% if msg.extra.editions %} |
e63fb06052ae
bulma: message edition + extra menu + improvments:
Goffi <goffi@goffi.org>
parents:
385
diff
changeset
|
37 {{ icon('pencil', cls='icon is-small message-editions') }} |
e63fb06052ae
bulma: message edition + extra menu + improvments:
Goffi <goffi@goffi.org>
parents:
385
diff
changeset
|
38 {% endif %} |
362
b2b859a62e70
bulma (chat): new templates and CSS for chat page.
Goffi <goffi@goffi.org>
parents:
235
diff
changeset
|
39 {% if msg.encrypted %} |
b2b859a62e70
bulma (chat): new templates and CSS for chat page.
Goffi <goffi@goffi.org>
parents:
235
diff
changeset
|
40 {{ icon('lock-filled', cls='icon is-small has-text-success') }} |
b2b859a62e70
bulma (chat): new templates and CSS for chat page.
Goffi <goffi@goffi.org>
parents:
235
diff
changeset
|
41 {% else %} |
b2b859a62e70
bulma (chat): new templates and CSS for chat page.
Goffi <goffi@goffi.org>
parents:
235
diff
changeset
|
42 {{ icon('lock-open', cls='icon is-small has-text-danger') }} |
b2b859a62e70
bulma (chat): new templates and CSS for chat page.
Goffi <goffi@goffi.org>
parents:
235
diff
changeset
|
43 {% endif %} |
b2b859a62e70
bulma (chat): new templates and CSS for chat page.
Goffi <goffi@goffi.org>
parents:
235
diff
changeset
|
44 {% if msg.received %} |
b2b859a62e70
bulma (chat): new templates and CSS for chat page.
Goffi <goffi@goffi.org>
parents:
235
diff
changeset
|
45 {{ icon('ok', cls='icon is-small has-text-link') }} |
b2b859a62e70
bulma (chat): new templates and CSS for chat page.
Goffi <goffi@goffi.org>
parents:
235
diff
changeset
|
46 {% endif %} |
b2b859a62e70
bulma (chat): new templates and CSS for chat page.
Goffi <goffi@goffi.org>
parents:
235
diff
changeset
|
47 {% if msg.edited %} |
b2b859a62e70
bulma (chat): new templates and CSS for chat page.
Goffi <goffi@goffi.org>
parents:
235
diff
changeset
|
48 {{ icon('pencil', cls='icon is-small has-text-info') }} |
b2b859a62e70
bulma (chat): new templates and CSS for chat page.
Goffi <goffi@goffi.org>
parents:
235
diff
changeset
|
49 {% endif %} |
b2b859a62e70
bulma (chat): new templates and CSS for chat page.
Goffi <goffi@goffi.org>
parents:
235
diff
changeset
|
50 </div> |
230 | 51 </div> |
52 </div> | |
53 </nav> | |
54 {% endif -%} | |
385
941e4006ab6e
bulma (message): reactions + fixes:
Goffi <goffi@goffi.org>
parents:
371
diff
changeset
|
55 <p class="msg_body has-whitespace-pre-wrap {{ "has-text-info" if msg.type=="info" }}" id="msg_body_{{msg.id}}" style="margin: 0;"> |
363
cddac8502c4b
chat/message: fix urlize escaping on nunjucks:
Goffi <goffi@goffi.org>
parents:
362
diff
changeset
|
56 {{- msg.html or (msg.text|e|urlize|safe) -}} |
230 | 57 </p> |
364
095bd5b34080
chat: add templates for URL previews
Goffi <goffi@goffi.org>
parents:
363
diff
changeset
|
58 |
095bd5b34080
chat: add templates for URL previews
Goffi <goffi@goffi.org>
parents:
363
diff
changeset
|
59 <div class="url-previews is-hidden"> |
095bd5b34080
chat: add templates for URL previews
Goffi <goffi@goffi.org>
parents:
363
diff
changeset
|
60 <div class="icon-container"></div> |
095bd5b34080
chat: add templates for URL previews
Goffi <goffi@goffi.org>
parents:
363
diff
changeset
|
61 </div> |
095bd5b34080
chat: add templates for URL previews
Goffi <goffi@goffi.org>
parents:
363
diff
changeset
|
62 |
362
b2b859a62e70
bulma (chat): new templates and CSS for chat page.
Goffi <goffi@goffi.org>
parents:
235
diff
changeset
|
63 <div id="actions_{{msg.id}}" class="level is-mobile actions mb-0"> |
385
941e4006ab6e
bulma (message): reactions + fixes:
Goffi <goffi@goffi.org>
parents:
371
diff
changeset
|
64 {#{{ icon('share', cls='icon is-small action-button', id='msg_share_{{msg.id}}') }} #} |
941e4006ab6e
bulma (message): reactions + fixes:
Goffi <goffi@goffi.org>
parents:
371
diff
changeset
|
65 {{ icon('smile', cls='icon is-small action-button reaction-button', id='msg_actions_{{msg.id}}') }} |
941e4006ab6e
bulma (message): reactions + fixes:
Goffi <goffi@goffi.org>
parents:
371
diff
changeset
|
66 {{ icon('dot-3', cls='icon is-small action-button extra-button', id='msg_actions_{{msg.id}}') }} |
362
b2b859a62e70
bulma (chat): new templates and CSS for chat page.
Goffi <goffi@goffi.org>
parents:
235
diff
changeset
|
67 </div> |
b2b859a62e70
bulma (chat): new templates and CSS for chat page.
Goffi <goffi@goffi.org>
parents:
235
diff
changeset
|
68 <div id="msg_reactions_{{msg.id}}" style="margin-top: 0.5em;"> |
385
941e4006ab6e
bulma (message): reactions + fixes:
Goffi <goffi@goffi.org>
parents:
371
diff
changeset
|
69 {% if msg.extra.reactions is defined %} |
941e4006ab6e
bulma (message): reactions + fixes:
Goffi <goffi@goffi.org>
parents:
371
diff
changeset
|
70 {% set reactions = msg.extra.get("reactions") %} |
941e4006ab6e
bulma (message): reactions + fixes:
Goffi <goffi@goffi.org>
parents:
371
diff
changeset
|
71 {% include 'chat/reactions.html' %} |
941e4006ab6e
bulma (message): reactions + fixes:
Goffi <goffi@goffi.org>
parents:
371
diff
changeset
|
72 {% endif %} |
362
b2b859a62e70
bulma (chat): new templates and CSS for chat page.
Goffi <goffi@goffi.org>
parents:
235
diff
changeset
|
73 </div> |
b2b859a62e70
bulma (chat): new templates and CSS for chat page.
Goffi <goffi@goffi.org>
parents:
235
diff
changeset
|
74 {% if msg.attachments %} |
b2b859a62e70
bulma (chat): new templates and CSS for chat page.
Goffi <goffi@goffi.org>
parents:
235
diff
changeset
|
75 <div class="message-attachments pt-2"> |
b2b859a62e70
bulma (chat): new templates and CSS for chat page.
Goffi <goffi@goffi.org>
parents:
235
diff
changeset
|
76 {%- for attachment in msg.attachments %} |
b2b859a62e70
bulma (chat): new templates and CSS for chat page.
Goffi <goffi@goffi.org>
parents:
235
diff
changeset
|
77 <figure class="image message-attachment"> |
385
941e4006ab6e
bulma (message): reactions + fixes:
Goffi <goffi@goffi.org>
parents:
371
diff
changeset
|
78 {%- if not attachment.url -%} |
941e4006ab6e
bulma (message): reactions + fixes:
Goffi <goffi@goffi.org>
parents:
371
diff
changeset
|
79 <div class="notification is-warning"> |
941e4006ab6e
bulma (message): reactions + fixes:
Goffi <goffi@goffi.org>
parents:
371
diff
changeset
|
80 <div class="is-size-6 has-text-weight-semibold mb-1"> |
941e4006ab6e
bulma (message): reactions + fixes:
Goffi <goffi@goffi.org>
parents:
371
diff
changeset
|
81 {% trans name=attachment.name %}Attachment: {{name}}{% endtrans %} |
941e4006ab6e
bulma (message): reactions + fixes:
Goffi <goffi@goffi.org>
parents:
371
diff
changeset
|
82 </div> |
941e4006ab6e
bulma (message): reactions + fixes:
Goffi <goffi@goffi.org>
parents:
371
diff
changeset
|
83 |
941e4006ab6e
bulma (message): reactions + fixes:
Goffi <goffi@goffi.org>
parents:
371
diff
changeset
|
84 <div class="is-size-7 mb-1"> |
941e4006ab6e
bulma (message): reactions + fixes:
Goffi <goffi@goffi.org>
parents:
371
diff
changeset
|
85 {% trans %}Cannot be opened as there are no sources available.{% endtrans %} |
941e4006ab6e
bulma (message): reactions + fixes:
Goffi <goffi@goffi.org>
parents:
371
diff
changeset
|
86 </div> |
941e4006ab6e
bulma (message): reactions + fixes:
Goffi <goffi@goffi.org>
parents:
371
diff
changeset
|
87 |
941e4006ab6e
bulma (message): reactions + fixes:
Goffi <goffi@goffi.org>
parents:
371
diff
changeset
|
88 </div> |
941e4006ab6e
bulma (message): reactions + fixes:
Goffi <goffi@goffi.org>
parents:
371
diff
changeset
|
89 {%- else -%} |
941e4006ab6e
bulma (message): reactions + fixes:
Goffi <goffi@goffi.org>
parents:
371
diff
changeset
|
90 {%- if attachment.media_type|media_type_main == 'image' %} |
941e4006ab6e
bulma (message): reactions + fixes:
Goffi <goffi@goffi.org>
parents:
371
diff
changeset
|
91 <img src="{{attachment.url}}" alt="{{attachment.name}}"> |
941e4006ab6e
bulma (message): reactions + fixes:
Goffi <goffi@goffi.org>
parents:
371
diff
changeset
|
92 {%- else %} |
941e4006ab6e
bulma (message): reactions + fixes:
Goffi <goffi@goffi.org>
parents:
371
diff
changeset
|
93 {{ icon('doc', cls='icon') }} |
941e4006ab6e
bulma (message): reactions + fixes:
Goffi <goffi@goffi.org>
parents:
371
diff
changeset
|
94 {%- endif %} |
941e4006ab6e
bulma (message): reactions + fixes:
Goffi <goffi@goffi.org>
parents:
371
diff
changeset
|
95 <figcaption class="has-text-centered is-size-7"> |
941e4006ab6e
bulma (message): reactions + fixes:
Goffi <goffi@goffi.org>
parents:
371
diff
changeset
|
96 <a href="{{attachment.url}}" target="_blank" class="has-text-grey">{{attachment.name}}</a> |
941e4006ab6e
bulma (message): reactions + fixes:
Goffi <goffi@goffi.org>
parents:
371
diff
changeset
|
97 </figcaption> |
941e4006ab6e
bulma (message): reactions + fixes:
Goffi <goffi@goffi.org>
parents:
371
diff
changeset
|
98 {%- endif -%} |
362
b2b859a62e70
bulma (chat): new templates and CSS for chat page.
Goffi <goffi@goffi.org>
parents:
235
diff
changeset
|
99 </figure> |
b2b859a62e70
bulma (chat): new templates and CSS for chat page.
Goffi <goffi@goffi.org>
parents:
235
diff
changeset
|
100 {%- endfor %} |
b2b859a62e70
bulma (chat): new templates and CSS for chat page.
Goffi <goffi@goffi.org>
parents:
235
diff
changeset
|
101 </div> |
b2b859a62e70
bulma (chat): new templates and CSS for chat page.
Goffi <goffi@goffi.org>
parents:
235
diff
changeset
|
102 {% endif %} |
230 | 103 </div> |
104 </div> | |
105 </div> |