Commit f174945f by sujata

change in breadcumb

1 parent f1e111cf
......@@ -3,96 +3,81 @@ import Link from "next/link";
import Image from "next/image";
import { useRouter } from "next/router";
import { Swiper, SwiperSlide } from "swiper/react";
import { Pagination, Autoplay } from "swiper/modules";
import { Autoplay } from "swiper/modules";
import { Container } from "react-bootstrap";
const PageBanner = ({ banners = [] }) => {
const router = useRouter();
console.log(banners, 'bannes');
// Function to generate breadcrumbs for client servicing pages
const generateClientServicingBreadcrumbs = () => {
// Function to generate breadcrumbs
const generateBreadcrumbs = () => {
const pathname = router.asPath;
// Only apply custom breadcrumbing for client-servicing pages
if (!pathname.includes('/client-servicings')) {
return null;
}
const pathSegments = pathname.split('/').filter(segment => segment);
const pathSegments = pathname.split("/").filter((segment) => segment);
const breadcrumbs = [];
// Create breadcrumb mapping for better display names
const segmentNameMap = {
'client-servicing': 'Client Servicing',
// Virtual Finance Office section
'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 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());
// BLOG DETAILS PAGE
if (pathname.startsWith("/blog/")) {
const postSlug = pathSegments[1] || "";
const postTitle = postSlug
.replace(/-/g, " ")
.replace(/\b\w/g, (l) => l.toUpperCase());
breadcrumbs.push({
name: displayName,
url: currentPath,
isLast: index === pathSegments.length - 1
});
});
breadcrumbs.push({ name: "Knowledge", url: "/knowledge" });
breadcrumbs.push({ name: "Blog", url: "/blog" });
breadcrumbs.push({ name: postTitle, url: "", isLast: true });
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 (
<Swiper
spaceBetween={30}
pagination={{
clickable: true,
}}
breakpoints={{
0: {
slidesPerView: 1,
},
768: {
slidesPerView: 1,
},
1200: {
slidesPerView: 1,
},
}}
autoplay={{
delay: 5000,
disableOnInteraction: true,
......@@ -102,7 +87,6 @@ const PageBanner = ({ banners = [] }) => {
className="page-banner-swiper"
>
{banners.map((banner, index) => (
<SwiperSlide key={index}>
<div className="page-title-area">
<div className="image-wrapper">
......@@ -110,7 +94,7 @@ const PageBanner = ({ banners = [] }) => {
src={banner.imageSrc}
alt={banner.pageTitle}
fill
style={{ objectFit: "fill" }} // Replace objectFit prop
style={{ objectFit: "fill" }}
priority
className="img-fluid postion-absolute"
/>
......@@ -119,24 +103,22 @@ const PageBanner = ({ banners = [] }) => {
<div className="page-title-content">
<h2>{banner.pageTitle}</h2>
<ul>
{clientServicingBreadcrumbs ? (
// Custom breadcrumbs for client servicing pages
clientServicingBreadcrumbs.map((breadcrumb, breadcrumbIndex) => (
<li key={breadcrumbIndex}>
{breadcrumb.isLast ? (
{breadcrumbs ? (
breadcrumbs.map((breadcrumb, i) => (
<li key={i}>
{breadcrumb.isLast || !breadcrumb.url ? (
breadcrumb.name
) : (
<>
<Link href={breadcrumb.url}>{breadcrumb.name}</Link>
</>
<Link href={breadcrumb.url}>{breadcrumb.name}</Link>
)}
</li>
))
) : (
// Default breadcrumbs for other pages
<>
<li>
<Link href={banner.homePageUrl}>{banner.homePageText}</Link>
<Link href={banner.homePageUrl}>
{banner.homePageText}
</Link>
</li>
<li>{banner.activePageText}</li>
</>
......
......@@ -45,7 +45,7 @@ const Careers = ({ CareerPage }) => {
day. Start your journey with us by browsing available jobs.
</p>
<Link
href="https://advithconsulting.zohorecruit.in/careers"
href="https://advith.zohorecruit.in/careers"
target="_blank"
>
<button className="default-btn mt-4">
......
......@@ -17,8 +17,8 @@ const details = ({ blog ,conversionData }) => {
{
imageSrc: "/images/banner/knowledge.webp",
pageTitle: "Blogs",
homePageUrl: "/",
homePageText: "Home",
homePageUrl: "/blog",
homePageText: "Blogs",
activePageText: blog[0]?.Title || "Default Title",
},
];
......@@ -75,13 +75,13 @@ const details = ({ blog ,conversionData }) => {
</div>
<div className="article-footer">
{/* <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>
......
......@@ -39,8 +39,8 @@ const blogs = ({Blogpage, conversionData }) => {
{
imageSrc: cleanImage(Blogpage?.Banner?.Image?.url),
pageTitle: Blogpage?.Banner?.Heading,
homePageUrl: "/",
homePageText: "Home",
homePageUrl: "/knowledge",
homePageText: "Knowledge",
activePageText: "Blogs",
},
];
......
......@@ -24,8 +24,8 @@ const ClientServicingPage = ({ AdvisoryPage, conversionData }) => {
{
imageSrc: cleanImage(AdvisoryPage?.Banner?.Image?.url),
pageTitle: AdvisoryPage?.Banner?.Heading,
homePageUrl: "/",
homePageText: "Home",
homePageUrl: "/client-servicing",
homePageText: "Client Servicing",
activePageText: AdvisoryPage?.Banner?.Heading,
Description: AdvisoryPage?.Banner?.Description,
},
......
......@@ -16,8 +16,8 @@ const banners = [
{
imageSrc: "/images/banner/business_advisory.webp ",
pageTitle: "Business Advisory ",
homePageUrl: "/client-servicing",
homePageText: "Client Servicing",
homePageUrl: "/client-servicing/advisory-services",
homePageText: "Advisory Services",
activePageText: "Business Advisory ",
},
// Add more banners as needed
......
......@@ -27,8 +27,8 @@ const Bespoke = ({ Empoweringpage, conversionData }) => {
{
imageSrc: cleanImage(Empoweringpage?.Banner?.Image?.url),
pageTitle: Empoweringpage?.Banner?.Heading,
homePageUrl: "/",
homePageText: "Home",
homePageUrl: "/client-servicing",
homePageText: "Client Servicing",
activePageText: Empoweringpage?.Banner?.Heading,
Description: Empoweringpage?.Banner?.Description,
},
......
......@@ -27,8 +27,8 @@ const DigitalTransformation = ({ Digitalpage, conversionData }) => {
{
imageSrc: cleanImage(Digitalpage?.Banner?.Image?.url),
pageTitle: Digitalpage?.Banner?.Heading,
homePageUrl: "/",
homePageText: "Home",
homePageUrl: "/client-servicing",
homePageText: "Client Servicing",
activePageText: Digitalpage?.Banner?.Heading,
Description: Digitalpage?.Banner?.Description,
},
......
......@@ -29,8 +29,8 @@ const EmpoweringFinanceConsultants = ({ Empoweringpage, conversionData }) => {
{
imageSrc: cleanImage(Empoweringpage?.Banner?.Image?.url),
pageTitle: Empoweringpage?.Banner?.Heading,
homePageUrl: "/",
homePageText: "Home",
homePageUrl: "/client-servicing",
homePageText: "Client Servicing",
activePageText: Empoweringpage?.Banner?.Heading,
Description: Empoweringpage?.Banner?.Description,
},
......
......@@ -24,8 +24,8 @@ const clientservicecfo = ({ gccpage, conversionData }) => {
{
imageSrc: cleanImage(gccpage?.Banner?.Image?.url),
pageTitle: gccpage?.Banner?.Heading,
homePageUrl: "/",
homePageText: "Home",
homePageUrl: "/client-servicing",
homePageText: "Client Servicing",
activePageText: "GCC as a Service",
Description: gccpage?.Banner?.Description,
},
......
......@@ -18,8 +18,8 @@ const banners = [
{
imageSrc: "/images/banner/risk_advisory.webp",
pageTitle: " Risk Advisory",
homePageUrl: "/client-servicing",
homePageText: "Client Servicing",
homePageUrl: "/client-servicing/advisory-services",
homePageText: "Advisory Services",
activePageText: "Risk Advisory",
},
// Add more banners as needed
......
......@@ -32,8 +32,8 @@ const TaPage = ({ tapage, conversionData }) => {
{
imageSrc: cleanImage(tapage?.Banner?.Image?.url),
pageTitle: tapage?.Banner?.Heading,
homePageUrl: "/",
homePageText: "Home",
homePageUrl: "/client-servicing/advisory-services",
homePageText: "Advisory Services",
activePageText: tapage?.Banner?.Heading,
},
// Add more banners as needed
......
......@@ -26,8 +26,8 @@ const clientserviceapc = ({ apcpage, conversionData }) => {
{
imageSrc: cleanImage(apcpage?.Banner?.Image?.url),
pageTitle: apcpage?.Banner?.Heading,
homePageUrl: "/",
homePageText: "Home",
homePageUrl: "/client-servicing/virtual-finance-office",
homePageText: "Virtual Finance Office",
activePageText: apcpage?.Banner?.Heading,
},
];
......
......@@ -21,8 +21,8 @@ const bookclosures = ({ bookclosurepage, conversionData }) => {
{
imageSrc: cleanImage(bookclosurepage?.Banner?.Image?.url),
pageTitle: bookclosurepage?.Banner?.Heading,
homePageUrl: "/",
homePageText: "Home",
homePageUrl: "/client-servicing/virtual-finance-office",
homePageText: "Virtual Finance Office",
activePageText: bookclosurepage?.Banner?.Heading,
},
];
......
......@@ -25,8 +25,8 @@ const VirtualFinanceOfficePage = ({ ClientPage, conversionData, title }) => {
{
imageSrc: cleanImage(ClientPage?.Banner?.Image?.url),
pageTitle: ClientPage?.Banner?.Heading,
homePageUrl: "/",
homePageText: "Home",
homePageUrl: "/client-servicing",
homePageText: "Client Servicing",
activePageText: ClientPage?.Banner?.Heading,
Description:ClientPage?.Banner?.Description,
},
......
......@@ -23,8 +23,8 @@ const clientservicecfo = ({ cfopage, conversionData }) => {
{
imageSrc: cleanImage(cfopage?.Banner?.Image?.url),
pageTitle: cfopage?.Banner?.Heading,
homePageUrl: "/",
homePageText: "Home",
homePageUrl: "/client-servicing/virtual-finance-office",
homePageText: "Virtual Finance Office",
activePageText: cfopage?.Banner?.Heading,
},
......
......@@ -25,8 +25,8 @@ const clientservicefc = ({ fcpage, conversionData }) => {
{
imageSrc: cleanImage(fcpage?.Banner?.Image?.url),
pageTitle: fcpage?.Banner?.Heading,
homePageUrl: "/",
homePageText: "Home",
homePageUrl: "/client-servicing/virtual-finance-office",
homePageText: "Virtual Finance Office",
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!