index.js 3.33 KB
import PageBanner from "@/components/reuseables/PageBanner";
import Seo from "@/components/reuseables/Seo/Seo";
// import BlogDetails from "@/container/Blog/BlogDetails";
import { cleanImage } from "@/layout/imageHandling";
import axios from "axios";
import Image from "next/image";
import Link from "next/link";
import QueryString from "qs";
import React from "react";

const details = ({ blog }) => {
  // console.log(blog, "blog");
  // console.log(blog[0]?.Description, "blog content");

  const banners = [
    {
      imageSrc: "/images/banner/knowledge.webp",
      pageTitle: "Blogs",
      homePageUrl: "/",
      homePageText: "Home",
      activePageText: blog[0]?.Title || "Default Title",
    },
  ];

  // const seo = blog?.seo;
  // console.log(seo, 'seo');

  return (
    <>
    {/* <Seo seo={seo} /> */}
      <PageBanner banners={banners} />

      <div className="blog-details-area ptb-100">
        <div className="container">
          <div className="row">
            <div className="col-lg-12 col-md-12">
              <div className="blog-details-desc">
                <div className="article-image">
                  <Image
                    src={cleanImage(blog[0]?.HeroImage?.url)}
                    layout="fill"
                    alt="image"
                    className="image-fluid image"
                  />
                </div>

                <div className="article-content">
                  <div className="entry-meta">
                    <ul>
                      <li>
                        <i className="ri-shield-user-line"></i>
                        <p> {blog[0]?.Author}</p>
                      </li>
                      <li>
                        <i className="ri-calendar-2-line"></i>
                        <p>{blog[0]?.Date}</p>
                      </li>
                    </ul>
                  </div>

                  <h3>{blog[0]?.Title}</h3>
                  <p>{blog?.shortDesc}</p>

                  
                  <div className="table" dangerouslySetInnerHTML={{ __html: blog[0]?.Description}}/>

                  {/* {blog[0]?.Description.map((item, index) => (<div key={index} dangerouslySetInnerHTML={{ __html: item?.children[0]?.text}}>

                  </div>))} */}



                </div>

                <div className="article-footer">
                  <div className="article-tags">
                    <Link href="/blog">Consulting</Link>
                    <Link href="/blog">Business</Link>
                    <Link href="/blog">Market</Link>
                  </div>
                </div>
              </div>
            </div>

            {/* <div className="col-lg-4 col-md-12">
              <BlogSidebar />
            </div> */}
          </div>
        </div>
      </div>
    </>
  );
};

export default details;

export async function getServerSideProps({ params }) {
  console.log("params", params.slug);
  const query = {
    filters: {
      slug: {
        $eq: params?.slug,
      },
    },
    populate: [
      "HeroImage", 
      "ThumbnailImage",
      
    ],
  };
  const queryString = QueryString.stringify(query, {
    encodeValuesOnly: true,
  });
  const endpoint = `${process.env.NEXT_PUBLIC_BACKEND_API_URL}/api/blogs?${queryString}`;
  const response = await axios.get(endpoint);
  const blog = response.data.data;
  return {
    props: {
      blog,
    },
  };
}