Guest User

Untitled

a guest
May 10th, 2024
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.20 KB | None | 0 0
  1. /* eslint-disable @next/next/no-sync-scripts */
  2. "use client";
  3. import { useEffect, useState } from "react";
  4. import { useRouter } from "next/navigation";
  5. import { SpinnerLoading } from "./../../../components/spinner";
  6. import { getBlogPost } from "./../../../server/utils/auth";
  7. import BlogCard from "./../../../components/blogCard";
  8. import parse from "html-react-parser";
  9.  
  10. const BlogPost = ({ params: { slug } }: { params: { slug: string } }) => {
  11. const router = useRouter();
  12. const [blogPost, setBlogPost] = useState(null);
  13. const [loading, setLoading] = useState(true);
  14. useEffect(() => {
  15. const fetchInfo = async () => {
  16. try {
  17. const blogData = await getBlogPost(slug);
  18. setBlogPost(blogData);
  19. } finally {
  20. setLoading(false);
  21. }
  22. };
  23.  
  24. fetchInfo();
  25. }, [slug]);
  26. if (loading) {
  27. return <SpinnerLoading />;
  28. }
  29. console.log(blogPost.blog.content);
  30. return (
  31. <div>
  32. {
  33. //@ts-ignore
  34. parse(blogPost.blog.content, {
  35. transform(reactNode, domNode, index) {
  36. return <div className={"list-disc"}>{reactNode}</div>;
  37. },
  38. })
  39. }
  40. </div>
  41. );
  42. };
  43.  
  44. export default BlogPost;
  45.  
Advertisement
Add Comment
Please, Sign In to add comment