♻️ refactor: Move similar javascript inline code out of line

- Move variables oid, oid_likes out of line
- Move background-blur out of line
- Move fetch-repo code out of line
This commit is contained in:
Served Smart
2025-06-04 23:51:03 +02:00
parent 8387c6ea0a
commit 37ab1055e7
18 changed files with 100 additions and 155 deletions

View File

@@ -0,0 +1,13 @@
function backgroundBlur() {
const script = document.currentScript;
const targetId = script && script.getAttribute("data-target-id") ? script.getAttribute("data-target-id")
: (console.error("data-target-id is null"), null);
window.addEventListener("scroll", () => {
const scroll = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
const backgroundBlur = document.getElementById(targetId);
backgroundBlur.style.opacity = scroll / 300;
});
}
backgroundBlur();

30
assets/js/fetch-repo.js Normal file
View File

@@ -0,0 +1,30 @@
function fetchRepo() {
const script = document.currentScript;
const repoURL = script && script.getAttribute("data-url") ? script.getAttribute("data-url")
: (console.error("data-url is null"), null);
const repoId = script && script.getAttribute("data-id") ? script.getAttribute("data-id")
: (console.error("data-id is null"), null);
const requestObjects =
repoId.startsWith("github") ? ["full_name", "description", "stargazers_count", "forks"]
: repoId.startsWith("gitlab") ? ["name_with_namespace", "description", "star_count", "forks_count"]
: ["full_name", "description", "stars_count", "forks_count"];
fetch(repoURL, {
headers: new Headers({
"User-agent": "Mozilla/4.0 Custom User Agent"
})
})
.then((response) => response.json())
.then((data) => {
requestObjects.forEach((requestObject) => {
let element = document.getElementById(`${repoId}-${requestObject}`);
if (requestObject === "stargazers_count" && repoId.startsWith("github")) {
element = document.getElementById(`${repoId}-stargazers`);
}
element ? (element.innerHTML = data[requestObject])
: (console.error(`element.innerHTML for '${repoId}-${requestObject}' is null`), null);
});
})
.catch((error) => console.error(error));
}
fetchRepo();

View File

@@ -1,15 +1,17 @@
var liked_page = false
var id = oid ? oid.replaceAll("/", "-") : oid
var id_likes = oid_likes ? oid_likes.replaceAll("/", "-") : oid_likes
const pageScriptElement = document.currentScript;
const oid = pageScriptElement && pageScriptElement.getAttribute("data-oid") ? pageScriptElement.getAttribute("data-oid") : (console.error("data-oid is null"), null);
const oid_likes = pageScriptElement && pageScriptElement.getAttribute("data-oid-likes") ? pageScriptElement.getAttribute("data-oid-likes") : (console.error("data-oid-likes is null"), null);
const liked_page = false;
const id = oid ? oid.replaceAll("/", "-") : oid;
const id_likes = oid_likes ? oid_likes.replaceAll("/", "-") : oid_likes;
if (typeof auth !== 'undefined') {
var viewed = localStorage.getItem(id);
if (typeof auth !== "undefined") {
const viewed = localStorage.getItem(id);
if (!viewed) {
auth.signInAnonymously()
.then(() => {
var docRef = db.collection('views').doc(id)
const docRef = db.collection('views').doc(id)
localStorage.setItem(id, true);
docRef.get().then((doc) => {
if (doc.exists) {
@@ -24,13 +26,13 @@ if (typeof auth !== 'undefined') {
});
})
.catch((error) => {
var errorCode = error.code;
var errorMessage = error.message;
const errorCode = error.code;
const errorMessage = error.message;
console.error(errorCode, errorMessage)
});
}
var liked = localStorage.getItem(id_likes);
const liked = localStorage.getItem(id_likes);
if (liked) {
liked_page = true
@@ -44,7 +46,7 @@ if (typeof auth !== 'undefined') {
function like_article(id_likes) {
auth.signInAnonymously()
.then(() => {
var docRef = db.collection('likes').doc(id_likes)
const docRef = db.collection('likes').doc(id_likes)
docRef.get().then((doc) => {
liked_page = true
localStorage.setItem(id_likes, true);
@@ -63,8 +65,8 @@ function like_article(id_likes) {
});
})
.catch((error) => {
var errorCode = error.code;
var errorMessage = error.message;
const errorCode = error.code;
const errorMessage = error.message;
console.error(errorCode, errorMessage)
});
}
@@ -72,7 +74,7 @@ function like_article(id_likes) {
function remove_like_article(id_likes) {
auth.signInAnonymously()
.then(() => {
var docRef = db.collection('likes').doc(id_likes)
const docRef = db.collection('likes').doc(id_likes)
docRef.get().then((doc) => {
liked_page = false
localStorage.removeItem(id_likes);
@@ -91,8 +93,8 @@ function remove_like_article(id_likes) {
});
})
.catch((error) => {
var errorCode = error.code;
var errorMessage = error.message;
const errorCode = error.code;
const errorMessage = error.message;
console.error(errorCode, errorMessage)
});
}
@@ -103,4 +105,4 @@ function process_article() {
} else {
remove_like_article(id_likes)
}
}
}