Changeset e9c9ae1 in Klonkt for src/assets
- Timestamp:
- 07/19/2026 10:48:15 PM (7 weeks ago)
- Branches:
- main
- Children:
- ff3b8ce
- Parents:
- 5190152
- git-author:
- Robin <roboburr@…> (07/19/2026 10:47:10 PM)
- git-committer:
- Robin <roboburr@…> (07/19/2026 10:48:15 PM)
- Location:
- src/assets
- Files:
-
- 2 edited
-
css/reply-editor.css (modified) (2 diffs)
-
js/reply-editor.js (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/assets/css/reply-editor.css
r5190152 re9c9ae1 29 29 background: transparent; color: inherit; max-width: 10rem; 30 30 } 31 32 /* Mentions bar (u02): conversation partners as removable chips. */ 33 .re-mentions { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; } 34 .re-mentions-label { font-size: .78rem; color: color-mix(in srgb, var(--ink, #000) 55%, transparent); } 35 .re-mention { 36 display: inline-flex; align-items: center; gap: .2rem; 37 padding: .15rem .3rem .15rem .55rem; border-radius: 999px; font-size: .8rem; 38 background: color-mix(in srgb, var(--accent, #06c) 14%, transparent); 39 border: 1px solid color-mix(in srgb, var(--accent, #06c) 30%, transparent); 40 max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; 41 } 42 .re-mention-del { border: none; background: none; color: inherit; font-size: 1rem; line-height: 1; cursor: pointer; padding: 0 .25rem; } 31 43 32 44 /* Media attachments (chips under the editor). */ … … 64 76 gap: .6rem; 65 77 } 78 .re-form.re-full .re-head { order: -1; } /* the top bar stays topmost, above the mentions bar */ 66 79 .re-form.re-full .re-editor { flex: 1; min-height: 0; overflow-y: auto; border: none; padding: .4rem .1rem; } 67 80 .re-form.re-full .re-editor:focus { border: none; } -
src/assets/js/reply-editor.js
r5190152 re9c9ae1 145 145 } 146 146 147 // Mentions bar (u02): removing a chip stops addressing that partner. The 148 // hidden field always mirrors the remaining chips. 149 var mField = form.querySelector('input[name="mentions"]'); 150 if (mField) { 151 var parts = []; 152 try { parts = JSON.parse(mField.value || '[]'); } catch (e) { parts = []; } 153 form.querySelectorAll('.re-mention-del').forEach(function (btn) { 154 btn.addEventListener('click', function () { 155 var chip = btn.closest('.re-mention'); 156 var uri = chip.getAttribute('data-uri'); 157 parts = parts.filter(function (p) { return p.uri !== uri; }); 158 mField.value = JSON.stringify(parts); 159 chip.remove(); 160 }); 161 }); 162 } 163 147 164 // Full-screen compose on mobile: enter on focus, leave via ×. 148 165 function setFull(on) {
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)