Changeset 7875a80 in Klonkt for src/views/pages/messages.ejs
- Timestamp:
- 08/06/2026 01:56:08 AM (5 weeks ago)
- Branches:
- main
- Children:
- 0448e34
- Parents:
- 04aca12
- git-author:
- Robin <roboburr@…> (08/06/2026 01:55:53 AM)
- git-committer:
- Claude (agent) <aiclaude@…> (08/06/2026 01:56:08 AM)
- File:
-
- 1 edited
-
src/views/pages/messages.ejs (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/views/pages/messages.ejs
r04aca12 r7875a80 25 25 26 26 <div class="msg-filters" role="tablist" aria-label="<%= t('msg.title') %>"> 27 <%# Vier chips, geen zes: Berichten, Gesprekken en Verzonden gingen op in 28 een enkele Gesprekken-view, waarin verzonden en ontvangen in dezelfde 29 draad staan. Activiteit en Moderatie blijven wat ze waren. %> 27 30 <button type="button" class="msg-chip is-on" data-show="all"><%= t('msg.filter_all') %></button> 28 <button type="button" class="msg-chip" data-show="msgs"><%= t('msg.filter_msgs') %></button>29 31 <button type="button" class="msg-chip" data-show="conv"><%= t('msg.filter_conv') %></button> 30 32 <button type="button" class="msg-chip" data-show="act"><%= t('msg.filter_act') %></button> 31 33 <button type="button" class="msg-chip" data-show="mod"><%= t('msg.filter_mod') %></button> 32 <button type="button" class="msg-chip" data-show="sent"><%= t('msg.filter_sent') %></button>33 34 </div> 34 35 <div class="msg-search"> … … 71 72 var items = []; 72 73 function indexItem(li) { 74 // Een draad indexeren op zijn eerste bubbel zou de rest onvindbaar maken, 75 // dus daar nemen we de hele tekst; losse regels blijven gericht geindexeerd. 76 if (li.classList.contains('msg-thread')) { 77 li._search = ((li.getAttribute('data-who') || '') + ' ' + li.textContent).toLowerCase(); 78 return; 79 } 73 80 // Index once: sender + message body + linked post title + poll text. 74 81 var body = li.querySelector('.msg-content'); … … 82 89 // items join the filter/search (and inherit the active chip via apply()). 83 90 function reindex() { 84 items = list ? Array.prototype.slice.call(list.querySelectorAll(' .msg-item')) : [];91 items = list ? Array.prototype.slice.call(list.querySelectorAll(':scope > .msg-item')) : []; 85 92 items.forEach(function (li) { if (!li._search) indexItem(li); }); 86 93 } … … 138 145 139 146 .msg-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .55rem; } 147 148 /* Een draad is geen regel maar een blok: kop met de context, daaronder de 149 bubbels van oud naar nieuw. De verticale lijn links maakt zichtbaar dat ze 150 bij elkaar horen -- dat was precies wat ontbrak toen verzonden en ontvangen 151 in aparte chips zaten. */ 152 .msg-thread { display: block; } 153 .msg-thread-head { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; margin-bottom: .5rem; } 154 .msg-thread-who { font-weight: 600; } 155 .msg-thread-count { font-size: .78em; padding: .05rem .4rem; border-radius: 999px; 156 background: color-mix(in srgb, var(--ink, #000) 10%, transparent); } 157 .msg-thread-post { display: inline-flex; align-items: center; gap: .3rem; font-size: .85em; 158 margin-inline-start: auto; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } 159 .msg-thread-post svg { width: 13px; height: 13px; flex: none; } 160 .msg-thread-msgs { list-style: none; margin: 0; padding: 0 0 0 .85rem; display: flex; flex-direction: column; gap: .45rem; 161 border-inline-start: 2px solid color-mix(in srgb, var(--ink, #000) 10%, transparent); } 162 .msg-sub { display: flex; gap: .8rem; align-items: flex-start; } 163 /* Jouw eigen bijdrage staat aan de andere kant van de lijn, zodat je de 164 beurten ziet zonder namen te lezen. */ 165 .msg-sub.msg-sent { flex-direction: row-reverse; text-align: end; } 166 .msg-sub.msg-sent .msg-line { justify-content: flex-end; } 140 167 141 168 .msg-item { display: flex; gap: .8rem; padding: .85rem .95rem; border-radius: 14px; align-items: flex-start;
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)