Il est de nouveau possible de supprimer les chapitres
This commit is contained in:
parent
0690d02bae
commit
785f805d10
@ -2,6 +2,28 @@ document.addEventListener('DOMContentLoaded', function() {
|
|||||||
let currentChapterId = null;
|
let currentChapterId = null;
|
||||||
const storyId = document.querySelector('input[name="id"]')?.value;
|
const storyId = document.querySelector('input[name="id"]')?.value;
|
||||||
|
|
||||||
|
// Fonction de notification
|
||||||
|
function showNotification(message, type = 'success') {
|
||||||
|
const notification = document.createElement('div');
|
||||||
|
notification.className = `notification ${type}`;
|
||||||
|
notification.textContent = message;
|
||||||
|
|
||||||
|
document.body.appendChild(notification);
|
||||||
|
|
||||||
|
// Animation d'entrée
|
||||||
|
setTimeout(() => {
|
||||||
|
notification.style.opacity = '1';
|
||||||
|
notification.style.transform = 'translateY(0)';
|
||||||
|
}, 10);
|
||||||
|
|
||||||
|
// Auto-suppression après 3 secondes
|
||||||
|
setTimeout(() => {
|
||||||
|
notification.style.opacity = '0';
|
||||||
|
notification.style.transform = 'translateY(-100%)';
|
||||||
|
setTimeout(() => notification.remove(), 300);
|
||||||
|
}, 3000);
|
||||||
|
}
|
||||||
|
|
||||||
// Création de l'icône SVG pour le séparateur
|
// Création de l'icône SVG pour le séparateur
|
||||||
const icons = {
|
const icons = {
|
||||||
divider: `
|
divider: `
|
||||||
@ -213,6 +235,48 @@ document.addEventListener('DOMContentLoaded', function() {
|
|||||||
showNotification('Erreur lors du chargement du chapitre', 'error');
|
showNotification('Erreur lors du chargement du chapitre', 'error');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Gestion de la suppression
|
||||||
|
if (target.matches('.delete-chapter')) {
|
||||||
|
const chapterItem = target.closest('.chapter-item');
|
||||||
|
const chapterId = chapterItem.dataset.id;
|
||||||
|
const chapterTitle = chapterItem.querySelector('.chapter-title').textContent;
|
||||||
|
|
||||||
|
if (confirm(`Voulez-vous vraiment supprimer le chapitre "${chapterTitle}" ? Cette action est irréversible.`)) {
|
||||||
|
try {
|
||||||
|
const response = await fetch('api/delete-chapter.php', {
|
||||||
|
method: 'POST',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json',
|
||||||
|
},
|
||||||
|
body: JSON.stringify({
|
||||||
|
storyId: storyId,
|
||||||
|
chapterId: chapterId
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
if (!response.ok) {
|
||||||
|
throw new Error('Erreur réseau');
|
||||||
|
}
|
||||||
|
|
||||||
|
const result = await response.json();
|
||||||
|
if (result.success) {
|
||||||
|
// Animation de suppression
|
||||||
|
chapterItem.style.opacity = '0';
|
||||||
|
chapterItem.style.transform = 'translateX(-100%)';
|
||||||
|
setTimeout(() => {
|
||||||
|
chapterItem.remove();
|
||||||
|
showNotification('Chapitre supprimé avec succès');
|
||||||
|
}, 300);
|
||||||
|
} else {
|
||||||
|
throw new Error(result.error || 'Erreur lors de la suppression');
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Erreur:', error);
|
||||||
|
showNotification(error.message, 'error');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -258,23 +322,4 @@ document.addEventListener('DOMContentLoaded', function() {
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
function showNotification(message, type = 'success') {
|
|
||||||
const notification = document.createElement('div');
|
|
||||||
notification.className = `notification ${type}`;
|
|
||||||
notification.textContent = message;
|
|
||||||
|
|
||||||
document.body.appendChild(notification);
|
|
||||||
|
|
||||||
setTimeout(() => {
|
|
||||||
notification.style.opacity = '1';
|
|
||||||
notification.style.transform = 'translateY(0)';
|
|
||||||
}, 10);
|
|
||||||
|
|
||||||
setTimeout(() => {
|
|
||||||
notification.style.opacity = '0';
|
|
||||||
notification.style.transform = 'translateY(-100%)';
|
|
||||||
setTimeout(() => notification.remove(), 300);
|
|
||||||
}, 3000);
|
|
||||||
}
|
|
||||||
});
|
});
|
Loading…
x
Reference in New Issue
Block a user