fonctionnalité like and dislike of a post

This commit is contained in:
Matis MAZINGUE
2024-06-13 11:54:28 +02:00
parent 8d1f0b9a6f
commit c8617388c7
5 changed files with 94 additions and 7 deletions

36
public/js/like_toggle.js Normal file
View File

@@ -0,0 +1,36 @@
document.addEventListener('DOMContentLoaded', function() {
document.querySelectorAll('.like-toggle').forEach(button => {
button.addEventListener('click', function(event) {
event.preventDefault();
let postId = this.dataset.postId;
let isLiked = this.classList.contains('liked');
let url = isLiked ? this.dataset.unlikeUrl : this.dataset.likeUrl;
fetch(url, { method: 'POST' })
.then(response => response.json())
.then(data => {
if (data.success) {
let likesCountElement = this.parentElement.querySelector('.likes-count');
let likesCount = parseInt(likesCountElement.textContent);
if (isLiked) {
likesCount--;
} else {
likesCount++;
}
likesCountElement.textContent = likesCount;
this.classList.toggle('liked');
this.classList.toggle('not-liked');
this.innerHTML = isLiked ? '♡' : '❤️';
} else {
console.error('Erreur lors du traitement du like/unlike.');
}
})
.catch(error => {
console.error('Erreur lors de la requête fetch:', error);
});
});
});
});