import React, { useEffect, useMemo, useState } from "react"; import { useParams } from "react-router-dom"; import useToggle from "../../Hooks/useToggle"; import BackToTop from "../BackToTop"; import FooterHomeOne from "../HomeOne/FooterHomeOne"; import Drawer from "../Mobile/Drawer"; import Blog from "./Blog"; import BlogData from "../../Services/BlogData"; import BlogSideBar from "./BlogSideBar"; import HeaderNews from "./HeaderNews"; import HeroNews from "./HeroNews"; import StickyHeaderNav from "../StickyHeader/StickyHeaderNav"; /** * Renders the blog detail page. */ function BlogDetail() { const [drawer, drawerAction] = useToggle(false); const [isLoading, setIsLoading] = useState(false); const [blogs, setBlogs] = useState([]); const { id } = useParams(); useEffect(() => { const fetchBlogs = async () => { setIsLoading(true); try { const res = await BlogData(); setBlogs(res.data); } catch (err) { console.log("Error loading blogdata", err); } finally { setTimeout(() => setIsLoading(false), 1500); } }; fetchBlogs(); }, []); const blogItem = useMemo(() => { return blogs.blogdata?.find((item) => +item.id === +id); }, [blogs, id]); return ( <> {/* Renders the drawer component */} {/* Renders the header component */} {/* Renders the hero section */} {/* Renders the blog content and sidebar */}
{/* Renders the footer */} {/* Renders the back-to-top button */} ); } export default BlogDetail;