mirror of
https://github.com/Gabi-Zar/Images-Scrapper-JS.git
synced 2026-04-17 05:36:06 +02:00
Improve UI and store settings in cookies
This commit is contained in:
@@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
<template id="image-template">
|
<template id="image-template">
|
||||||
<div class="image-box">
|
<div class="image-box">
|
||||||
<img id="image" />
|
<a id="link" target="_blank" rel="noopener noreferrer"><img id="image" /></a>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -53,7 +53,6 @@
|
|||||||
<div class="longer-button fake-button" id="provider-button" onclick="toggleProviderMenu()"></div>
|
<div class="longer-button fake-button" id="provider-button" onclick="toggleProviderMenu()"></div>
|
||||||
<div class="list-menu longer-button" id="provider-menu">
|
<div class="list-menu longer-button" id="provider-menu">
|
||||||
<li id="Bing" onclick="changeProvider('Bing')"><img src="assets/Bing.svg" class="icons" /> Bing</li>
|
<li id="Bing" onclick="changeProvider('Bing')"><img src="assets/Bing.svg" class="icons" /> Bing</li>
|
||||||
<li id="Bing" onclick="changeProvider('Bing')"><img src="assets/Bing.svg" class="icons" /> Bing</li>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ const settingsTemplate = document.getElementById("settings-template");
|
|||||||
let cachedUrls = [];
|
let cachedUrls = [];
|
||||||
let cachedQuery = "";
|
let cachedQuery = "";
|
||||||
let uuid;
|
let uuid;
|
||||||
let imagesProvider = "Bing";
|
let imagesProvider = getCookie("imagesProvider") || "Bing";
|
||||||
let imagesOffset = 1;
|
let imagesOffset = getCookie("imagesOffset") || 1;
|
||||||
let maxImages = 1000;
|
let maxImages = getCookie("maxImages") || 1000;
|
||||||
let smartMode = false;
|
let smartMode = getCookie("smartMode") || false;
|
||||||
|
|
||||||
navigate("home");
|
navigate("home");
|
||||||
|
|
||||||
@@ -109,18 +109,21 @@ function navigate(page) {
|
|||||||
maxImagesInput.value = maxImages;
|
maxImagesInput.value = maxImages;
|
||||||
maxImagesInput.addEventListener("input", function (event) {
|
maxImagesInput.addEventListener("input", function (event) {
|
||||||
maxImages = maxImagesInput.value;
|
maxImages = maxImagesInput.value;
|
||||||
|
setCookie("maxImages", maxImagesInput.value);
|
||||||
});
|
});
|
||||||
|
|
||||||
const offsetInput = document.getElementById("offset-input");
|
const offsetInput = document.getElementById("offset-input");
|
||||||
offsetInput.value = imagesOffset;
|
offsetInput.value = imagesOffset;
|
||||||
offsetInput.addEventListener("input", function (event) {
|
offsetInput.addEventListener("input", function (event) {
|
||||||
imagesOffset = offsetInput.value;
|
imagesOffset = offsetInput.value;
|
||||||
|
setCookie("imagesOffset", offsetInput.value);
|
||||||
});
|
});
|
||||||
|
|
||||||
const smartModeCheckbox = document.getElementById("smart-mode");
|
const smartModeCheckbox = document.getElementById("smart-mode");
|
||||||
smartModeCheckbox.checked = smartMode;
|
smartModeCheckbox.checked = smartMode;
|
||||||
smartModeCheckbox.addEventListener("change", function () {
|
smartModeCheckbox.addEventListener("change", function () {
|
||||||
smartMode = this.checked;
|
smartMode = this.checked;
|
||||||
|
setCookie("smartMode", this.checked);
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -192,6 +195,7 @@ async function setProviderButton() {
|
|||||||
|
|
||||||
function changeProvider(provider) {
|
function changeProvider(provider) {
|
||||||
imagesProvider = provider;
|
imagesProvider = provider;
|
||||||
|
setCookie("imagesProvider", provider);
|
||||||
toggleProviderMenu();
|
toggleProviderMenu();
|
||||||
toggleSelectedListButton("provider-menu", provider);
|
toggleSelectedListButton("provider-menu", provider);
|
||||||
setProviderButton();
|
setProviderButton();
|
||||||
@@ -221,7 +225,24 @@ function fillImagesGrid() {
|
|||||||
|
|
||||||
for (const url of cachedUrls) {
|
for (const url of cachedUrls) {
|
||||||
const imageTemplateCopy = imageTemplate.content.cloneNode(true);
|
const imageTemplateCopy = imageTemplate.content.cloneNode(true);
|
||||||
|
imageTemplateCopy.getElementById("link").href = url;
|
||||||
imageTemplateCopy.getElementById("image").src = url;
|
imageTemplateCopy.getElementById("image").src = url;
|
||||||
imagesDiv.appendChild(imageTemplateCopy);
|
imagesDiv.appendChild(imageTemplateCopy);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function setCookie(name, value) {
|
||||||
|
const expires = new Date(Date.now() + 365 * 24 * 60 * 60 * 1000).toUTCString();
|
||||||
|
document.cookie = `${name}=${value}; expires=${expires}; SameSite=Lax`;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getCookie(name) {
|
||||||
|
const cookies = document.cookie.split("; ");
|
||||||
|
|
||||||
|
for (const cookie of cookies) {
|
||||||
|
const [key, value] = cookie.split("=");
|
||||||
|
if (key == name) {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -168,6 +168,7 @@ body {
|
|||||||
grid-template-columns: repeat(auto-fill, 150px);
|
grid-template-columns: repeat(auto-fill, 150px);
|
||||||
gap: 20px;
|
gap: 20px;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
margin: 25px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.image-box {
|
.image-box {
|
||||||
@@ -179,7 +180,7 @@ body {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.image-box:hover {
|
.image-box:hover {
|
||||||
transform: scale(3);
|
transform: scale(1.2);
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user