Add PHPDocs generated by ChatGPT,

add additional clarification to some functions,
add addNewsComment function and API, currently untested and not implemented in the client,
fix a bunch of stuff that PHPStorm pointed out
This commit is contained in:
2024-04-28 22:37:23 +02:00
parent 6e7df7f034
commit 1c9f5cf3c0
17 changed files with 659 additions and 142 deletions

View File

@@ -9,7 +9,7 @@ let config =
function isLoggedIn() {
"use strict";
return UserInfo.Email && 0 < UserInfo.Email.length;
return UserInfo.Email && UserInfo.Email.length > 0;
}
async function handleResponse(data, successMessage, failureMessage) {
@@ -19,7 +19,7 @@ async function handleResponse(data, successMessage, failureMessage) {
const statusMessage = document.createElement("div");
statusMessage.classList.add("status-message");
if ('Success' === data.Status) {
if (data.Status === 'Success') {
statusMessage.innerText = successMessage;
statusMessage.classList.add("success");
} else {
@@ -104,10 +104,10 @@ async function displayList(data, elementId, deleteFunction) {
headerRow.appendChild(th);
}
if ("function" === typeof deleteFunction) {
if (typeof deleteFunction === "function") {
const th = document.createElement("th");
let deleteBtn = document.createElement('i');
deleteBtn.classList = ["ri-delete-bin-line"];
deleteBtn.classList.add("ri-delete-bin-line");
th.appendChild(deleteBtn);
headerRow.appendChild(th);
}
@@ -119,7 +119,7 @@ async function displayList(data, elementId, deleteFunction) {
td.appendChild(document.createTextNode(line[key]));
dataRow.appendChild(td);
}
if ("function" === typeof deleteFunction) {
if (typeof deleteFunction === "function") {
const td = document.createElement("td");
const deleteButton = document.createElement('button');
deleteButton.innerHTML = "<i class='ri-delete-bin-line'></i>";
@@ -234,13 +234,13 @@ async function articleInit() {
let articleContainerElement = document.getElementById("articlecreatecontainer");
let articleCreateOpenElement = document.getElementById("articlecreateopen");
articleContainerElement.addEventListener("keyup", function (ev) {
if ("Escape" === ev.key) {
if (ev.key === "Escape") {
togglearticlecreate();
}
});
PageIntervals.push(setInterval(renderarticles, config.articleRefresh));
document.getElementById("articleprivilegeinput").setAttribute("max", UserInfo.Privileges);
if (2 > UserInfo.Privileges) {
if (UserInfo.Privileges < 2) {
articleContainerElement.style.display = "none";
articleCreateOpenElement.style.display = "none";
} else {
@@ -258,7 +258,7 @@ async function onPageLoad() {
clearInterval(interval);
}
if ("home" === currentSite && "settings" === currentPage) {
if (currentSite === "home" && currentPage === "settings") {
if (document.getElementById("user-settings")) {
await populateUserInfoFields(UserInfo);
}
@@ -267,16 +267,16 @@ async function onPageLoad() {
await listUsers(true);
}
}
if ("account" === currentSite && "index" === currentPage && isLoggedIn()) {
if (currentSite === "account" && currentPage === "index" && isLoggedIn()) {
await showDashboardGreeting();
}
if ("news" === currentSite && "index" === currentPage) {
if (currentSite === "news" && currentPage === "index") {
await articleInit();
}
if ("account" === currentSite && "files" === currentPage) {
if (currentSite === "account" && currentPage === "files") {
await listFiles();
}
if ("memes" === currentSite && "index" === currentPage) {
if (currentSite === "memes" && currentPage === "index") {
await getMemeImages();
}
}
@@ -461,7 +461,7 @@ async function getUserInfo() {
};
const result = await doAction('/account', data, "User info retrieved Successfully!", "User info retrieval failed.", true);
if (result && "Success" === result.Status) {
if (result && result.Status === "Success") {
Object.keys(result.UserInfo).forEach(index => {
let value = result.UserInfo[index];
localStorage.setItem("UserInfo_" + index, value);
@@ -498,7 +498,7 @@ async function listUsers(silent) {
doAction('/account', data, "User list retrieved Successfully!", "User list retrieval failed.", silent).then((result) => {
if (result && "Success" === result.Status) {
if (result && result.Status === "Success") {
displayList(result.Users, "userListTable", deleteUser);
}
});
@@ -541,7 +541,7 @@ async function deleteActivationCode(activationCode) {
//Admin settings end
if ("loading" === document.readyState) {
if (document.readyState === "loading") {
document.addEventListener("DOMContentLoaded", initAjax);
} else {
setTimeout(initAjax, 0);
@@ -574,7 +574,7 @@ async function getFileList() {
action: "getAllFiles"
}, "Zoznam súborov bol úspešne stiahnutý", "Nastala chyba pri sťahovaní zoznamu súborov", true);
if ("Success" === resp.Status) {
if (resp.Status === "Success") {
return resp.Files;
} else {
return false;
@@ -642,10 +642,10 @@ async function reloadMemeVotes(memeID) {
memeVoteCounterElement.innerText = memeVotes;
memeVoteCounterElement.classList.remove("positive", "negative", "neutral");
if (memeVotes > 0) {
if (0 < memeVotes) {
memeVoteCounterElement.classList.add("positive");
}
else if (memeVotes < 0) {
else if (0 > memeVotes) {
memeVoteCounterElement.classList.add("negative");
}
else {
@@ -654,20 +654,15 @@ async function reloadMemeVotes(memeID) {
memeVoteUpvoteButtonElement.classList.remove('visual_hover');
memeVoteDownvoteButtonElement.classList.remove('visual_hover');
if (userVote > 0) {
let memeUpvoteVariant = "line";
let memeDownvoteVariant = "line";
if (0 < userVote) {
memeUpvoteVariant = "fill";
memeDownvoteVariant = "line";
memeVoteUpvoteButtonElement.classList.add('visual_hover');
}
else if (userVote < 0) {
memeUpvoteVariant = "line";
} else if (0 > userVote) {
memeDownvoteVariant = "fill";
memeVoteDownvoteButtonElement.classList.add('visual_hover');
}
else {
memeUpvoteVariant = "line";
memeDownvoteVariant = "line";
}
memeVoteUpvoteElement.classList = [`ri-arrow-up-circle-${memeUpvoteVariant}`];
memeVoteDownvoteElement.classList = [`ri-arrow-down-circle-${memeDownvoteVariant}`];
@@ -680,13 +675,13 @@ async function voteMeme(memeID, isUpvote){
let memeVoteDelete = false;
if(isUpvote) {
if(memeVoteUpvoteElement.classList.contains("ri-arrow-up-circle-fill")){
deleteVoteMeme(memeID);
await deleteVoteMeme(memeID);
memeVoteDelete = true;
}
}
else {
if(memeVoteDownvoteElement.classList.contains("ri-arrow-down-circle-fill")){
deleteVoteMeme(memeID);
await deleteVoteMeme(memeID);
memeVoteDelete = true;
}
}

View File

@@ -371,11 +371,11 @@ div#articleslist>article{
}
.positive {
color: green;
color: #008000;
}
.negative {
color: red;
color: #ff0000;
}
.neutral {
@@ -390,12 +390,12 @@ div#articleslist>article{
}
.visual_hover.meme_upvote {
--pico-background-color: green;
--pico-background-color: #008000;
--pico-border-color: unset;
}
.visual_hover.meme_downvote {
--pico-background-color: red;
--pico-background-color: #ff0000;
--pico-border-color: unset;
}