import React, { useEffect, useState } from "react"; import { http } from "../lib/api"; import { toast } from "sonner"; import { History, RotateCcw, Sparkles, ChevronDown, ChevronRight } from "lucide-react"; export default function EmoIdentityPanel() { const [loading, setLoading] = useState(true); const [sections, setSections] = useState({}); const [editable, setEditable] = useState([]); const [limits, setLimits] = useState({}); const [versions, setVersions] = useState([]); const [openSection, setOpenSection] = useState(null); const load = async () => { setLoading(true); try { const [cur, saves] = await Promise.all([ http.get("/admin/emo-identity"), http.get("/admin/emo-identity/versions"), ]); setSections(cur.data.sections || {}); setEditable(cur.data.editable || []); setLimits(cur.data.limits || {}); setVersions(saves.data.versions || []); } catch (e) { toast.error(e?.response?.data?.detail || "Chargement identité impossible"); } finally { setLoading(false); } }; useEffect(() => { load(); }, []); const restore = async (versionId) => { if (!window.confirm("Restaurer cette version ? Une autobackup sera créée avant.")) return; try { await http.post("/admin/emo-identity/restore", { version_id: versionId }); toast.success("Version restaurée"); load(); } catch (e) { toast.error(e?.response?.data?.detail || "Restauration échouée"); } }; if (loading) { return
Chargement…
; } return (
{meta.preview}
)}
Aucune sauvegarde pour l'instant.
) : ( versions.map((v) => (