feat(browser-extension): add database and extension versions to the popup

This commit is contained in:
wanhose 2024-08-03 13:12:02 +02:00
parent c958a2a743
commit 700dfb7492
14 changed files with 104 additions and 2 deletions

View File

@ -35,6 +35,12 @@
"popup_contributeOption": { "popup_contributeOption": {
"message": "Tragen Sie zu diesem Projekt bei" "message": "Tragen Sie zu diesem Projekt bei"
}, },
"popup_databaseVersion": {
"message": "Datenbankversion"
},
"popup_extensionVersion": {
"message": "Erweiterungsversion"
},
"popup_helpOption": { "popup_helpOption": {
"message": "Hilfe oder Probleme?" "message": "Hilfe oder Probleme?"
}, },

View File

@ -35,6 +35,12 @@
"popup_contributeOption": { "popup_contributeOption": {
"message": "Contribute to this project" "message": "Contribute to this project"
}, },
"popup_databaseVersion": {
"message": "Database version"
},
"popup_extensionVersion": {
"message": "Extension version"
},
"popup_helpOption": { "popup_helpOption": {
"message": "Help or issues?" "message": "Help or issues?"
}, },

View File

@ -35,6 +35,12 @@
"popup_contributeOption": { "popup_contributeOption": {
"message": "Contribuye a este proyecto" "message": "Contribuye a este proyecto"
}, },
"popup_databaseVersion": {
"message": "Versión de la base de datos"
},
"popup_extensionVersion": {
"message": "Versión de la extensión"
},
"popup_helpOption": { "popup_helpOption": {
"message": "¿Ayuda o problemas?" "message": "¿Ayuda o problemas?"
}, },

View File

@ -35,6 +35,12 @@
"popup_contributeOption": { "popup_contributeOption": {
"message": "Contribuez à ce projet" "message": "Contribuez à ce projet"
}, },
"popup_databaseVersion": {
"message": "Version de la base de données"
},
"popup_extensionVersion": {
"message": "Version de l'extension"
},
"popup_helpOption": { "popup_helpOption": {
"message": "Aide ou problèmes?" "message": "Aide ou problèmes?"
}, },

View File

@ -35,6 +35,12 @@
"popup_contributeOption": { "popup_contributeOption": {
"message": "Contribuisci a questo progetto" "message": "Contribuisci a questo progetto"
}, },
"popup_databaseVersion": {
"message": "Versione del database"
},
"popup_extensionVersion": {
"message": "Versione dell'estensione"
},
"popup_helpOption": { "popup_helpOption": {
"message": "Aiuto o problemi?" "message": "Aiuto o problemi?"
}, },

View File

@ -35,6 +35,12 @@
"popup_contributeOption": { "popup_contributeOption": {
"message": "Weź udział w rozwoju projektu" "message": "Weź udział w rozwoju projektu"
}, },
"popup_databaseVersion": {
"message": "Wersja bazy danych"
},
"popup_extensionVersion": {
"message": "Wersja rozszerzenia"
},
"popup_helpOption": { "popup_helpOption": {
"message": "Potrzebujesz pomocy lub masz problem?" "message": "Potrzebujesz pomocy lub masz problem?"
}, },

View File

@ -35,6 +35,12 @@
"popup_contributeOption": { "popup_contributeOption": {
"message": "Contribua para este projeto" "message": "Contribua para este projeto"
}, },
"popup_databaseVersion": {
"message": "Versão do banco de dados"
},
"popup_extensionVersion": {
"message": "Versão da extensão"
},
"popup_helpOption": { "popup_helpOption": {
"message": "Ajuda ou problemas?" "message": "Ajuda ou problemas?"
}, },

View File

@ -35,6 +35,12 @@
"popup_contributeOption": { "popup_contributeOption": {
"message": "Contribua para este projeto" "message": "Contribua para este projeto"
}, },
"popup_databaseVersion": {
"message": "Versão do banco de dados"
},
"popup_extensionVersion": {
"message": "Versão da extensão"
},
"popup_helpOption": { "popup_helpOption": {
"message": "Ajuda ou problemas?" "message": "Ajuda ou problemas?"
}, },

View File

@ -35,6 +35,12 @@
"popup_contributeOption": { "popup_contributeOption": {
"message": "Contribuie la acest proiect" "message": "Contribuie la acest proiect"
}, },
"popup_databaseVersion": {
"message": "Versiunea bazei de date"
},
"popup_extensionVersion": {
"message": "Versiunea extensiei"
},
"popup_helpOption": { "popup_helpOption": {
"message": "Ajutor sau probleme?" "message": "Ajutor sau probleme?"
}, },

View File

@ -35,6 +35,12 @@
"popup_contributeOption": { "popup_contributeOption": {
"message": "Внести свой вклад в этот проект" "message": "Внести свой вклад в этот проект"
}, },
"popup_databaseVersion": {
"message": "Версия базы данных"
},
"popup_extensionVersion": {
"message": "Версия расширения"
},
"popup_helpOption": { "popup_helpOption": {
"message": "Помощь или проблемы?" "message": "Помощь или проблемы?"
}, },

View File

@ -105,6 +105,16 @@
</svg> </svg>
<span data-i18n="popup_rateOption"></span> <span data-i18n="popup_rateOption"></span>
</popup-button> </popup-button>
<popup-data-container>
<popup-data>
<strong data-i18n="popup_databaseVersion"></strong>
<time id="database-version"></time>
</popup-data>
<popup-data>
<strong data-i18n="popup_extensionVersion"></strong>
<span id="extension-version"></span>
</popup-data>
</popup-data-container>
</main> </main>
<footer></footer> <footer></footer>
</body> </body>

View File

@ -6,7 +6,7 @@ if (typeof browser === 'undefined') {
* @description API URL * @description API URL
* @type {string} * @type {string}
*/ */
const apiUrl = 'https://api.cookie-dialog-monster.com/rest/v3'; const apiUrl = 'https://api.cookie-dialog-monster.com/rest/v4';
/** /**
* @description Context menu identifier * @description Context menu identifier
@ -163,6 +163,9 @@ browser.runtime.onMessage.addListener((message, sender, callback) => {
script.insertCSS({ files: ['styles/dialog.css'], target: { tabId } }); script.insertCSS({ files: ['styles/dialog.css'], target: { tabId } });
} }
break; break;
case 'REFRESH_DATA':
refreshData(callback);
return true;
case 'REPORT': case 'REPORT':
if (tabId !== undefined) { if (tabId !== undefined) {
report(message, sender.tab, callback); report(message, sender.tab, callback);

View File

@ -63,6 +63,7 @@ async function handleContentLoaded() {
? new URL(tab.url).hostname.split('.').slice(-3).join('.').replace('www.', '') ? new URL(tab.url).hostname.split('.').slice(-3).join('.').replace('www.', '')
: undefined; : undefined;
const data = await browser.runtime.sendMessage({ hostname, type: 'GET_DATA' });
const next = await browser.runtime.sendMessage({ hostname, type: 'GET_HOSTNAME_STATE' }); const next = await browser.runtime.sendMessage({ hostname, type: 'GET_HOSTNAME_STATE' });
state = { ...(next ?? state), tabId: tab?.id }; state = { ...(next ?? state), tabId: tab?.id };
@ -72,6 +73,13 @@ async function handleContentLoaded() {
const contributeButtonElement = document.getElementById('contribute-option'); const contributeButtonElement = document.getElementById('contribute-option');
contributeButtonElement?.addEventListener('click', handleLinkRedirect); contributeButtonElement?.addEventListener('click', handleLinkRedirect);
const databaseVersionElement = document.getElementById('database-version');
if (data.version) databaseVersionElement.innerText = data.version;
else databaseVersionElement.style.setProperty('display', 'none');
const extensionVersionElement = document.getElementById('extension-version');
extensionVersionElement.innerText = browser.runtime.getManifest().version;
const helpButtonElement = document.getElementById('help-option'); const helpButtonElement = document.getElementById('help-option');
helpButtonElement?.addEventListener('click', handleLinkRedirect); helpButtonElement?.addEventListener('click', handleLinkRedirect);

View File

@ -85,7 +85,9 @@ popup-button {
popup-button:focus, popup-button:focus,
popup-button:hover { popup-button:hover {
box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px; box-shadow:
rgba(50, 50, 93, 0.25) 0px 2px 5px -1px,
rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
} }
popup-button > span { popup-button > span {
@ -96,6 +98,25 @@ popup-button > svg {
align-self: flex-end; align-self: flex-end;
} }
popup-data {
align-items: center;
display: flex;
gap: 4px;
justify-content: center;
outline: none;
}
popup-data:not(:first-child) {
margin-top: 4px;
}
popup-data-container {
font-size: 12px;
grid-column: 1 / -1;
justify-self: center;
text-align: center;
}
strong { strong {
font-weight: bold; font-weight: bold;
} }