Commit f174945f by sujata

change in breadcumb

1 parent f1e111cf
...@@ -3,96 +3,81 @@ import Link from "next/link"; ...@@ -3,96 +3,81 @@ import Link from "next/link";
import Image from "next/image"; import Image from "next/image";
import { useRouter } from "next/router"; import { useRouter } from "next/router";
import { Swiper, SwiperSlide } from "swiper/react"; import { Swiper, SwiperSlide } from "swiper/react";
import { Pagination, Autoplay } from "swiper/modules"; import { Autoplay } from "swiper/modules";
import { Container } from "react-bootstrap"; import { Container } from "react-bootstrap";
const PageBanner = ({ banners = [] }) => { const PageBanner = ({ banners = [] }) => {
const router = useRouter(); const router = useRouter();
console.log(banners, 'bannes'); // Function to generate breadcrumbs
const generateBreadcrumbs = () => {
// Function to generate breadcrumbs for client servicing pages
const generateClientServicingBreadcrumbs = () => {
const pathname = router.asPath; const pathname = router.asPath;
const pathSegments = pathname.split("/").filter((segment) => segment);
// Only apply custom breadcrumbing for client-servicing pages
if (!pathname.includes('/client-servicings')) {
return null;
}
const pathSegments = pathname.split('/').filter(segment => segment);
const breadcrumbs = []; const breadcrumbs = [];
// Create breadcrumb mapping for better display names // BLOG DETAILS PAGE
const segmentNameMap = { if (pathname.startsWith("/blog/")) {
'client-servicing': 'Client Servicing', const postSlug = pathSegments[1] || "";
// Virtual Finance Office section const postTitle = postSlug
'virtual-finance-office': 'Virtual Finance Office', .replace(/-/g, " ")
'virtual-cfo': 'Virtual CFO Services', .replace(/\b\w/g, (l) => l.toUpperCase());
'virtual-fc': 'Virtual FC Services',
'book-closures-audit': 'Book Closure and Audit Support',
'apc': 'Accounting, Payroll & Compliance',
// Advisory Services section
'advisory-services': 'Advisory Services',
'transaction-advisory': 'Transaction Advisory',
'risk-advisory': 'Risk Advisory',
'business-advisory': 'Business Advisory',
// GCC as a Service
'global-capability-centres': 'GCC as a Service',
// Digital Transformation
'digital-transformation': 'Digital Transformation',
// Empowering Finance Consultants
'empowering-finance-consultants': 'Empowering Finance Consultants',
// Bespoke Services
'bespoke-services': 'Bespoke Services',
// Legacy mappings for existing pages
'cfo': 'Virtual CFO Services',
'ba': 'Business Advisory',
'ta': 'Transaction Advisory',
'ra': 'Risk Advisory'
};
// console.log(segmentNameMap, 'segmentNameMap');
// Build breadcrumbs from path segments
let currentPath = '';
pathSegments.forEach((segment, index) => {
currentPath += `/${segment}`;
const displayName = segmentNameMap[segment] || segment.replace(/-/g, ' ').replace(/\b\w/g, l => l.toUpperCase());
breadcrumbs.push({ breadcrumbs.push({ name: "Knowledge", url: "/knowledge" });
name: displayName, breadcrumbs.push({ name: "Blog", url: "/blog" });
url: currentPath, breadcrumbs.push({ name: postTitle, url: "", isLast: true });
isLast: index === pathSegments.length - 1
});
});
return breadcrumbs; return breadcrumbs;
}; }
// CLIENT SERVICING PAGES
if (pathname.includes("/client-servicings")) {
const segmentNameMap = {
"client-servicing": "Client Servicing",
"virtual-finance-office": "Virtual Finance Office",
"virtual-cfo": "Virtual CFO Services",
"virtual-fc": "Virtual FC Services",
"book-closures-audit": "Book Closure and Audit Support",
"apc": "Accounting, Payroll & Compliance",
"advisory-services": "Advisory Services",
"transaction-advisory": "Transaction Advisory",
"risk-advisory": "Risk Advisory",
"business-advisory": "Business Advisory",
"global-capability-centres": "GCC as a Service",
"digital-transformation": "Digital Transformation",
"empowering-finance-consultants": "Empowering Finance Consultants",
"bespoke-services": "Bespoke Services",
"cfo": "Virtual CFO Services",
"ba": "Business Advisory",
"ta": "Transaction Advisory",
"ra": "Risk Advisory",
};
let currentPath = "";
pathSegments.forEach((segment, index) => {
currentPath += `/${segment}`;
const displayName =
segmentNameMap[segment] ||
segment.replace(/-/g, " ").replace(/\b\w/g, (l) => l.toUpperCase());
breadcrumbs.push({
name: displayName,
url: currentPath,
isLast: index === pathSegments.length - 1,
});
});
const clientServicingBreadcrumbs = generateClientServicingBreadcrumbs(); return breadcrumbs;
}
console.log(clientServicingBreadcrumbs, 'clientServicingBreadcrumbs'); // Default fallback
return null;
};
const breadcrumbs = generateBreadcrumbs();
return ( return (
<Swiper <Swiper
spaceBetween={30} spaceBetween={30}
pagination={{
clickable: true,
}}
breakpoints={{
0: {
slidesPerView: 1,
},
768: {
slidesPerView: 1,
},
1200: {
slidesPerView: 1,
},
}}
autoplay={{ autoplay={{
delay: 5000, delay: 5000,
disableOnInteraction: true, disableOnInteraction: true,
...@@ -102,7 +87,6 @@ const PageBanner = ({ banners = [] }) => { ...@@ -102,7 +87,6 @@ const PageBanner = ({ banners = [] }) => {
className="page-banner-swiper" className="page-banner-swiper"
> >
{banners.map((banner, index) => ( {banners.map((banner, index) => (
<SwiperSlide key={index}> <SwiperSlide key={index}>
<div className="page-title-area"> <div className="page-title-area">
<div className="image-wrapper"> <div className="image-wrapper">
...@@ -110,7 +94,7 @@ const PageBanner = ({ banners = [] }) => { ...@@ -110,7 +94,7 @@ const PageBanner = ({ banners = [] }) => {
src={banner.imageSrc} src={banner.imageSrc}
alt={banner.pageTitle} alt={banner.pageTitle}
fill fill
style={{ objectFit: "fill" }} // Replace objectFit prop style={{ objectFit: "fill" }}
priority priority
className="img-fluid postion-absolute" className="img-fluid postion-absolute"
/> />
...@@ -119,24 +103,22 @@ const PageBanner = ({ banners = [] }) => { ...@@ -119,24 +103,22 @@ const PageBanner = ({ banners = [] }) => {
<div className="page-title-content"> <div className="page-title-content">
<h2>{banner.pageTitle}</h2> <h2>{banner.pageTitle}</h2>
<ul> <ul>
{clientServicingBreadcrumbs ? ( {breadcrumbs ? (
// Custom breadcrumbs for client servicing pages breadcrumbs.map((breadcrumb, i) => (
clientServicingBreadcrumbs.map((breadcrumb, breadcrumbIndex) => ( <li key={i}>
<li key={breadcrumbIndex}> {breadcrumb.isLast || !breadcrumb.url ? (
{breadcrumb.isLast ? (
breadcrumb.name breadcrumb.name
) : ( ) : (
<> <Link href={breadcrumb.url}>{breadcrumb.name}</Link>
<Link href={breadcrumb.url}>{breadcrumb.name}</Link>
</>
)} )}
</li> </li>
)) ))
) : ( ) : (
// Default breadcrumbs for other pages
<> <>
<li> <li>
<Link href={banner.homePageUrl}>{banner.homePageText}</Link> <Link href={banner.homePageUrl}>
{banner.homePageText}
</Link>
</li> </li>
<li>{banner.activePageText}</li> <li>{banner.activePageText}</li>
</> </>
......
...@@ -45,7 +45,7 @@ const Careers = ({ CareerPage }) => { ...@@ -45,7 +45,7 @@ const Careers = ({ CareerPage }) => {
day. Start your journey with us by browsing available jobs. day. Start your journey with us by browsing available jobs.
</p> </p>
<Link <Link
href="https://advithconsulting.zohorecruit.in/careers" href="https://advith.zohorecruit.in/careers"
target="_blank" target="_blank"
> >
<button className="default-btn mt-4"> <button className="default-btn mt-4">
......
...@@ -17,8 +17,8 @@ const details = ({ blog ,conversionData }) => { ...@@ -17,8 +17,8 @@ const details = ({ blog ,conversionData }) => {
{ {
imageSrc: "/images/banner/knowledge.webp", imageSrc: "/images/banner/knowledge.webp",
pageTitle: "Blogs", pageTitle: "Blogs",
homePageUrl: "/", homePageUrl: "/blog",
homePageText: "Home", homePageText: "Blogs",
activePageText: blog[0]?.Title || "Default Title", activePageText: blog[0]?.Title || "Default Title",
}, },
]; ];
...@@ -75,13 +75,13 @@ const details = ({ blog ,conversionData }) => { ...@@ -75,13 +75,13 @@ const details = ({ blog ,conversionData }) => {
</div> </div>
<div className="article-footer"> {/* <div className="article-footer">
<div className="article-tags"> <div className="article-tags">
<Link href="/blog">Consulting</Link> <Link href="/blog">Consulting</Link>
<Link href="/blog">Business</Link> <Link href="/blog">Business</Link>
<Link href="/blog">Market</Link> <Link href="/blog">Market</Link>
</div> </div>
</div> </div> */}
</div> </div>
</div> </div>
......
...@@ -39,8 +39,8 @@ const blogs = ({Blogpage, conversionData }) => { ...@@ -39,8 +39,8 @@ const blogs = ({Blogpage, conversionData }) => {
{ {
imageSrc: cleanImage(Blogpage?.Banner?.Image?.url), imageSrc: cleanImage(Blogpage?.Banner?.Image?.url),
pageTitle: Blogpage?.Banner?.Heading, pageTitle: Blogpage?.Banner?.Heading,
homePageUrl: "/", homePageUrl: "/knowledge",
homePageText: "Home", homePageText: "Knowledge",
activePageText: "Blogs", activePageText: "Blogs",
}, },
]; ];
......
...@@ -24,8 +24,8 @@ const ClientServicingPage = ({ AdvisoryPage, conversionData }) => { ...@@ -24,8 +24,8 @@ const ClientServicingPage = ({ AdvisoryPage, conversionData }) => {
{ {
imageSrc: cleanImage(AdvisoryPage?.Banner?.Image?.url), imageSrc: cleanImage(AdvisoryPage?.Banner?.Image?.url),
pageTitle: AdvisoryPage?.Banner?.Heading, pageTitle: AdvisoryPage?.Banner?.Heading,
homePageUrl: "/", homePageUrl: "/client-servicing",
homePageText: "Home", homePageText: "Client Servicing",
activePageText: AdvisoryPage?.Banner?.Heading, activePageText: AdvisoryPage?.Banner?.Heading,
Description: AdvisoryPage?.Banner?.Description, Description: AdvisoryPage?.Banner?.Description,
}, },
......
...@@ -16,8 +16,8 @@ const banners = [ ...@@ -16,8 +16,8 @@ const banners = [
{ {
imageSrc: "/images/banner/business_advisory.webp ", imageSrc: "/images/banner/business_advisory.webp ",
pageTitle: "Business Advisory ", pageTitle: "Business Advisory ",
homePageUrl: "/client-servicing", homePageUrl: "/client-servicing/advisory-services",
homePageText: "Client Servicing", homePageText: "Advisory Services",
activePageText: "Business Advisory ", activePageText: "Business Advisory ",
}, },
// Add more banners as needed // Add more banners as needed
......
...@@ -27,8 +27,8 @@ const Bespoke = ({ Empoweringpage, conversionData }) => { ...@@ -27,8 +27,8 @@ const Bespoke = ({ Empoweringpage, conversionData }) => {
{ {
imageSrc: cleanImage(Empoweringpage?.Banner?.Image?.url), imageSrc: cleanImage(Empoweringpage?.Banner?.Image?.url),
pageTitle: Empoweringpage?.Banner?.Heading, pageTitle: Empoweringpage?.Banner?.Heading,
homePageUrl: "/", homePageUrl: "/client-servicing",
homePageText: "Home", homePageText: "Client Servicing",
activePageText: Empoweringpage?.Banner?.Heading, activePageText: Empoweringpage?.Banner?.Heading,
Description: Empoweringpage?.Banner?.Description, Description: Empoweringpage?.Banner?.Description,
}, },
......
...@@ -27,8 +27,8 @@ const DigitalTransformation = ({ Digitalpage, conversionData }) => { ...@@ -27,8 +27,8 @@ const DigitalTransformation = ({ Digitalpage, conversionData }) => {
{ {
imageSrc: cleanImage(Digitalpage?.Banner?.Image?.url), imageSrc: cleanImage(Digitalpage?.Banner?.Image?.url),
pageTitle: Digitalpage?.Banner?.Heading, pageTitle: Digitalpage?.Banner?.Heading,
homePageUrl: "/", homePageUrl: "/client-servicing",
homePageText: "Home", homePageText: "Client Servicing",
activePageText: Digitalpage?.Banner?.Heading, activePageText: Digitalpage?.Banner?.Heading,
Description: Digitalpage?.Banner?.Description, Description: Digitalpage?.Banner?.Description,
}, },
......
...@@ -29,8 +29,8 @@ const EmpoweringFinanceConsultants = ({ Empoweringpage, conversionData }) => { ...@@ -29,8 +29,8 @@ const EmpoweringFinanceConsultants = ({ Empoweringpage, conversionData }) => {
{ {
imageSrc: cleanImage(Empoweringpage?.Banner?.Image?.url), imageSrc: cleanImage(Empoweringpage?.Banner?.Image?.url),
pageTitle: Empoweringpage?.Banner?.Heading, pageTitle: Empoweringpage?.Banner?.Heading,
homePageUrl: "/", homePageUrl: "/client-servicing",
homePageText: "Home", homePageText: "Client Servicing",
activePageText: Empoweringpage?.Banner?.Heading, activePageText: Empoweringpage?.Banner?.Heading,
Description: Empoweringpage?.Banner?.Description, Description: Empoweringpage?.Banner?.Description,
}, },
......
...@@ -24,8 +24,8 @@ const clientservicecfo = ({ gccpage, conversionData }) => { ...@@ -24,8 +24,8 @@ const clientservicecfo = ({ gccpage, conversionData }) => {
{ {
imageSrc: cleanImage(gccpage?.Banner?.Image?.url), imageSrc: cleanImage(gccpage?.Banner?.Image?.url),
pageTitle: gccpage?.Banner?.Heading, pageTitle: gccpage?.Banner?.Heading,
homePageUrl: "/", homePageUrl: "/client-servicing",
homePageText: "Home", homePageText: "Client Servicing",
activePageText: "GCC as a Service", activePageText: "GCC as a Service",
Description: gccpage?.Banner?.Description, Description: gccpage?.Banner?.Description,
}, },
......
...@@ -18,8 +18,8 @@ const banners = [ ...@@ -18,8 +18,8 @@ const banners = [
{ {
imageSrc: "/images/banner/risk_advisory.webp", imageSrc: "/images/banner/risk_advisory.webp",
pageTitle: " Risk Advisory", pageTitle: " Risk Advisory",
homePageUrl: "/client-servicing", homePageUrl: "/client-servicing/advisory-services",
homePageText: "Client Servicing", homePageText: "Advisory Services",
activePageText: "Risk Advisory", activePageText: "Risk Advisory",
}, },
// Add more banners as needed // Add more banners as needed
......
...@@ -32,8 +32,8 @@ const TaPage = ({ tapage, conversionData }) => { ...@@ -32,8 +32,8 @@ const TaPage = ({ tapage, conversionData }) => {
{ {
imageSrc: cleanImage(tapage?.Banner?.Image?.url), imageSrc: cleanImage(tapage?.Banner?.Image?.url),
pageTitle: tapage?.Banner?.Heading, pageTitle: tapage?.Banner?.Heading,
homePageUrl: "/", homePageUrl: "/client-servicing/advisory-services",
homePageText: "Home", homePageText: "Advisory Services",
activePageText: tapage?.Banner?.Heading, activePageText: tapage?.Banner?.Heading,
}, },
// Add more banners as needed // Add more banners as needed
......
...@@ -26,8 +26,8 @@ const clientserviceapc = ({ apcpage, conversionData }) => { ...@@ -26,8 +26,8 @@ const clientserviceapc = ({ apcpage, conversionData }) => {
{ {
imageSrc: cleanImage(apcpage?.Banner?.Image?.url), imageSrc: cleanImage(apcpage?.Banner?.Image?.url),
pageTitle: apcpage?.Banner?.Heading, pageTitle: apcpage?.Banner?.Heading,
homePageUrl: "/", homePageUrl: "/client-servicing/virtual-finance-office",
homePageText: "Home", homePageText: "Virtual Finance Office",
activePageText: apcpage?.Banner?.Heading, activePageText: apcpage?.Banner?.Heading,
}, },
]; ];
......
...@@ -21,8 +21,8 @@ const bookclosures = ({ bookclosurepage, conversionData }) => { ...@@ -21,8 +21,8 @@ const bookclosures = ({ bookclosurepage, conversionData }) => {
{ {
imageSrc: cleanImage(bookclosurepage?.Banner?.Image?.url), imageSrc: cleanImage(bookclosurepage?.Banner?.Image?.url),
pageTitle: bookclosurepage?.Banner?.Heading, pageTitle: bookclosurepage?.Banner?.Heading,
homePageUrl: "/", homePageUrl: "/client-servicing/virtual-finance-office",
homePageText: "Home", homePageText: "Virtual Finance Office",
activePageText: bookclosurepage?.Banner?.Heading, activePageText: bookclosurepage?.Banner?.Heading,
}, },
]; ];
......
...@@ -25,8 +25,8 @@ const VirtualFinanceOfficePage = ({ ClientPage, conversionData, title }) => { ...@@ -25,8 +25,8 @@ const VirtualFinanceOfficePage = ({ ClientPage, conversionData, title }) => {
{ {
imageSrc: cleanImage(ClientPage?.Banner?.Image?.url), imageSrc: cleanImage(ClientPage?.Banner?.Image?.url),
pageTitle: ClientPage?.Banner?.Heading, pageTitle: ClientPage?.Banner?.Heading,
homePageUrl: "/", homePageUrl: "/client-servicing",
homePageText: "Home", homePageText: "Client Servicing",
activePageText: ClientPage?.Banner?.Heading, activePageText: ClientPage?.Banner?.Heading,
Description:ClientPage?.Banner?.Description, Description:ClientPage?.Banner?.Description,
}, },
......
...@@ -23,8 +23,8 @@ const clientservicecfo = ({ cfopage, conversionData }) => { ...@@ -23,8 +23,8 @@ const clientservicecfo = ({ cfopage, conversionData }) => {
{ {
imageSrc: cleanImage(cfopage?.Banner?.Image?.url), imageSrc: cleanImage(cfopage?.Banner?.Image?.url),
pageTitle: cfopage?.Banner?.Heading, pageTitle: cfopage?.Banner?.Heading,
homePageUrl: "/", homePageUrl: "/client-servicing/virtual-finance-office",
homePageText: "Home", homePageText: "Virtual Finance Office",
activePageText: cfopage?.Banner?.Heading, activePageText: cfopage?.Banner?.Heading,
}, },
......
...@@ -25,8 +25,8 @@ const clientservicefc = ({ fcpage, conversionData }) => { ...@@ -25,8 +25,8 @@ const clientservicefc = ({ fcpage, conversionData }) => {
{ {
imageSrc: cleanImage(fcpage?.Banner?.Image?.url), imageSrc: cleanImage(fcpage?.Banner?.Image?.url),
pageTitle: fcpage?.Banner?.Heading, pageTitle: fcpage?.Banner?.Heading,
homePageUrl: "/", homePageUrl: "/client-servicing/virtual-finance-office",
homePageText: "Home", homePageText: "Virtual Finance Office",
activePageText: fcpage?.Banner?.Heading, activePageText: fcpage?.Banner?.Heading,
}, },
]; ];
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!