Co-authored-by: Matis MAZINGUE <Matis.MAZINGUE@etu.uca.fr>
Co-authored-by: clfreville2 <clement.freville2@etu.uca.fr>
Reviewed-on: https://codefirst.iut.uca.fr/git/clement.freville2/herbarium/pulls/19
Co-authored-by: Matis MAZINGUE <matis.mazingue@etu.uca.fr>
Co-committed-by: Matis MAZINGUE <matis.mazingue@etu.uca.fr>
This commit is contained in:
Matis MAZINGUE
2024-06-14 09:41:05 +02:00
committed by Clément FRÉVILLE
parent beca5f92da
commit b0507a44ea
7 changed files with 147 additions and 1 deletions

12
public/css/app.css Normal file
View File

@@ -0,0 +1,12 @@
.no-style {
background: none;
border: none;
padding: 0;
font: inherit;
color: inherit;
cursor: pointer;
}
.no-style:focus {
outline: none;
}

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

@@ -0,0 +1,27 @@
document.addEventListener('DOMContentLoaded', function() {
document.querySelectorAll('.like-toggle').forEach(button => {
button.addEventListener('click', function (event) {
event.preventDefault();
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');
likesCountElement.textContent = data.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);
});
});
});
});