"use client"; import React, { useState } from 'react'; import { LegalDocument } from '@prisma/client'; import RichTextEditor from './RichTextEditor'; import { updateLegalDocument } from '@/app/actions/legal'; import { toast } from 'react-hot-toast'; import { FileText, Save, Loader2 } from 'lucide-react'; interface Props { initialCgu: LegalDocument | null; initialCgv: LegalDocument | null; } export default function LegalEditor({ initialCgu, initialCgv }: Props) { const [activeTab, setActiveTab] = useState<'CGU' | 'CGV'>('CGU'); const [cgu, setCgu] = useState({ title: initialCgu?.title || "Conditions Générales d'Utilisation", content: initialCgu?.content || "" }); const [cgv, setCgv] = useState({ title: initialCgv?.title || "Conditions Générales de Vente", content: initialCgv?.content || "" }); const [isSaving, setIsSaving] = useState(false); const currentDoc = activeTab === 'CGU' ? cgu : cgv; const handleUpdate = (field: string, value: string) => { if (activeTab === 'CGU') { setCgu(prev => ({ ...prev, [field]: value })); } else { setCgv(prev => ({ ...prev, [field]: value })); } }; const handleSave = async () => { setIsSaving(true); try { const result = await updateLegalDocument(activeTab, currentDoc.title, currentDoc.content); if (result.success) { toast.success(`${activeTab} mis à jour avec succès`); } else { toast.error(result.error || "Une erreur est survenue"); } } catch (error) { toast.error("Erreur de connexion au serveur"); } finally { setIsSaving(false); } }; return (
Dernière mise à jour : {new Date().toLocaleDateString('fr-FR')}
Attention : Les modifications seront immédiatement visibles pour tous les utilisateurs sur le site public une fois enregistrées.