Add files via upload

This commit is contained in:
Yûki VACHOT 2022-09-04 18:39:13 +02:00 committed by GitHub
parent cf5f79c223
commit 28c1ebbacf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 59 additions and 22 deletions

10
background.js Normal file
View file

@ -0,0 +1,10 @@
chrome.runtime.onInstalled.addListener(function() {
chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) {
if(changeInfo.status == 'complete' && tab.url == 'https://www.dofusbook.net/fr/outils/atelier' && tab.status == 'complete'){
chrome.scripting.executeScript({
target: { tabId: tab.id },
files: ["dofusbook.atelier.copy.js"]
});
}
});
});

View file

@ -1,26 +1,44 @@
function waitResources() {
function addCopyButtonAtelier() {
const buttonPropertiesConstants = {
"textButtonCopy": "copy",
"backgroundColorButtonCopy": "",
"textButtonCopied": "copied",
"backgroundColorButtonCopied": "#6dc700"
};
const itemCells = document.getElementsByClassName('cell');
if(itemCells.length > 0){
for(const itemCell of itemCells) {
const itemWrapper = itemCell.getElementsByClassName('wrapper').item(0);
const itemName = itemWrapper.getElementsByClassName('label').item(0).innerHTML.slice(1, -1);
let itemCopyButton = document.createElement("button");
itemCopyButton.innerHTML = "copy";
itemCopyButton.onclick = function(){
navigator.clipboard.writeText(itemName).then(() => {
console.info(`${itemName} copied !`);
}, () => {
console.error(`ERROR ${itemName} not copied !`);
});
};
if(itemWrapper.getElementsByClassName('copy-btn').length == 0){
let itemCopyButton = document.createElement("button");
itemCopyButton.innerHTML = buttonPropertiesConstants.textButtonCopy;
itemCopyButton.setAttribute('class', 'copy-btn');
itemCopyButton.onclick = function(){
navigator.clipboard.writeText(itemName).then(() => {
console.info(`${itemName} copied !`);
itemCopyButton.innerHTML = buttonPropertiesConstants.textButtonCopied;
itemCopyButton.style.backgroundColor = buttonPropertiesConstants.backgroundColorButtonCopied;
setTimeout(function(){
itemCopyButton.innerHTML = buttonPropertiesConstants.textButtonCopy;
itemCopyButton.style.backgroundColor = buttonPropertiesConstants.backgroundColorButtonCopy;
}, 3000);
}, () => {
console.error(`ERROR ${itemName} not copied !`);
});
};
itemWrapper.appendChild(itemCopyButton);
itemWrapper.appendChild(itemCopyButton);
} else { console.error("copy-btn already exist"); }
}
} else {
setTimeout(waitResources, 250); // try again in 300 milliseconds
setTimeout(addCopyButtonAtelier, 250); // try again in 300 milliseconds
}
}
waitResources();
addCopyButtonAtelier();

View file

@ -1,13 +1,22 @@
{
"name": "DofusBook Atelier Bouton Copier",
"description": "Ajout d'un bouton pour copier chaque nom de ressource dans l'atelier de DofusBook",
"version": "1.0",
"version": "1.1.0",
"manifest_version": 3,
"content_scripts": [
{
"matches": ["https://www.dofusbook.net/fr/outils/atelier"],
"js": ["dofusbook.atelier.copy.js"],
"run_at": "document_end"
}
"icons": {
"16": "./icons/icon16.png",
"32": "./icons/icon32.png",
"48": "./icons/icon48.png",
"128": "./icons/icon128.png"
},
"permissions": [
"tabs",
"scripting"
],
"background": {
"service_worker": "background.js"
},
"host_permissions": [
"https://www.dofusbook.net/*"
]
}
}