import { useState, useEffect } from "react"; import { useNavigate } from "react-router-dom"; import { uploadImage, createPost } from "../../wordpress"; import { getToken } from "../../auth"; import { Box, Container, Typography, TextField, Button, Paper, Input, IconButton, } from "@mui/material"; import { ArrowBack, Publish } from "@mui/icons-material"; function CreatePost() { const [title, setTitle] = useState(""); const [content, setContent] = useState(""); const [file, setFile] = useState(null); const navigate = useNavigate(); // ✅ Vérification de l'authentification : Redirection vers /login si l'utilisateur n'est pas connecté useEffect(() => { if (!getToken()) { navigate("/admin/login"); } }, [navigate]); const handleSubmit = async (e) => { e.preventDefault(); try { console.log("📢 Tentative d'upload de l'image..."); const imageId = await uploadImage(file); console.log("📢 Création du post avec l'image mise en avant..."); await createPost(title, content, imageId); alert("✅ Post créé avec succès !"); navigate("/admin/gestion-articles"); // Redirection après la création } catch (error) { alert("❌ Erreur lors de la création du post."); } }; return ( {/* ✅ Bouton Retour à la Gestion des Articles */} {/* ✅ Titre de la page */} Créer un article {/* ✅ Formulaire */}
setTitle(e.target.value)} required /> setContent(e.target.value)} required /> {/* ✅ Upload de l'image */} Image en vedette : setFile(e.target.files[0])} required sx={{ display: "block", mb: 2 }} /> {/* ✅ Bouton Publier */}
); } export default CreatePost;