summary butoon with an ai sumamry icon added. see #580

This commit is contained in:
mic 2026-03-24 23:36:25 +01:00
parent ea0d1e5e86
commit 6bfeeca90d
3 changed files with 29 additions and 23 deletions

View file

@ -1968,6 +1968,10 @@
"message": "ThunderAI Overview", "message": "ThunderAI Overview",
"description": "" "description": ""
}, },
"get_ai_summary": {
"message": "AI Summary",
"description": ""
},
"summarize_collapse": { "summarize_collapse": {
"message": "Collapse summary", "message": "Collapse summary",
"description": "" "description": ""

BIN
images/ai_summary.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 306 B

View file

@ -819,8 +819,8 @@ switch (message.command) {
const generatingBanner = document.getElementById('mzta-summary-generating'); const generatingBanner = document.getElementById('mzta-summary-generating');
if(generatingBanner) generatingBanner.remove(); if(generatingBanner) generatingBanner.remove();
const triggerBtn = document.getElementById('mzta-summary-trigger'); const existingTriggerBtn = document.getElementById('mzta-summary-trigger');
if(triggerBtn) triggerBtn.remove(); if(existingTriggerBtn) existingTriggerBtn.remove();
const summaryBanner = document.getElementById('mzta-summary-banner'); const summaryBanner = document.getElementById('mzta-summary-banner');
if(summaryBanner) summaryBanner.remove(); if(summaryBanner) summaryBanner.remove();
@ -834,13 +834,11 @@ switch (message.command) {
let bgColorSummary = isDarkSummary ? '#2a2a2a' : '#f0f0f0'; let bgColorSummary = isDarkSummary ? '#2a2a2a' : '#f0f0f0';
let textColorSummary = isDarkSummary ? '#e0e0e0' : '#333'; let textColorSummary = isDarkSummary ? '#e0e0e0' : '#333';
let borderColorSummary = isDarkSummary ? '#444' : '#ddd'; let borderColorSummary = isDarkSummary ? '#444' : '#ddd';
let titleColor = isDarkSummary ? '#ff6b6b' : '#d70022';
if (summaryData.error) { if (summaryData.error) {
bgColorSummary = isDarkSummary ? '#3a1a1a' : '#f7e6e6'; bgColorSummary = isDarkSummary ? '#3a1a1a' : '#f7e6e6';
textColorSummary = isDarkSummary ? '#ffcccc' : '#660000'; textColorSummary = isDarkSummary ? '#ffcccc' : '#660000';
borderColorSummary = '#660000'; borderColorSummary = '#660000';
titleColor = isDarkSummary ? '#ffcccc' : '#660000';
} }
summaryContainer.className = 'thunderai-summary-pane'; summaryContainer.className = 'thunderai-summary-pane';
@ -947,32 +945,36 @@ switch (message.command) {
let bgColorBtn = isDarkBtn ? '#2a2a2a' : '#f0f0f0'; let bgColorBtn = isDarkBtn ? '#2a2a2a' : '#f0f0f0';
let textColorBtn = isDarkBtn ? '#e0e0e0' : '#333'; let textColorBtn = isDarkBtn ? '#e0e0e0' : '#333';
let borderColorBtn = isDarkBtn ? '#444' : '#ddd'; let borderColorBtn = isDarkBtn ? '#444' : '#ddd';
let titleColorBtn = isDarkBtn ? '#ff6b6b' : '#d70022';
const triggerContainer = document.createElement('div'); const triggerBtn = document.createElement('div');
triggerContainer.id = 'mzta-summary-trigger'; triggerBtn.id = 'mzta-summary-trigger';
triggerContainer.className = 'thunderai-summary-pane'; triggerBtn.title = browser.i18n.getMessage("summarize_click_to_generate");
triggerContainer.style.cssText = `background-color: ${bgColorBtn}; color: ${textColorBtn}; padding: 0.5rem; margin-bottom: 1rem; border-radius: 4px; border: 1px solid ${borderColorBtn}; cursor: pointer; font-family: system-ui, -apple-system, sans-serif; font-size: 14px;`; triggerBtn.style.cssText = `position: fixed; top: 8px; right: 8px; z-index: 9998; background-color: ${bgColorBtn}; border: 1px solid ${borderColorBtn}; border-radius: 4px; padding: 6px 10px; cursor: pointer; font-family: system-ui, -apple-system, sans-serif; font-size: 12px; font-style: italic; opacity: 0.7; transition: opacity 0.2s; color: ${textColorBtn}; display: flex; align-items: center; gap: 6px;`;
const triggerText = document.createElement('div'); const triggerIcon = document.createElement('img');
triggerText.className = 'thunderai-summary-title'; triggerIcon.src = browser.runtime.getURL("/images/ai_summary.png");
triggerText.textContent = browser.i18n.getMessage("summarize_click_to_generate"); triggerIcon.style.cssText = `height: 14px; width: 14px;${isDarkBtn ? ' filter: invert(1);' : ''}`;
triggerText.style.cssText = `font-weight: bold; font-size: 14px; margin-bottom: 0; color: ${titleColorBtn};`; triggerBtn.appendChild(triggerIcon);
triggerContainer.appendChild(triggerText); const triggerLabel = document.createElement('span');
triggerContainer.onclick = async () => { triggerLabel.textContent = browser.i18n.getMessage("get_ai_summary");
triggerContainer.onclick = null; triggerBtn.appendChild(triggerLabel);
triggerContainer.id = 'mzta-summary-generating'; triggerBtn.onmouseover = () => { triggerBtn.style.opacity = '1'; };
triggerContainer.style.cursor = 'default'; triggerBtn.onmouseout = () => { triggerBtn.style.opacity = '0.7'; };
triggerText.textContent = browser.i18n.getMessage("summarize_generating"); triggerBtn.onclick = async () => {
triggerBtn.onclick = null;
triggerBtn.style.cursor = 'default';
triggerBtn.style.opacity = '0.7';
triggerBtn.onmouseover = null;
triggerBtn.onmouseout = null;
triggerBtn.remove();
browser.runtime.sendMessage({ browser.runtime.sendMessage({
command: message.webchat ? "triggerSummaryWebchat" : "triggerSummaryGeneration", command: message.webchat ? "triggerSummaryWebchat" : "triggerSummaryGeneration",
headerMessageId: message.headerMessageId headerMessageId: message.headerMessageId
}); });
}; };
const spamBannerTrigger = document.getElementById('mzta-spam-report-banner') || document.getElementById('mzta-spam-check-progress'); document.body.appendChild(triggerBtn);
document.body.insertBefore(triggerContainer, spamBannerTrigger ? spamBannerTrigger.nextSibling : document.body.firstChild);
return Promise.resolve(true); return Promise.resolve(true);
default: default: