dont work on cf

This commit is contained in:
sky
2026-02-14 16:57:38 -05:00
parent c63b9716cd
commit 4bedce429e
2 changed files with 190 additions and 175 deletions

View File

@ -3,8 +3,8 @@ let elements = [];
let isDev = [];
let pageData;
async function loadGames() {
if(type == "g") pageData = {path: "/resources/games.json", prefix: "semag", type: "g"}
else if(type == "a") pageData = {path: "/resources/apps.json", prefix: "sppa", type: "a"}
if (type == "g") pageData = { path: "/resources/games.json", prefix: "semag", type: "g" };
else if (type == "a") pageData = { path: "/resources/apps.json", prefix: "sppa", type: "a" };
else sAlert("this is not valid");
// taken from mdn
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
@ -26,8 +26,8 @@ async function loadGames() {
let gamesFragment = document.createDocumentFragment();
let topFragment = document.createDocumentFragment();
let starredGames = JSON.parse(localStorage.getItem("selenite.starred") || '[]');
sorted.forEach(element => {
let starredGames = JSON.parse(localStorage.getItem("selenite.starred") || "[]");
sorted.forEach((element) => {
isStarred = starredGames.indexOf(element.directory) != -1;
let newElement = document.createElement("a");
newElement.setAttribute("data-target", element.directory);
@ -37,7 +37,9 @@ async function loadGames() {
let image = document.createElement("img");
image.src = `/resources/${pageData.prefix}/${element.directory}/${element.image}`;
image.loading = `lazy`;
image.onerror = function() {this.src="/img/missing.svg"};
image.onerror = function () {
this.src = "/img/missing.svg";
};
let holder = document.createElement("div");
holder.id = "holder";
let title = document.createElement("h1");
@ -51,38 +53,44 @@ async function loadGames() {
holder.appendChild(title);
newElement.appendChild(holder);
newElement.appendChild(warnings);
if(element.tags) {
if(element.tags.includes("18+")) {
if (element.tags) {
if (element.tags.includes("18+")) {
let thirteenplus = document.createElement("warning");
thirteenplus.innerText = "18+";
thirteenplus.classList = "thirteen";
warnings.appendChild(thirteenplus);
}
if(element.tags.includes("13+")) {
if (element.tags.includes("13+")) {
let thirteenplus = document.createElement("warning");
thirteenplus.innerText = "13+";
thirteenplus.classList = "thirteen";
warnings.appendChild(thirteenplus);
}
if(element.tags.includes("horror")) {
if (element.tags.includes("horror")) {
let horror = document.createElement("warning");
horror.innerText = "😱";
horror.classList = "horror";
warnings.appendChild(horror);
}
if(element.tags.includes("gore")) {
if (element.tags.includes("gore")) {
let gore = document.createElement("warning");
gore.innerText = "🩸";
gore.classList = "gore";
warnings.appendChild(gore);
}
if(element.tags.includes("top") && localStorage.getItem("selenite.disableTopGames") != "false") {
if (element.tags.includes("top") && localStorage.getItem("selenite.disableTopGames") != "false") {
topFragment.appendChild(newElement);
} else {
gamesFragment.appendChild(newElement);
holder.appendChild(star);
}
if(element.tags.includes("tofinish")) isDev.push(element.directory);
if (element.tags.includes("wip")) {
isDev.push(element.directory);
let thirteenplus = document.createElement("warning");
thirteenplus.innerText = "WIP";
thirteenplus.classList = "thirteen";
warnings.appendChild(thirteenplus);
}
} else {
gamesFragment.appendChild(newElement);
holder.appendChild(star);
@ -99,12 +107,15 @@ async function loadGames() {
document.getElementById("gameCount").innerText = `${data.length} games loaded!`;
document.getElementById("loadingMsg").style.display = "none";
document.getElementById("allHeader").style.display = "block";
if(localStorage.getItem("selenite.disableTopGames") != "false") {
if (localStorage.getItem("selenite.disableTopGames") != "false") {
document.getElementById("topHeader").style.display = "block";
}
if(isDev.length > 0) {sAlert("wip games", "dev message, shouldnt be seen");console.log(isDev.join(","))};
starredGames = JSON.parse(localStorage.getItem("selenite.starred") || '[]');
if(starredGames.length > 0) {
if (isDev.length > 0) {
sAlert("wip games", "dev message, shouldnt be seen");
console.log(isDev.join(","));
}
starredGames = JSON.parse(localStorage.getItem("selenite.starred") || "[]");
if (starredGames.length > 0) {
document.getElementById("starredHeader").style.display = "block";
starredGames.forEach((e) => {
let element = document.querySelector(`#games a.game[data-target='${e}']`);
@ -116,36 +127,36 @@ async function loadGames() {
e.preventDefault();
e.stopPropagation();
starEvent(e);
})
})
});
});
}
}
document.addEventListener("DOMContentLoaded", ()=>{
document.getElementById("gamesearch").addEventListener("input", ()=>{
document.addEventListener("DOMContentLoaded", () => {
document.getElementById("gamesearch").addEventListener("input", () => {
let input = document.getElementById("gamesearch").value.toUpperCase();
let total = 0;
if(elements.length > 0) {
if (elements.length > 0) {
elements.forEach((element) => {
let title = element.childNodes[1].childNodes[0].innerText.toUpperCase();
if(title.includes(input)) {
if (title.includes(input)) {
element.style.display = "flex";
} else {
element.style.display = "none";
total++;
}
})
});
}
document.getElementById("noResults").style.display = total >= elements.length ? "flex" : "none"
})
document.getElementById("noResults").style.display = total >= elements.length ? "flex" : "none";
});
});
function starEvent(e) {
let game = e.target.parentNode.parentNode.getAttribute("data-target");
starredGames = JSON.parse(localStorage.getItem("selenite.starred") || '[]');
if(starredGames.indexOf(game) == -1) {
starredGames = JSON.parse(localStorage.getItem("selenite.starred") || "[]");
if (starredGames.indexOf(game) == -1) {
starredGames.push(game);
starredGames.sort();
if(starredGames.length > 0) {
if (starredGames.length > 0) {
document.getElementById("starredHeader").style.display = "block";
} else {
document.getElementById("starredHeader").style.display = "none";
@ -157,13 +168,13 @@ function starEvent(e) {
let element = document.querySelector(`#games a.game[data-target='${e}']`);
let newElement = element.cloneNode(true);
document.getElementById("starredgames").appendChild(newElement);
})
});
} else {
starredGames.splice(starredGames.indexOf(game), 1);
document.querySelectorAll(`a.game[data-target='${game}'] #star`).forEach((e) => {
e.src = "/img/star.svg";
})
if(starredGames.length > 0) {
});
if (starredGames.length > 0) {
document.getElementById("starredHeader").style.display = "block";
} else {
document.getElementById("starredHeader").style.display = "none";
@ -174,13 +185,13 @@ function starEvent(e) {
let element = document.querySelector(`#games a.game[data-target='${e}']`);
let newElement = element.cloneNode(true);
document.getElementById("starredgames").appendChild(newElement);
})
});
}
document.querySelectorAll("#starredgames #star").forEach((e) => {
e.addEventListener("click", (e) => {
e.preventDefault();
e.stopPropagation();
starEvent(e);
})
})
});
});
}

View File

@ -57,9 +57,13 @@ async function caching() {
if(sessionStorage.getItem("cdns")) return "done";
let cdns = JSON.parse(atob("WyJodHRwczovL2NhY2hpbmcuZnJlZXRscy5mYXN0bHkubmV0IiwiaHR0cHM6Ly9jYWNoaW5nLmdsb2JhbC5zc2wuZmFzdGx5Lm5ldCJd"));
let goods = [];
let cfStatus = (await fetch("/alive.txt")).headers.get("Cf-Ray") != null;
if(cfStatus) {
localStorage.setItem("selenite.disableCDN", "true");
return;
}
for(let i = 0;i<cdns.length;i++) {
let cdn = cdns[i];
// TODO: change to alive.txt
await fetch(cdn + "/alive.txt")
.then(data => data.text())
.then(data => {