From 12c8f9637fcca50a50aec3f24a062f57d425ad59 Mon Sep 17 00:00:00 2001 From: pewdiepie-archdaemon Date: Thu, 11 Jun 2026 20:31:04 +0900 Subject: [PATCH] Email reader: search input up 1px, AI reply menu pared to Fast/Full Search input gets position:relative;top:-1px so the placeholder text sits 1px higher inside the chip bar. AI reply choice popover: drop the '...' kebab and the 'Draft with note' textarea row entirely. Replace the concentric-circle Full icon with our standard accent dot (filled 6px circle in viewBox 24). --- static/js/emailLibrary.js | 43 ++------------------------------------- 1 file changed, 2 insertions(+), 41 deletions(-) diff --git a/static/js/emailLibrary.js b/static/js/emailLibrary.js index 2c1f8d743..52f435f2d 100644 --- a/static/js/emailLibrary.js +++ b/static/js/emailLibrary.js @@ -877,7 +877,7 @@ export function openEmailLibrary(opts = {}) {
- +
- - - `; - // Reveal the "Draft with note" button only once the user has typed - // something — empty-textarea + visible Draft button looks like an - // already-armed action. - const _noteText = menu.querySelector('.email-ai-reply-note-text'); - const _noteActions = menu.querySelector('.email-ai-reply-note-actions'); - if (_noteText && _noteActions) { - _noteText.addEventListener('input', () => { - _noteActions.hidden = !_noteText.value.trim(); - }); - } menu.addEventListener('click', async (ev) => { - const noteToggle = ev.target.closest('[data-act="note-toggle"]'); - if (noteToggle) { - ev.preventDefault(); ev.stopPropagation(); - const panel = menu.querySelector('.email-ai-reply-note'); - const wasHidden = panel.hidden; - panel.hidden = !wasHidden; - if (wasHidden) panel.querySelector('textarea')?.focus(); - return; - } - const noteSend = ev.target.closest('[data-act="note-send"]'); - if (noteSend) { - ev.preventDefault(); ev.stopPropagation(); - const note = (menu.querySelector('.email-ai-reply-note-text')?.value || '').trim(); - _closeAiReplyChoice(); - await _runAiReplyFromButton(btn, em, data, 'ai-reply-full', note); - return; - } const choice = ev.target.closest('[data-mode]'); if (!choice) return; ev.preventDefault();