Commit 802601f8 by gaurav

changes

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