Commit 802601f8 by gaurav

changes

1 parent 50079041
......@@ -3,34 +3,34 @@ import Link from "next/link";
import React from "react";
import { Col, Container, Row } from "react-bootstrap";
const CTABanner = ({cta}) => {
console.log(cta,"details")
const CTABanner = ({ cta }) => {
console.log(cta, "details")
return (
<>
<div className="free-quote-area ptb-50">
<div className="free-quote-inner">
<section className="section-title-download d-flex">
<Container>
<Row>
<Col md={8}>
<div className="download-content">
<span className="sub-title">{cta?.Subtitle}</span>
<h2>{cta?.Title}</h2>
<p>
{cta?.Description}
</p>
</div>
</Col>
<Col md={4} className="align-content-center text-center">
<div className="btn-1">
<Link href={cta?.CTA?.URL} className="default-btn-three">
{cta?.CTA?.text}
<i className="ri-arrow-right-line"></i>
</Link>
</div>
</Col>
</Row>
</Container>
<section className="section-title-download">
{/* <Container> */}
<Row className="justify-content-between">
<Col lg={9} md={8}>
<div className="download-content">
<span className="sub-title">{cta?.Subtitle}</span>
<h2>{cta?.Title}</h2>
<p>
{cta?.Description}
</p>
</div>
</Col>
<Col lg={3} md={4} className="align-content-center text-md-end">
<div className="btn-1">
<Link href={cta?.CTA?.URL} className="default-btn-three">
{cta?.CTA?.text}
<i className="ri-arrow-right-line"></i>
</Link>
</div>
</Col>
</Row>
{/* </Container> */}
</section>
<div className="shape6">
......
......@@ -119,7 +119,7 @@ const CallBackRequest = () => {
viewport={{ once: false, amount: 0.4 }}
>
<Image
src="/images/contact-us.png"
src="/images/contact-us.png"
layout="fill"
className="img-fluid image"
alt="image"
......@@ -172,22 +172,22 @@ const CallBackRequest = () => {
<div className="form-group">
<label>Your Email</label>
<Form.Group>
<Form.Control
required
type="text"
className="form-control"
{...register("Email", {
required: "Enter Your Email",
pattern: {
value:
/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i,
message: "Invalid email address",
},
})}
/>
{errors.Email && (
<span className="error">{errors.Email.message}</span>
)}
<Form.Control
required
type="text"
className="form-control"
{...register("Email", {
required: "Enter Your Email",
pattern: {
value:
/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i,
message: "Invalid email address",
},
})}
/>
{errors.Email && (
<span className="error">{errors.Email.message}</span>
)}
</Form.Group>
</div>
</Col>
......@@ -196,11 +196,11 @@ const CallBackRequest = () => {
<div className="form-group">
<label>Phone Number</label>
<Form.Group>
<Form.Control
required
type="text"
className="form-control"
onInput={(e) => {
<Form.Control
required
type="text"
className="form-control"
onInput={(e) => {
e.target.value = e.target.value.replace(/[^0-9]/g, '');
}}
{...register("Mobile", {
......@@ -208,13 +208,13 @@ const CallBackRequest = () => {
maxLength: {
value: /^[6-9]\d{9}$/,
message: "Invalid Mobile number",
              },
})}
/>
{errors.Mobile && (
<span className="error">{errors.Mobile.message}</span>
)}
</Form.Group>
},
})}
/>
{errors.Mobile && (
<span className="error">{errors.Mobile.message}</span>
)}
</Form.Group>
</div>
</Col>
......
......@@ -3,6 +3,7 @@ import Image from "next/image";
import { cleanImage } from "@/layout/imageHandling";
const Clientele = ({ partners = [], itemClassName = "single-partner-item" }) => {
return (
<div className="partner-area py-4 overflow-hidden">
<div className="container">
......@@ -37,7 +38,7 @@ const Clientele = ({ partners = [], itemClassName = "single-partner-item" }) =>
.marquee-track {
display: flex;
width: max-content;
animation: scroll-left 60s linear infinite;
animation: scroll-left 100s linear infinite;
}
@keyframes scroll-left {
......
......@@ -3,34 +3,34 @@ import Link from "next/link";
import React from "react";
import { Col, Container, Row } from "react-bootstrap";
const DownloadBtn = ({subtitle,title,description,cta}) => {
console.log(cta,"details")
const DownloadBtn = ({ subtitle, title, description, cta }) => {
console.log(cta, "details")
return (
<>
<div className="free-quote-area ptb-70">
<div className="free-quote-inner">
<section className="section-title-download d-flex">
<Container>
<Row>
<Col md={8}>
<div className="download-content">
<span className="sub-title">{subtitle}</span>
<h2>{title}</h2>
<p>
{description}
</p>
</div>
</Col>
<Col md={4} className="align-content-center text-center">
<div className="btn-1">
<Link href={cta.URL} className="default-btn-three">
<section className="section-title-download ">
{/* <Container> */}
<Row className="justify-content-between">
<Col lg={9} md={8}>
<div className="download-content">
<span className="sub-title">{subtitle}</span>
<h2>{title}</h2>
<p>
{description}
</p>
</div>
</Col>
<Col lg={3} md={4} className="align-content-center text-md-end">
<div className="btn-1">
<Link href={cta.URL} className="default-btn-three">
{cta.text}
<i className="ri-arrow-right-line"></i>
</Link>
</div>
</Col>
</Row>
</Container>
<i className="ri-arrow-right-line"></i>
</Link>
</div>
</Col>
</Row>
{/* </Container> */}
</section>
<div className="shape6">
......
......@@ -72,93 +72,96 @@ const Industries = ({ industry }) => {
return (
<>
<div className="free-quote-area bg-color position-relative">
<Swiper
spaceBetween={30}
pagination={{ clickable: true }}
breakpoints={{
0: {
slidesPerView: 1,
},
576: {
slidesPerView: 1,
},
768: {
slidesPerView: 1,
},
992: {
slidesPerView: 1,
},
}}
autoplay={{
delay: 5000,
disableOnInteraction: true,
pauseOnMouseEnter: true,
}}
navigation={{
nextEl: ".custom-swiper-button-next",
prevEl: ".custom-swiper-button-prev",
}}
loop={true}
modules={[Navigation, Autoplay]}
className="industry-slides position-relative"
>
{industry?.Industry &&
industry?.Industry.map((industry, index) => (
<SwiperSlide className="single-partner-item" key={index}>
<Container>
<Row className="align-items-center">
<Col lg={6} md={12}>
<div className="free-quote-content">
<span className="sub-title">{industry?.Subtitle}</span>
<Heading
el="h2"
heading={industry.Title}
className="industry-title"
/>
<p>{industry?.Description}</p>
{industry?.CTA &&
industry?.CTA?.map((itemcta, index) => {
return (
<Link
href={itemcta?.URL ? itemcta?.URL : "#"}
className="default-btn-one"
key={`cta${index}`}
>
{itemcta?.text}
</Link>
);
})}
</div>
</Col>
<Container>
<Swiper
spaceBetween={30}
pagination={{ clickable: true }}
breakpoints={{
0: {
slidesPerView: 1,
},
576: {
slidesPerView: 1,
},
768: {
slidesPerView: 1,
},
992: {
slidesPerView: 1,
},
}}
autoplay={{
delay: 5000,
disableOnInteraction: true,
pauseOnMouseEnter: true,
}}
navigation={{
nextEl: ".custom-swiper-button-next",
prevEl: ".custom-swiper-button-prev",
}}
loop={true}
modules={[Navigation, Autoplay]}
className="industry-slides position-relative"
>
{industry?.Industry &&
industry?.Industry.map((industry, index) => (
<SwiperSlide className="single-partner-item" key={index}>
<Container>
<Row className="align-items-center">
<Col lg={6} md={12}>
<div className="free-quote-content">
<span className="sub-title">{industry?.Subtitle}</span>
<Heading
el="h2"
heading={industry.Title}
className="industry-title"
/>
<p>{industry?.Description}</p>
{industry?.CTA &&
industry?.CTA?.map((itemcta, index) => {
return (
<Link
href={itemcta?.URL ? itemcta?.URL : "#"}
className="default-btn-one"
key={`cta${index}`}
>
{itemcta?.text}
</Link>
);
})}
</div>
</Col>
<Col lg={6} md={12}>
<Image
src={cleanImage(industry?.Image?.url)}
alt={
industry?.alternativeText
? industry?.alternativeText
: "image"
}
width={1920}
height={1080}
className="img-fluid rounded-5 image"
/>
</Col>
</Row>
</Container>
<Col lg={6} md={12}>
<Image
src={cleanImage(industry?.Image?.url)}
alt={
industry?.alternativeText
? industry?.alternativeText
: "image"
}
width={1920}
height={1080}
className="img-fluid rounded-5 image"
/>
</Col>
</Row>
</Container>
<div className="shape3">
<Image
src="/images/shape/shape8.png"
alt="shape"
width={500}
height={500}
className="img-fluid image"
/>
</div>
</SwiperSlide>
))}
</Swiper>
<div className="shape3">
<Image
src="/images/shape/shape8.png"
alt="shape"
width={500}
height={500}
className="img-fluid image"
/>
</div>
</SwiperSlide>
))}
</Swiper>
</Container>
<div className="cust_nav industry_nav swiper-nav text-center mt-md-4 mt-2">
<SwiperNav />
</div>
......
......@@ -17,7 +17,7 @@ const PageBanner = ({ banners = [] }) => {
const pathname = router.asPath;
// Only apply custom breadcrumbing for client-servicing pages
if (!pathname.includes('/client-servicing')) {
if (!pathname.includes('/client-servicings')) {
return null;
}
......@@ -26,7 +26,7 @@ const PageBanner = ({ banners = [] }) => {
// Create breadcrumb mapping for better display names
const segmentNameMap = {
'client-servicing': 'Home > Client Servicing',
'client-servicing': 'Client Servicing',
// Virtual Finance Office section
'virtual-finance-office': 'Virtual Finance Office',
'virtual-cfo': 'Virtual CFO Services',
......@@ -72,6 +72,10 @@ const PageBanner = ({ banners = [] }) => {
const clientServicingBreadcrumbs = generateClientServicingBreadcrumbs();
console.log(clientServicingBreadcrumbs, 'clientServicingBreadcrumbs');
return (
<Swiper
spaceBetween={30}
......
......@@ -38,12 +38,13 @@ const MethodTwoSection = ({
<Heading el="h2" heading={heading.Title} />
</div>
<Row className="align-items-center justify-content-center align-self-center">
<Swiper
<Swiper className="services-slides"
spaceBetween={spaceBetween}
slidesPerView={slidesPerView}
breakpoints={breakpoints}
pagination={showPagination ? { clickable: true } : false}
autoplay={showAutoplay ? { delay: autoplayDelay } : false}
pagination={showPagination ? { clickable: true } : undefined}
autoplay={showAutoplay ? { delay: autoplayDelay } : undefined}
modules={[Pagination, Autoplay]}
>
{data.map((card, index) => (
<SwiperSlide key={index}>
......@@ -60,7 +61,7 @@ const MethodTwoSection = ({
<div className="image-container mb-2">
<Image
aria-hidden="true"
alt={card?.StepImg?.alternativeText ? card?.StepImg?.alternativeText : "image"}
alt={card?.StepImg?.alternativeText || "image"}
src={cleanImage(card?.StepImg?.url)}
layout="fill"
className="img-fluid image"
......@@ -76,7 +77,7 @@ const MethodTwoSection = ({
<div className="image-container mt-lg-5 mt-xl-0 mt-3 ">
<Image
aria-hidden="true"
alt={card?.StepImg?.alternativeText ? card?.StepImg?.alternativeText : "image"}
alt={card?.StepImg?.alternativeText || "image"}
src={cleanImage(card?.StepImg?.url)}
layout="fill"
className="img-fluid image"
......@@ -90,6 +91,7 @@ const MethodTwoSection = ({
</SwiperSlide>
))}
</Swiper>
</Row>
</Container>
</section>
......
......@@ -20,7 +20,7 @@ const HowWeDoIt = ({ data, heading, classname }) => {
<Row className="row-gap-4 justify-content-center">
{data?.carddetails &&
data?.carddetails.map((item, index) => (
<Col xxl={4} lg={6} md={6} key={index}>
<Col xxl={4} lg={4} md={6} key={index}>
<div className="HowWeDoIt_card ">
<h2>{item?.Title}</h2>
{/* <Image
......
import Heading from "@/components/reuseables/Heading";
import { cleanImage } from "@/layout/imageHandling";
import React from "react";
import { Col, Container, Row } from "react-bootstrap";
const HowWeDoItRiskAdvisory = ({ data, heading, classname }) => {
// console.log(data, "datadata");
return (
<section className={`HowWeDoIt-section ptb-100 ${classname || ""}`}>
<Container>
<div className="section-title">
<span className="sub-title">{heading?.Subtitle}</span>
<Heading el="h2" heading={heading?.Title} />
</div>
<div
className=" text-center text-black mb-4 mb-lg-5"
dangerouslySetInnerHTML={{ __html: heading?.Description }}
></div>
<Row className="row-gap-4 justify-content-center">
{data?.carddetails &&
data?.carddetails.map((item, index) => (
<Col xxl={4} lg={4} md={6} key={index}>
<div className="HowWeDoIt_card ">
<h2>{item?.Title}</h2>
<img
src={cleanImage(item?.Image?.url)}
alt={item?.Title || "Image"}
style={{
width: "100%",
height: "100%",
objectFit: "cover",
display: "block",
}}
/>
<div className="HowWeDoIt_card_content">
<h4>{item?.Title}</h4>
<div
dangerouslySetInnerHTML={{ __html: item?.Description }}
></div>
</div>
</div>
</Col>
))}
</Row>
</Container>
</section>
);
};
export default HowWeDoItRiskAdvisory;
......@@ -37,7 +37,7 @@ const PartnerSlider = ({ Clientel = [] }) => {
.marquee-track {
width: max-content;
animation: scroll-left 60s linear infinite;
animation: scroll-left 100s linear infinite;
}
@keyframes scroll-left {
......
......@@ -65,16 +65,16 @@ const AdvisoryBoard = ({ advisoryboard }) => {
className="advisory-title"
/>
<div className="testimonial-content">
<div className="d-flex gap-2">
<p className="sub-title">{member.Designation}</p>
<a style={{ cursor: 'pointer' }}
href={member?.Linkdin}
target="_blank"
rel="noopener noreferrer"
>
<i className="ri-linkedin-fill"></i>
</a>
</div>
{/* <div className="d-flex gap-2"> */}
<p className="sub-title mb-0">{member.Designation}</p>
{/* </div> */}
<a className="" style={{ cursor: 'pointer' }}
href={member?.Linkdin}
target="_blank"
rel="noopener noreferrer"
>
<i className="ri-linkedin-fill"></i>
</a>
<div dangerouslySetInnerHTML={{ __html: member.Description }} />
</div>
</Col>
......@@ -88,8 +88,9 @@ const AdvisoryBoard = ({ advisoryboard }) => {
className="advisory-title"
/>
<div className="testimonial-content">
<div className="d-flex gap-2">
<p className="sub-title">{member.Designation}</p>
{/* <div className="d-flex gap-2"> */}
<p className="sub-title mb-0">{member.Designation}</p>
{/* </div> */}
<a style={{ cursor: 'pointer' }}
href={member?.Linkdin}
target="_blank"
......@@ -97,7 +98,6 @@ const AdvisoryBoard = ({ advisoryboard }) => {
>
<i className="ri-linkedin-fill"></i>
</a>
</div>
<div dangerouslySetInnerHTML={{ __html: member.Description }} />
</div>
......
......@@ -12,6 +12,7 @@ import RightSideImage from "@/container/Corpedia/RightSideImage";
import ConversionCode from "@/components/reuseables/ConversionCode/ConversionCode";
import HowWeDoIt from "@/container/ClientServicing/CFO/HowWeDoIt";
import CallBackRequest from "@/components/reuseables/CallBackRequest";
import HowWeDoItRiskAdvisory from "@/container/ClientServicing/RiskAdvisory/HowWeDoItRiskAdvisory";
const banners = [
{
......@@ -82,8 +83,12 @@ const RaPage = ({ rapage, conversionData }) => {
);
case "dynamic-zone.card":
return (
<HowWeDoIt heading={section?.Heading}
data={section} classname="risk_advisory_howitwork" />
<>
<HowWeDoItRiskAdvisory heading={section?.Heading}
data={section} classname="risk_advisory_howitwork" />
{/* <HowWeDoIt heading={section?.Heading}
data={section} classname="risk_advisory_howitwork" /> */}
</>
);
default:
return null;
......
......@@ -74,10 +74,12 @@ const clientservicefc = ({ fcpage, conversionData }) => {
);
case "dynamic-zone.element-one":
return (
<MethodOne
heading={section?.Heading}
data={section?.ElementList}
/>
<>
<MethodOne
heading={section?.Heading}
data={section?.ElementList}
/>
</>
);
case "dynamic-zone.element-two":
return (
......
......@@ -8881,7 +8881,7 @@ ul.pagination.custom-pagination {
}
.download-content h2 {
font-size: 3vh;
font-size: 2vw;
color: #fff;
}
......@@ -9140,7 +9140,7 @@ ul.pagination.custom-pagination {
}
.business_advisory_howitwork .HowWeDoIt_card {
height: 400px;
height: 240px;
}
.weoffer_section .HowWeDoIt_card {
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!