showing spam value. see #506
This commit is contained in:
parent
10a26210d0
commit
a940228a43
3 changed files with 64 additions and 1 deletions
|
|
@ -1379,6 +1379,14 @@
|
|||
"message": "Spam Value",
|
||||
"description": ""
|
||||
},
|
||||
"Spam": {
|
||||
"message": "Spam",
|
||||
"description": ""
|
||||
},
|
||||
"Valid": {
|
||||
"message": "Valid",
|
||||
"description": ""
|
||||
},
|
||||
"Moved_to_Spam": {
|
||||
"message": "Moved to Spam",
|
||||
"description": ""
|
||||
|
|
|
|||
|
|
@ -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" });
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue