131 lines
5.1 KiB
JavaScript
131 lines
5.1 KiB
JavaScript
$(document).ready(function () {
|
|
$.ajax({
|
|
url: "/blog/getComments",
|
|
data: {
|
|
url: window.location.pathname
|
|
},
|
|
beforeSend: function () {
|
|
$("#comment-list").html("<h2><i class='fa fa-cog fa-spin'></i> Loading Comments</h2>");
|
|
},
|
|
success: function (data) {
|
|
$("#comment-list").html(data);
|
|
},
|
|
error: function () {
|
|
$("#comment-list").html("<div class='alert alert-danger' role='alert'><b>Error!</b> Couldn't load the comments for this posts caused by an unkown error! Please try again later or contact the admin for help.</div>");
|
|
}
|
|
});
|
|
|
|
$('.blog .info-box').each((el) => {
|
|
});
|
|
});
|
|
|
|
$('#commentForm').submit(function (event) {
|
|
event.preventDefault();
|
|
addComment();
|
|
});
|
|
|
|
var addComment = function () {
|
|
if ($('#commentField').val() !== '') {
|
|
var comment = $('#commentField').val();
|
|
comment.replace("\n", "<br>");
|
|
|
|
var item;
|
|
$.ajax({
|
|
url: "/blog/comment",
|
|
method: 'POST',
|
|
data: {
|
|
url: window.location.pathname,
|
|
comment: comment
|
|
},
|
|
beforeSend: function () {
|
|
var date = new Date();
|
|
date = date.getDate() + '.' + date.getMonth() + '.' + date.getYear() + ' ' + date.getHours() + ':' + date.getMinutes() + ' Uhr';
|
|
item = $(`
|
|
<li>
|
|
<div class="well comment-well">
|
|
<div class="d-inline-block mr-2">
|
|
<div class="image-placeholder">
|
|
</div>
|
|
</div>
|
|
<div class="d-inline-block mr-2">
|
|
<h3>
|
|
<small>
|
|
von Dir / ${date}
|
|
</small>
|
|
</h3>
|
|
<p class="comment">${comment}</p>
|
|
</div>
|
|
<div class="loading-container d-inline-block">
|
|
<i class="fa fa-cog fa-spin"></i>
|
|
</div>
|
|
</div>
|
|
</li>
|
|
`);
|
|
|
|
$('#comment-list').prepend(item);
|
|
$('#commentField').attr('disabled', '');
|
|
$('#addComment').attr('disabled', '');
|
|
},
|
|
success: function (data) {
|
|
if (data.type === 'success') {
|
|
$('#commentField').val('');
|
|
$('#notice-container').html('<div class="alert alert-success" role="alert">Dein Kommentar wurde <b>erfolgreich</b> gesendet!</div>');
|
|
$('.loading-container', item).css('background-color', '#28b62c');
|
|
$('.loading-container i', item)
|
|
.removeClass('fa-cog').removeClass('fa-spin')
|
|
.addClass('fa-check').css('color', '#fff');
|
|
$('.content h3 small', item).hide()
|
|
.html(`von <a href="/user/${data.content.username}" target="_blank">${data.content.displayname}</a> / ${data.content.date}`).fadeIn();
|
|
$('.loading-container', item).delay(2000).fadeOut(2000);
|
|
$('.comment-well', item).prepend(`<img src="${data.content.profilePic}" style="display:none">`);
|
|
$('.comment-well img', item).fadeIn(2000);
|
|
$('.image-placeholder', item).remove();
|
|
wait(8000);
|
|
$('.content', item).removeClass('small');
|
|
$('.comment-count').text(parseInt($('.comment-count').text()) + 1);
|
|
} else {
|
|
|
|
}
|
|
},
|
|
error: function (data) {
|
|
$('#notice-container').html('<div class="alert alert-danger" role="alert"><b>Error:</b> Comment couldn\'t be sent caused by an unkown error! Please try again later or contact the admin to get help!</div>');
|
|
$('div.loading-container', item).css('background-color', '#ff4136');
|
|
$('div.loading-container i', item).removeClass('fa-cog').removeClass('fa-spin').addClass('fa-exclamation').css("color", '#fff');
|
|
$(item).delay(3000).fadeOut(2000);
|
|
},
|
|
complete: function () {
|
|
$('#commentField').removeAttr('disabled');
|
|
$('#addComment').html('Kommentar senden').removeAttr('disabled');
|
|
}
|
|
});
|
|
}
|
|
};
|
|
|
|
function wait(ms) {
|
|
var start = new Date().getTime();
|
|
var end = start;
|
|
while (end < start + ms) {
|
|
end = new Date().getTime();
|
|
}
|
|
}
|
|
|
|
function likeDislike(postID) {
|
|
$.ajax({
|
|
type: "POST",
|
|
url: "/blog/like",
|
|
data: {
|
|
postID: postID
|
|
},
|
|
success: function (data) {
|
|
if (data == "no-user") {
|
|
$('#loginModal').modal('show');
|
|
} else {
|
|
data = data.split(":");
|
|
|
|
$('.like-toggle-icon').toggleClass('-checked');
|
|
$('.like-count').text(data[1]);
|
|
}
|
|
}
|
|
});
|
|
}
|