showing spam value. see #506

This commit is contained in:
mic 2026-02-08 00:10:39 +01:00
parent 10a26210d0
commit a940228a43
3 changed files with 64 additions and 1 deletions

View file

@ -1379,6 +1379,14 @@
"message": "Spam Value",
"description": ""
},
"Spam": {
"message": "Spam",
"description": ""
},
"Valid": {
"message": "Valid",
"description": ""
},
"Moved_to_Spam": {
"message": "Moved to Spam",
"description": ""

View file

@ -617,9 +617,48 @@ switch (message.command) {
break;
case "showSpamReport":
const data = message.data;
if(document.getElementById('mzta-spam-report-banner')) return Promise.resolve(true);
const container = document.createElement('div');
container.id = 'mzta-spam-report-banner';
const isDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
let bgColor = '#f8f9fa';
let textColor = '#333';
let borderColor = '#ccc';
if (data.spamValue < (data.SpamThreshold || 50)) {
bgColor = isDark ? '#5a1a1a' : '#ffe6e6';
textColor = isDark ? '#ffcccc' : '#cc0000';
borderColor = '#cc0000';
} else {
bgColor = isDark ? '#1a401a' : '#e6ffe6';
textColor = isDark ? '#ccffcc' : '#006600';
borderColor = '#006600';
}
container.style.cssText = `background-color: ${bgColor}; color: ${textColor}; border-bottom: 1px solid ${borderColor}; padding: 8px 12px; font-family: system-ui, -apple-system, sans-serif; font-size: 13px; display: flex; align-items: center; gap: 15px; width: 100%; box-sizing: border-box;`;
const scoreText = document.createElement('strong');
scoreText.textContent = ((data.spamValue < (data.SpamThreshold || 50)) ? browser.i18n.getMessage("Spam") : browser.i18n.getMessage("Valid")) + " [" + data.spamValue + "/100]";
const reasonText = document.createElement('span');
reasonText.textContent = browser.i18n.getMessage("Explanation") + ": " + data.explanation;
container.appendChild(scoreText);
container.appendChild(reasonText);
document.body.insertBefore(container, document.body.firstChild);
return Promise.resolve(true);
default:
// do nothing
return Promise.resolve(false);
break;
}
});
});
browser.runtime.sendMessage({ command: "checkSpamReport" });

View file

@ -358,6 +358,22 @@ messenger.runtime.onMessage.addListener((message, sender, sendResponse) => {
case 'api_send_custom_text':
browser.tabs.sendMessage(message.tabId, { command: "api_send_custom_text", custom_text: message.custom_text });
break;
case 'checkSpamReport':
async function _checkSpamReport(tabId) {
try {
if (sender.tab.type !== 'messageDisplay' && sender.tab.type !== 'mail') return;
let message = await browser.messageDisplay.getDisplayedMessage(tabId);
if (!message) return;
let report = await taSpamReport.loadReportData(message.headerMessageId);
if (report) {
browser.tabs.sendMessage(tabId, { command: "showSpamReport", data: report });
}
} catch (e) {
taLog.error("Error in checkSpamReport: " + e);
}
}
_checkSpamReport(sender.tab.id);
break;
default:
break;
}