import React, { useState } from 'react'; import ImageBlurEditor from '../components/ImageBlurEditor'; import axios from 'axios'; const ModerationImageModule = ({ images, saveUrlTemplate, rawDir, maskedDir }) => { const [currentImages, setCurrentImages] = useState(images); const [editingImage, setEditingImage] = useState(null); const [isSaving, setIsSaving] = useState(false); const handleOpenEditor = (image) => { setEditingImage(image); }; const handleSaveBlur = async (dataUrl) => { setIsSaving(true); const url = saveUrlTemplate.replace('__ID__', editingImage.id); try { const response = await axios.post(url, { image_data: dataUrl }, { headers: { 'X-Requested-With': 'XMLHttpRequest' } }); if (response.data.success) { // Update local state without reload setCurrentImages(prev => prev.map(img => img.id === editingImage.id ? { ...img, imagePublic: response.data.imagePublic, isMasked: true } : img )); setEditingImage(null); // Optional: show a small toast or success message if available } } catch (error) { console.error('Erreur lors de la sauvegarde:', error); alert('Erreur lors de la sauvegarde.'); } finally { setIsSaving(false); } }; if (!currentImages) { return
Version Brute
Version Floutée
Sauvegarde de l'image masquée...