Commit 3d94bca9 by Pradeep Kumar

budgetpanorama page

1 parent a6251c07
......@@ -90,7 +90,7 @@ import ConversionCode from "@/components/reuseables/ConversionCode/ConversionCod
// },
// ];
const BudgetPanorama = ({ BudgetData , conversionData }) => {
const BudgetPanorama = ({ BudgetData, conversionData }) => {
const banners = [
{
imageSrc: cleanImage(BudgetData?.Banner?.Image?.url),
......@@ -108,11 +108,27 @@ const BudgetPanorama = ({ BudgetData , conversionData }) => {
const budgetlist = useSelector((state) => state.budgetlist.data);
// Extract year from title
const getYearFromTitle = (title) => {
const match = title?.match(/\b(19|20)\d{2}\b/); // Matches 4 digit year
return match ? parseInt(match[0], 10) : 0;
};
// Sort in descending order based on extracted year
const sortedBudgetList = budgetlist
? [...budgetlist].sort((a, b) => {
return getYearFromTitle(b?.Title) - getYearFromTitle(a?.Title);
})
: [];
// Pagination setup
const [currentPage, setCurrentPage] = useState(1); // Start at page 1
const postsPerPage = 6; // Number of items per page
const offset = (currentPage - 1) * postsPerPage; // Calculate offset
const currentItems = budgetlist?.slice(offset, offset + postsPerPage);
const currentItems = sortedBudgetList?.slice(offset, offset + postsPerPage);
const code = conversionData?.conversion;
// Handle page click
......@@ -121,7 +137,7 @@ const BudgetPanorama = ({ BudgetData , conversionData }) => {
};
const seo = BudgetData?.seo;
console.log(seo);
console.log(currentItems);
return (
<>
<Seo seo={seo} />
......@@ -130,11 +146,12 @@ const BudgetPanorama = ({ BudgetData , conversionData }) => {
<div className="budget-panorama-page-area pt-70 pb-100 bg-light">
<Container>
<div className="section-title">
<Heading heading={BudgetData?.Heading?.Title} el="h2" className="primary-text"/>
<Heading heading={BudgetData?.Heading?.Title} el="h2" className="primary-text" />
</div>
<p className="text-center mb-3 mb-lg-5">
{BudgetData?.Heading?.Description}
</p>
<div className="text-center mb-3 mb-lg-5" dangerouslySetInnerHTML={{ __html: BudgetData?.Heading?.Description }} />
<Row className="align-items-center">
{currentItems &&
currentItems.map((service, index) => (
......@@ -162,10 +179,9 @@ const BudgetPanorama = ({ BudgetData , conversionData }) => {
<Link
href={
service?.slug?.endsWith(".pdf")
? `https://api.advith.io/uploads/${service.slug}`
: `/budgetpanorama/${
service?.slug ? service.slug : "#"
}`
? `${process.env.NEXT_PUBLIC_BACKEND_API_URL}/uploads/${service.slug}`
: `/budgetpanorama/${service?.slug ? service.slug : "#"
}`
}
target={
service?.slug?.endsWith(".pdf")
......@@ -188,10 +204,9 @@ const BudgetPanorama = ({ BudgetData , conversionData }) => {
<Link
href={
service?.slug?.endsWith(".pdf")
? `https://api.advith.io/uploads/${service.slug}`
: `/budgetpanorama/${
service?.slug ? service.slug : "#"
}`
? `${process.env.NEXT_PUBLIC_BACKEND_API_URL}/uploads/${service.slug}`
: `/budgetpanorama/${service?.slug ? service.slug : "#"
}`
}
target={
service?.slug?.endsWith(".pdf") ? "_blank" : "_self"
......@@ -274,7 +289,7 @@ export async function getServerSideProps() {
const endpoint1 = `${process.env.NEXT_PUBLIC_BACKEND_API_URL}/api/budget-page?${query1String}`;
const endpoint2 = `${process.env.NEXT_PUBLIC_BACKEND_API_URL}/api/google-manger?${query12String}`;
// console.log(`Final url: ${endpoint1}`);
const [response1, response2] = await Promise.all([
......@@ -286,7 +301,7 @@ export async function getServerSideProps() {
const conversionData = response2.data.data;
return {
props: { BudgetData,conversionData },
props: { BudgetData, conversionData },
};
} catch (error) {
console.log("Error", error);
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!