This commit is contained in:
Aevann1 2021-10-01 04:34:12 +02:00
parent cd4d05c9db
commit db976ffd40

View file

@ -1,134 +1,75 @@
function post_vote(url, callback) {
function vote(type, upvote, downvote, scoretext) {
var score = Number(scoretext.textContent);
if (type == "1") {
if (upvote.classList.contains('active')) {
upvote.classList.remove('active')
scoretext.textContent = score - 1
votedirection = "0"
} else if (downvote.classList.contains('active')) {
upvote.classList.add('active')
downvote.classList.remove('active')
scoretext.textContent = score + 2
votedirection = "1"
} else {
upvote.classList.add('active')
scoretext.textContent = score + 1
votedirection = "1"
}
if (upvote.classList.contains('active')) {
scoretext.classList.add('score-up')
scoretext.classList.remove('score-down')
scoretext.classList.remove('score')
} else if (downvote.classList.contains('active')) {
scoretext.classList.add('score-down')
scoretext.classList.remove('score-up')
scoretext.classList.remove('score')
} else {
scoretext.classList.add('score')
scoretext.classList.remove('score-up')
scoretext.classList.remove('score-down')
}
}
else {
if (downvote.classList.contains('active')) {
downvote.classList.remove('active')
scoretext.textContent = score + 1
votedirection = "0"
} else if (upvote.classList.contains('active')) {
downvote.classList.add('active')
upvote.classList.remove('active')
scoretext.textContent = score - 2
votedirection = "-1"
} else {
downvote.classList.add('active')
scoretext.textContent = score - 1
votedirection = "-1"
}
if (upvote.classList.contains('active')) {
scoretext.classList.add('score-up')
scoretext.classList.remove('score-down')
scoretext.classList.remove('score')
} else if (downvote.classList.contains('active')) {
scoretext.classList.add('score-down')
scoretext.classList.remove('score-up')
scoretext.classList.remove('score')
} else {
scoretext.classList.add('score')
scoretext.classList.remove('score-up')
scoretext.classList.remove('score-down')
}
}
var xhr = new XMLHttpRequest();
xhr.open("POST", url, true);
xhr.open("POST", "/vote/" + type + "/" + id + "/" + votedirection, true);
var form = new FormData()
form.append("formkey", formkey());
xhr.withCredentials=true;
xhr.send(form);
}
var upvote = function(event) {
var type = event.target.dataset.bsContentType;
var id = event.target.dataset.bsIdUp;
var downvoteButton = document.getElementsByClassName(type + '-' + id + '-down');
var upvoteButton = document.getElementsByClassName(type + '-' + id + '-up');
var scoreText = document.getElementsByClassName(type + '-score-' + id);
for (var j = 0; j < upvoteButton.length && j < downvoteButton.length && j < scoreText.length; j++) {
var thisUpvoteButton = upvoteButton[j];
var thisDownvoteButton = downvoteButton[j];
var thisScoreText = scoreText[j];
var thisScore = Number(thisScoreText.textContent);
if (thisUpvoteButton.classList.contains('active')) {
thisUpvoteButton.classList.remove('active')
thisScoreText.textContent = thisScore - 1
voteDirection = "0"
} else if (thisDownvoteButton.classList.contains('active')) {
thisUpvoteButton.classList.add('active')
thisDownvoteButton.classList.remove('active')
thisScoreText.textContent = thisScore + 2
voteDirection = "1"
} else {
thisUpvoteButton.classList.add('active')
thisScoreText.textContent = thisScore + 1
voteDirection = "1"
}
if (thisUpvoteButton.classList.contains('active')) {
thisScoreText.classList.add('score-up')
thisScoreText.classList.remove('score-down')
thisScoreText.classList.remove('score')
} else if (thisDownvoteButton.classList.contains('active')) {
thisScoreText.classList.add('score-down')
thisScoreText.classList.remove('score-up')
thisScoreText.classList.remove('score')
} else {
thisScoreText.classList.add('score')
thisScoreText.classList.remove('score-up')
thisScoreText.classList.remove('score-down')
}
}
post_vote("/vote/" + type + "/" + id + "/" + voteDirection);
}
var downvote = function(event) {
var type = event.target.dataset.bsContentType;
var id = event.target.dataset.bsIdDown;
var downvoteButton = document.getElementsByClassName(type + '-' + id + '-down');
var upvoteButton = document.getElementsByClassName(type + '-' + id + '-up');
var scoreText = document.getElementsByClassName(type + '-score-' + id);
for (var j = 0; j < upvoteButton.length && j < downvoteButton.length && j < scoreText.length; j++) {
var thisUpvoteButton = upvoteButton[j];
var thisDownvoteButton = downvoteButton[j];
var thisScoreText = scoreText[j];
var thisScore = Number(thisScoreText.textContent);
if (thisDownvoteButton.classList.contains('active')) {
thisDownvoteButton.classList.remove('active')
thisScoreText.textContent = thisScore + 1
voteDirection = "0"
} else if (thisUpvoteButton.classList.contains('active')) {
thisDownvoteButton.classList.add('active')
thisUpvoteButton.classList.remove('active')
thisScoreText.textContent = thisScore - 2
voteDirection = "-1"
} else {
thisDownvoteButton.classList.add('active')
thisScoreText.textContent = thisScore - 1
voteDirection = "-1"
}
if (thisUpvoteButton.classList.contains('active')) {
thisScoreText.classList.add('score-up')
thisScoreText.classList.remove('score-down')
thisScoreText.classList.remove('score')
} else if (thisDownvoteButton.classList.contains('active')) {
thisScoreText.classList.add('score-down')
thisScoreText.classList.remove('score-up')
thisScoreText.classList.remove('score')
} else {
thisScoreText.classList.add('score')
thisScoreText.classList.remove('score-up')
thisScoreText.classList.remove('score-down')
}
}
post_vote("/vote/" + type + "/" + id + "/" + voteDirection);
}
var upvoteButtons = document.getElementsByClassName('upvote-button')
var downvoteButtons = document.getElementsByClassName('downvote-button')
var voteDirection = 0
for (var i = 0; i < upvoteButtons.length; i++) {
upvoteButtons[i].addEventListener('click', upvote, false);
upvoteButtons[i].addEventListener('keydown', function(event) {
if (event.keyCode === 13) {
upvote(event)
}
}, false)
};
for (var i = 0; i < downvoteButtons.length; i++) {
downvoteButtons[i].addEventListener('click', downvote, false);
downvoteButtons[i].addEventListener('keydown', function(event) {
if (event.keyCode === 13) {
downvote(event)
}
}, false)
};
function awardModal(link) {
var target = document.getElementById("awardTarget");