53 lines
1.8 KiB
JavaScript
53 lines
1.8 KiB
JavaScript
|
|
document.addEventListener('DOMContentLoaded', () => {
|
||
|
|
const updateButton = document.getElementById('csv-update-yes');
|
||
|
|
const cancelButton = document.getElementById('csv-update-no');
|
||
|
|
const feedbackElement = document.getElementById('csv-feedback');
|
||
|
|
|
||
|
|
if (!updateButton || !cancelButton || !feedbackElement) {
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
const setFeedback = (message, isError = false) => {
|
||
|
|
feedbackElement.textContent = message;
|
||
|
|
feedbackElement.style.color = isError ? '#ffb3b3' : '#b8f2b8';
|
||
|
|
};
|
||
|
|
|
||
|
|
updateButton.addEventListener('click', async () => {
|
||
|
|
updateButton.disabled = true;
|
||
|
|
cancelButton.disabled = true;
|
||
|
|
setFeedback('Mise à jour en cours, veuillez patienter...');
|
||
|
|
|
||
|
|
try {
|
||
|
|
const response = await fetch('/php/update_csv.php', {
|
||
|
|
method: 'POST',
|
||
|
|
headers: {
|
||
|
|
'Accept': 'application/json',
|
||
|
|
},
|
||
|
|
});
|
||
|
|
|
||
|
|
const result = await response.json();
|
||
|
|
|
||
|
|
if (!response.ok || !result.success) {
|
||
|
|
const message = result.message || 'Échec de la mise à jour CSV.';
|
||
|
|
setFeedback(message, true);
|
||
|
|
updateButton.disabled = false;
|
||
|
|
cancelButton.disabled = false;
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
setFeedback(result.message || 'CSV mis à jour avec succès.', false);
|
||
|
|
setTimeout(() => {
|
||
|
|
window.location.href = '/php/csv.php';
|
||
|
|
}, 1200);
|
||
|
|
} catch (error) {
|
||
|
|
setFeedback('Erreur réseau lors de la mise à jour CSV.', true);
|
||
|
|
updateButton.disabled = false;
|
||
|
|
cancelButton.disabled = false;
|
||
|
|
}
|
||
|
|
});
|
||
|
|
|
||
|
|
cancelButton.addEventListener('click', () => {
|
||
|
|
window.location.href = '/php/menu.php';
|
||
|
|
});
|
||
|
|
});
|