From fe0804a9ddba7baf1a90f8ba0fc9902293db0b65 Mon Sep 17 00:00:00 2001 From: Mic Date: Tue, 24 Mar 2026 00:19:00 +0100 Subject: [PATCH] collapse icon added to summary report. see #580 --- _locales/en/messages.json | 6 +++++- js/mzta-compose-script.js | 20 ++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/_locales/en/messages.json b/_locales/en/messages.json index a5fd03f1..82119473 100644 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -1965,7 +1965,11 @@ "description": "" }, "summarize_title": { - "message": "Summary", + "message": "ThunderAI Overview", + "description": "" + }, + "summarize_collapse": { + "message": "Collapse summary", "description": "" }, "summarize_generating": { diff --git a/js/mzta-compose-script.js b/js/mzta-compose-script.js index c78721e9..d0ab5a6b 100644 --- a/js/mzta-compose-script.js +++ b/js/mzta-compose-script.js @@ -799,10 +799,18 @@ switch (message.command) { browser.runtime.sendMessage({ command: "removeSummary", headerMessageId: summaryData.headerMessageId }); }; + const collapseBtn = document.createElement('span'); + collapseBtn.textContent = '∧'; + collapseBtn.title = browser.i18n.getMessage("summarize_collapse") || 'Collapse summary'; + collapseBtn.style.cssText = `cursor: pointer; opacity: 0.6; font-size: 16px; transition: opacity 0.2s;`; + collapseBtn.onmouseover = () => collapseBtn.style.opacity = '1'; + collapseBtn.onmouseout = () => collapseBtn.style.opacity = '0.6'; + const summaryBtnGroup = document.createElement('span'); summaryBtnGroup.style.cssText = 'display: flex; align-items: center; gap: 5px;'; summaryBtnGroup.appendChild(refreshBtn); summaryBtnGroup.appendChild(summaryCloseBtn); + summaryBtnGroup.appendChild(collapseBtn); summaryHeader.appendChild(summaryTitle); summaryHeader.appendChild(summaryBtnGroup); @@ -817,6 +825,18 @@ switch (message.command) { } summaryText.style.cssText = `font-size: 14px; line-height: 1.4;`; + collapseBtn.onclick = () => { + if (summaryText.style.display === 'none') { + summaryText.style.display = ''; + summaryHeader.style.marginBottom = '0.5rem'; + collapseBtn.textContent = '∧'; + } else { + summaryText.style.display = 'none'; + summaryHeader.style.marginBottom = '0'; + collapseBtn.textContent = '∨'; + } + }; + summaryContainer.appendChild(summaryText); document.body.insertBefore(summaryContainer, document.body.firstChild);