diff --git a/extension/Extended/downloader-chrome.crx b/extension/Extended/downloader-chrome.crx new file mode 100644 index 0000000..b424740 Binary files /dev/null and b/extension/Extended/downloader-chrome.crx differ diff --git a/extension/estension_v2/downloader-chrome/background.js b/extension/Extended/downloader-chrome/background.js similarity index 100% rename from extension/estension_v2/downloader-chrome/background.js rename to extension/Extended/downloader-chrome/background.js diff --git a/extension/Extended/downloader-chrome/content-general.js b/extension/Extended/downloader-chrome/content-general.js new file mode 100644 index 0000000..3d2a6a7 --- /dev/null +++ b/extension/Extended/downloader-chrome/content-general.js @@ -0,0 +1,37 @@ +async function isServerAvailable(url) { + try { + + const response = await fetch(url, { + method: "POST", + headers: { + "Content-Type": "application/json" + }, + body: JSON.stringify({url: "test"}) + }) + + return response.ok; // true + } catch (error) { + return false; + } +} + +function wait(milliseconds) { + return new Promise(resolve => {setTimeout(resolve, milliseconds)}) +} + +function waitForElements(selector, interval = 500, timeout = 20000) { + return new Promise((resolve) => { + const startTime = Date.now() + + const timer = setInterval(() => { + const elements = document.querySelectorAll(selector) + if (elements.length > 0) { + clearInterval(timer) + resolve(elements) + } else if (Date.now() - startTime > timeout) { + clearInterval(timer) + resolve(null) + } + }, interval) + }) +} \ No newline at end of file diff --git a/extension/estension_v2/downloader-chrome/content-hl.js b/extension/Extended/downloader-chrome/content-hl.js similarity index 64% rename from extension/estension_v2/downloader-chrome/content-hl.js rename to extension/Extended/downloader-chrome/content-hl.js index ee96bf6..e32792a 100644 --- a/extension/estension_v2/downloader-chrome/content-hl.js +++ b/extension/Extended/downloader-chrome/content-hl.js @@ -1,9 +1,9 @@ console.log("script-start") console.log("hitomi.la") +window.addEventListener("load", async () => { + console.log("Page loaded, check server available...") -setTimeout(async () => { - console.log("wait 0.5 sec") const serverUrl = "http://127.0.0.1:1707/get-status" const serverAvailable = await isServerAvailable(serverUrl) @@ -12,28 +12,36 @@ setTimeout(async () => { return } - await executeScript() -}, 500) + console.log("server available") + console.log("waiting for elements") + await checkElements() -async function executeScript() { - let elements_count = -1 - let count = 0 + const interval = 5000 + const timeout = 20000 + const startTime = Date.now() - async function find_elements() { - const galleryItems = document.querySelectorAll(".gallery-content > div") - if (galleryItems.length > elements_count) { - elements_count = galleryItems.length - await wait(500) - return find_elements() - } else if (galleryItems.length === elements_count) { - return galleryItems + const intervalId = setInterval(async () => { + console.log("checking elements") + if (Date.now() - startTime >= timeout) { + clearInterval(intervalId) + } + await checkElements() + }, interval) + + async function checkElements() { + const elements = await waitForElements(".gallery-content > div:not(.checked)", 500, 5000) + if (elements) { + console.log("Elements found: " + elements.length) + await executeScript(elements) + } else { + console.log("Elements not found") } } - const galleryItems = await find_elements() +}) - console.log("Elements found: ", galleryItems.length) +async function executeScript(galleryItems) { for (const item of galleryItems) { @@ -68,6 +76,7 @@ async function executeScript() { } else if (status === "deleted") { addStatusElement(item, "deleted", "Prevorus deleted!") } + item.classList.add("checked") } catch (error) { console.error("Error!", error) } diff --git a/extension/estension_v2/downloader-chrome/manifest.json b/extension/Extended/downloader-chrome/manifest.json similarity index 96% rename from extension/estension_v2/downloader-chrome/manifest.json rename to extension/Extended/downloader-chrome/manifest.json index 06b0b66..3071175 100644 --- a/extension/estension_v2/downloader-chrome/manifest.json +++ b/extension/Extended/downloader-chrome/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 3, "name": "SF.ViewerH.Downloader.Extended", - "version": "1.0", + "version": "1.1", "permissions": [ "activeTab", "scripting" diff --git a/extension/estension_v2/downloader-chrome/styles-hl.css b/extension/Extended/downloader-chrome/styles-hl.css similarity index 100% rename from extension/estension_v2/downloader-chrome/styles-hl.css rename to extension/Extended/downloader-chrome/styles-hl.css diff --git a/extension/Lite/downloader-chrome.crx b/extension/Lite/downloader-chrome.crx new file mode 100644 index 0000000..fba72b0 Binary files /dev/null and b/extension/Lite/downloader-chrome.crx differ diff --git a/extension/extension_v1/downloader-chrome/background.js b/extension/Lite/downloader-chrome/background.js similarity index 100% rename from extension/extension_v1/downloader-chrome/background.js rename to extension/Lite/downloader-chrome/background.js diff --git a/extension/extension_v1/downloader-chrome/manifest.json b/extension/Lite/downloader-chrome/manifest.json similarity index 81% rename from extension/extension_v1/downloader-chrome/manifest.json rename to extension/Lite/downloader-chrome/manifest.json index 8827b28..8bf8630 100644 --- a/extension/extension_v1/downloader-chrome/manifest.json +++ b/extension/Lite/downloader-chrome/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 3, - "name": "SF.ViewerH.Downloader", - "version": "1.0", + "name": "SF.ViewerH.Downloader.Lite", + "version": "1.1", "permissions": [ "activeTab", "scripting" diff --git a/extension/estension_v2/downloader-chrome.crx b/extension/estension_v2/downloader-chrome.crx deleted file mode 100644 index 7f033bf..0000000 Binary files a/extension/estension_v2/downloader-chrome.crx and /dev/null differ diff --git a/extension/estension_v2/downloader-chrome/content-general.js b/extension/estension_v2/downloader-chrome/content-general.js deleted file mode 100644 index 76f489c..0000000 --- a/extension/estension_v2/downloader-chrome/content-general.js +++ /dev/null @@ -1,20 +0,0 @@ -async function isServerAvailable(url) { - try { - - const response = await fetch(url, { - method: "POST", - headers: { - "Content-Type": "application/json" - }, - body: JSON.stringify({url: "test"}) - }) - - return response.ok; // true - } catch (error) { - return false; - } -} - -function wait(milliseconds) { - return new Promise(resolve => {setTimeout(resolve, milliseconds)}) -} \ No newline at end of file diff --git a/extension/extension_v1/downloader-chrome.crx b/extension/extension_v1/downloader-chrome.crx deleted file mode 100644 index 043678d..0000000 Binary files a/extension/extension_v1/downloader-chrome.crx and /dev/null differ