feat(browser-extension): add open settings option the context menu

This commit is contained in:
wanhose 2023-10-11 09:04:40 +02:00
parent baabbd9039
commit 655f5f85e1
10 changed files with 68 additions and 10 deletions

View File

@ -3,7 +3,10 @@
"message": "Hat jemand Dialoge zur Cookie-Zustimmung gesagt? 😋" "message": "Hat jemand Dialoge zur Cookie-Zustimmung gesagt? 😋"
}, },
"contextMenu_reportOption": { "contextMenu_reportOption": {
"message": "Webseite melden..." "message": "Diese Website melden"
},
"contextMenu_settingsOption": {
"message": "Ausnahmeliste verwalten"
}, },
"options_clearButton": { "options_clearButton": {
"message": "Liste leeren" "message": "Liste leeren"

View File

@ -3,7 +3,10 @@
"message": "Did someone say cookie consent dialogs? 😋" "message": "Did someone say cookie consent dialogs? 😋"
}, },
"contextMenu_reportOption": { "contextMenu_reportOption": {
"message": "Report site..." "message": "Report this website"
},
"contextMenu_settingsOption": {
"message": "Manage exclusion list"
}, },
"options_clearButton": { "options_clearButton": {
"message": "Clear list" "message": "Clear list"

View File

@ -3,7 +3,10 @@
"message": "¿Alguien dijo diálogos de consentimiento de cookies? 😋" "message": "¿Alguien dijo diálogos de consentimiento de cookies? 😋"
}, },
"contextMenu_reportOption": { "contextMenu_reportOption": {
"message": "Reportar sitio..." "message": "Reportar este sitio web"
},
"contextMenu_settingsOption": {
"message": "Gestionar lista de exclusión"
}, },
"options_clearButton": { "options_clearButton": {
"message": "Borrar lista" "message": "Borrar lista"

View File

@ -3,7 +3,10 @@
"message": "Quelqu'un a-t-il dit boîtes de dialogue de consentement aux cookies? 😋" "message": "Quelqu'un a-t-il dit boîtes de dialogue de consentement aux cookies? 😋"
}, },
"contextMenu_reportOption": { "contextMenu_reportOption": {
"message": "Signaler le site..." "message": "Signaler ce site web"
},
"contextMenu_settingsOption": {
"message": "Gérer la liste d'exclusion"
}, },
"options_clearButton": { "options_clearButton": {
"message": "Effacer la liste" "message": "Effacer la liste"

View File

@ -3,7 +3,10 @@
"message": "Qualcuno ha detto finestre di dialogo per il consenso ai cookie? 😋" "message": "Qualcuno ha detto finestre di dialogo per il consenso ai cookie? 😋"
}, },
"contextMenu_reportOption": { "contextMenu_reportOption": {
"message": "Segnala sito..." "message": "Segnala questo sito web"
},
"contextMenu_settingsOption": {
"message": "Gestisci elenco di esclusione"
}, },
"options_clearButton": { "options_clearButton": {
"message": "Cancella elenco" "message": "Cancella elenco"

View File

@ -3,7 +3,10 @@
"message": "Alguém disse diálogos de consentimento de cookies? 😋" "message": "Alguém disse diálogos de consentimento de cookies? 😋"
}, },
"contextMenu_reportOption": { "contextMenu_reportOption": {
"message": "Reportar site..." "message": "Denunciar este site"
},
"contextMenu_settingsOption": {
"message": "Gerenciar lista de exclusão"
}, },
"options_clearButton": { "options_clearButton": {
"message": "Limpar lista" "message": "Limpar lista"

View File

@ -3,7 +3,10 @@
"message": "Alguém disse diálogos de consentimento de cookies? 😋" "message": "Alguém disse diálogos de consentimento de cookies? 😋"
}, },
"contextMenu_reportOption": { "contextMenu_reportOption": {
"message": "Reportar site..." "message": "Denunciar este site"
},
"contextMenu_settingsOption": {
"message": "Gerenciar lista de exclusão"
}, },
"options_clearButton": { "options_clearButton": {
"message": "Limpar lista" "message": "Limpar lista"

View File

@ -3,7 +3,10 @@
"message": "A spus cineva dialoguri de consimțământ pentru cookie? 😋" "message": "A spus cineva dialoguri de consimțământ pentru cookie? 😋"
}, },
"contextMenu_reportOption": { "contextMenu_reportOption": {
"message": "Raportați site-ul..." "message": "Raportați acest site web"
},
"contextMenu_settingsOption": {
"message": "Gestionați lista de excludere"
}, },
"options_clearButton": { "options_clearButton": {
"message": "Ștergeți lista" "message": "Ștergeți lista"

View File

@ -3,7 +3,10 @@
"message": "Кто-то сказал диалоги согласия на использование файлов cookie? 😋" "message": "Кто-то сказал диалоги согласия на использование файлов cookie? 😋"
}, },
"contextMenu_reportOption": { "contextMenu_reportOption": {
"message": "Сообщить о сайте..." "message": "Сообщить об этом веб-сайте"
},
"contextMenu_settingsOption": {
"message": "Управление списком исключений"
}, },
"options_clearButton": { "options_clearButton": {
"message": "Очистить список" "message": "Очистить список"

View File

@ -10,7 +10,21 @@ const apiUrl = 'https://api.cookie-dialog-monster.com/rest/v2';
* @type {string} * @type {string}
*/ */
const reportMenuItemId = 'REPORT'; const extensionMenuItemId = 'CDM-MENU';
/**
* @description Context menu identifier
* @type {string}
*/
const reportMenuItemId = 'CDM-REPORT';
/**
* @description Context menu identifier
* @type {string}
*/
const settingsMenuItemId = 'CDM-SETTINGS';
/** /**
* @description A shortcut for chrome.scripting * @description A shortcut for chrome.scripting
@ -67,6 +81,9 @@ chrome.contextMenus.onClicked.addListener((info, tab) => {
case reportMenuItemId: case reportMenuItemId:
if (tab) chrome.tabs.sendMessage(tab.id, { type: 'SHOW_REPORT_DIALOG' }); if (tab) chrome.tabs.sendMessage(tab.id, { type: 'SHOW_REPORT_DIALOG' });
break; break;
case settingsMenuItemId:
chrome.runtime.openOptionsPage();
break;
default: default:
break; break;
} }
@ -153,10 +170,24 @@ chrome.runtime.onMessage.addListener((message, sender, callback) => {
*/ */
chrome.runtime.onInstalled.addListener(() => { chrome.runtime.onInstalled.addListener(() => {
chrome.contextMenus.create({
contexts: ['all'],
documentUrlPatterns: chrome.runtime.getManifest().content_scripts[0].matches,
id: extensionMenuItemId,
title: 'Cookie Dialog Monster',
});
chrome.contextMenus.create({
contexts: ['all'],
documentUrlPatterns: chrome.runtime.getManifest().content_scripts[0].matches,
id: settingsMenuItemId,
parentId: extensionMenuItemId,
title: chrome.i18n.getMessage('contextMenu_settingsOption'),
});
chrome.contextMenus.create({ chrome.contextMenus.create({
contexts: ['all'], contexts: ['all'],
documentUrlPatterns: chrome.runtime.getManifest().content_scripts[0].matches, documentUrlPatterns: chrome.runtime.getManifest().content_scripts[0].matches,
id: reportMenuItemId, id: reportMenuItemId,
parentId: extensionMenuItemId,
title: chrome.i18n.getMessage('contextMenu_reportOption'), title: chrome.i18n.getMessage('contextMenu_reportOption'),
}); });
}); });