import { useState, useEffect } from "react";
import { Box, Typography, Button, CircularProgress } from "@mui/material";
import { useParams, useNavigate } from "react-router-dom";
import api from "../api";
const PostDetails = () => {
const { slug } = useParams();
const [post, setPost] = useState(null);
const [image, setImage] = useState(null);
const navigate = useNavigate();
useEffect(() => {
const fetchPost = async () => {
if (!slug) {
console.error("❌ Erreur : aucun slug fourni !");
return;
}
try {
console.log(`📢 Requête API pour le slug : ${slug}`);
const response = await api.get(`wp/v2/posts?slug=${slug}&_fields=id,title,content,featured_media,date`);
if (response.data.length > 0) {
const article = response.data[0];
setPost(article);
if (article.featured_media) {
console.log(`📢 Récupération de l'image ID : ${article.featured_media}`);
const mediaResponse = await api.get(`wp/v2/media/${article.featured_media}`);
setImage(mediaResponse.data.source_url);
}
} else {
console.error("❌ Aucun article trouvé avec ce slug !");
}
} catch (error) {
console.error("❌ Erreur lors de la récupération de l'article :", error);
}
};
fetchPost();
}, [slug]);
if (!post) {
return ;
}
return (
{post.title.rendered}
{image && (
)}
);
};
export default PostDetails;