Commit cd22005a by gaurav

changes

1 parent 01fa0314
import Heading from '@/components/reuseables/Heading' import Heading from '@/components/reuseables/Heading'
import { cleanImage } from '@/layout/imageHandling'
import Image from 'next/image' import Image from 'next/image'
import React from 'react' import React from 'react'
import { Col, Container, Row } from 'react-bootstrap' import { Col, Container, Row } from 'react-bootstrap'
const HowWeDoIt = () => { const HowWeDoIt = ({ data, heading }) => {
const data = [ console.log(data, 'datadata');
{
subTitle: "Step 1", // const data = [
title: "Step 1 Discovery", // {
desc: "Assess the business model, industry context, and internal processes", // subTitle: "Step 1",
image: "/images/client-service/cfo.webp", // title: "Step 1 Discovery",
}, // desc: "Assess the business model, industry context, and internal processes",
{ // image: "/images/client-service/cfo.webp",
subTitle: "Step 2", // },
title: "Step 1 Discovery", // {
desc: "Assess the business model, industry context, and internal processes", // subTitle: "Step 2",
image: "/images/client-service/Client_Servicing-CFO.webp", // title: "Step 1 Discovery",
}, // desc: "Assess the business model, industry context, and internal processes",
{ // image: "/images/client-service/Client_Servicing-CFO.webp",
subTitle: "Step 1", // },
title: "Step 1 Discovery", // {
desc: "Assess the business model, industry context, and internal processes", // subTitle: "Step 1",
image: "/images/client-service/cfo.webp", // title: "Step 1 Discovery",
}, // desc: "Assess the business model, industry context, and internal processes",
{ // image: "/images/client-service/cfo.webp",
subTitle: "Step 1", // },
title: "Step 1 Discovery", // {
desc: "Assess the business model, industry context, and internal processes", // subTitle: "Step 1",
image: "/images/client-service/cfo.webp", // title: "Step 1 Discovery",
}, // desc: "Assess the business model, industry context, and internal processes",
{ // image: "/images/client-service/cfo.webp",
subTitle: "Step 1", // },
title: "Step 1 Discovery", // {
desc: "Assess the business model, industry context, and internal processes", // subTitle: "Step 1",
image: "/images/client-service/cfo.webp", // title: "Step 1 Discovery",
}, // desc: "Assess the business model, industry context, and internal processes",
{ // image: "/images/client-service/cfo.webp",
subTitle: "Step 1", // },
title: "Step 1 Discovery", // {
desc: "Assess the business model, industry context, and internal processes Assess the business model, industry context, and internal processes Assess the business model, industry context, and internal processes", // subTitle: "Step 1",
image: "/images/client-service/cfo.webp", // title: "Step 1 Discovery",
}, // desc: "Assess the business model, industry context, and internal processes Assess the business model, industry context, and internal processes Assess the business model, industry context, and internal processes",
] // image: "/images/client-service/cfo.webp",
// },
// ]
return ( return (
<section className="HowWeDoIt-section ptb-100"> <section className="HowWeDoIt-section ptb-100">
<Container> <Container>
<div className="section-title"> <div className="section-title">
<span className="sub-title">{""}</span> <span className="sub-title">{""}</span>
<Heading el="h2" heading={"How we do it?"} /> <Heading el="h2" heading={heading?.Title} />
</div> </div>
<p className=" text-center text-black mb-4 mb-lg-5">{"Here are some key activities we focus on in our CFO services."}</p> <p className=" text-center text-black mb-4 mb-lg-5">{heading?.Description}</p>
<Row className='row-gap-4 h-auto justify-content-center'> <Row className='row-gap-4 h-auto justify-content-center'>
{ {
data && data.map((item, index) => ( data?.carddetails && data?.carddetails.map((item, index) => (
<Col className='' lg={4} md={6} key={index}> <Col className='' lg={4} md={6} key={index}>
<div className='HowWeDoIt_card h-100'> <div className='HowWeDoIt_card h-100'>
<h2>{item?.subTitle}</h2> <h2>{item?.Title}</h2>
<Image <Image
aria-hidden="true" aria-hidden="true"
alt={"image"} alt={"image"}
src={item?.image} src={cleanImage(item?.Image?.url)}
width={1000} width={1000}
height={1000} height={1000}
className="img-fluid" className="img-fluid"
/> />
<div className='HowWeDoIt_card_content'> <div className='HowWeDoIt_card_content'>
<h4>{item?.title}</h4> <h4>{item?.Title}</h4>
<p>{item?.desc}</p> <div dangerouslySetInnerHTML={{ __html: item?.Description }}></div>
</div> </div>
</div> </div>
</Col> </Col>
......
...@@ -15,50 +15,39 @@ import { Col, Row } from "react-bootstrap"; ...@@ -15,50 +15,39 @@ import { Col, Row } from "react-bootstrap";
import { slideFromLeft } from "@/components/reuseables/variants"; import { slideFromLeft } from "@/components/reuseables/variants";
const DigitalFaq = ({ }) => { const DigitalFaq = ({ data, heading }) => {
return ( return (
<> <>
<div className="faq-area digital_transformation_faq"> <div className="faq-area digital_transformation_faq ptb-50">
<div className="container"> <div className="container">
<div className="section-title"> <div className="section-title">
{/* <span className="sub-title">{heading.Subtitle}</span> */} {/* <span className="sub-title">{heading.Subtitle}</span> */}
<Heading el="h2" heading={"We Offer"} /> <Heading el="h2" heading={heading} />
</div> </div>
<div className="faq-accordion"> <div className="faq-accordion">
<Accordion allowZeroExpanded preExpanded={'0'}> <Accordion allowZeroExpanded preExpanded={'0'}>
{data?.WeOfferList && data?.WeOfferList.map((item, index) => (
<AccordionItem uuid="b"> <AccordionItem uuid={item?.id} key={index}>
<AccordionItemHeading> <AccordionItemHeading>
<AccordionItemButton> <AccordionItemButton>
ITeC App {item?.Title}
</AccordionItemButton> </AccordionItemButton>
</AccordionItemHeading> </AccordionItemHeading>
<AccordionItemPanel> <AccordionItemPanel>
<p> <p>
Our proprietary ITeCApp bridges technology and expert finance support, transforming how individuals and businesses manage tax and compliance. Built for both B2B and B2C segments, the app simplifies complex financial tasks keeping users ahead of the curve. {item?.Description}
</p> </p>
<div className="btn-1"> {item?.Button?.text &&
<Link href={"#"} className="default-btn-three"> <div className="btn-1 mb-4">
Click here <Link href={item?.Button?.URL || "#"} className="default-btn-three">
{item?.Button?.text || ""}
<i className="ri-arrow-right-line"></i> <i className="ri-arrow-right-line"></i>
</Link> </Link>
</div> </div>
</AccordionItemPanel> }
</AccordionItem>
<AccordionItem uuid="c">
<AccordionItemHeading>
<AccordionItemButton>
Digital Process Automation
</AccordionItemButton>
</AccordionItemHeading>
<AccordionItemPanel>
<p>
Digital Process Automation (DPA) at Advith focuses on transforming finance and operational workflows into structured, streamlined, and system-driven processes. By reducing manual interventions, standardizing tasks, and enhancing visibility, DPA becomes the backbone of scalable and compliant finance functions.
</p>
<Row className="align-items-center"> <Row className="align-items-center">
{item?.ProductList && item?.ProductList.map((productItem, idx) => (
<Col lg={6} md={6} sm={12} > <Col lg={6} md={6} sm={12} >
<motion.div <motion.div
variants={slideFromLeft(0.5)} variants={slideFromLeft(0.5)}
...@@ -70,63 +59,29 @@ const DigitalFaq = ({ }) => { ...@@ -70,63 +59,29 @@ const DigitalFaq = ({ }) => {
<div className="d-flex align-items-center"> <div className="d-flex align-items-center">
<h3> <h3>
Zoho Product Implementation {productItem?.Title}
</h3> </h3>
</div> </div>
<p>{"As a certified Zoho Finance Advanced Partner, we provide end-to-end implementation of Zoho products tailored to streamline finance, HR, compliance, and operational workflows. Solutions are mapped to business processes, ensuring seamless automation, integration, and scalability across functions."}</p> <p> {productItem?.Description}</p>
{
item?.Button?.text &&
<Link <Link
href={"#"} href={item?.Button?.URL || "#"}
// rel={
// service?.slug?.endsWith(".pdf")
// ? "noopener noreferrer"
// : undefined
// }
className="default-btn" className="default-btn"
> >
Read More {item?.Button?.text || ""}
<i className="ri-arrow-right-line"></i> <i className="ri-arrow-right-line"></i>
</Link> </Link>
}
</div> </div>
</motion.div> </motion.div>
</Col> </Col>
<Col lg={6} md={6} sm={12} > ))}
<motion.div
variants={slideFromLeft(0.5)}
initial={"hidden"}
whileInView={"show"}
viewport={{ once: false, amount: 0.4 }}
>
<div className="services-box-budget">
<div className="d-flex align-items-center">
<h3>
Zoho Product Implementation
</h3>
</div>
<p>{"As a certified Zoho Finance Advanced Partner, we provide end-to-end implementation of Zoho products tailored to streamline finance, HR, compliance, and operational workflows. Solutions are mapped to business processes, ensuring seamless automation, integration, and scalability across functions."}</p>
<Link
href={"#"}
// rel={
// service?.slug?.endsWith(".pdf")
// ? "noopener noreferrer"
// : undefined
// }
className="default-btn"
>
Read More
<i className="ri-arrow-right-line"></i>
</Link>
</div>
</motion.div>
</Col>
</Row> </Row>
</AccordionItemPanel> </AccordionItemPanel>
</AccordionItem> </AccordionItem>
))}
</Accordion> </Accordion>
</div> </div>
</div> </div>
......
import Heading from '@/components/reuseables/Heading'
import { cleanImage } from '@/layout/imageHandling'
import Image from 'next/image'
import React from 'react'
import { Container } from 'react-bootstrap'
const DigitalHowWeDoIt = (heading, data) => {
return (
<Container>
<div className="section-title">
{/* <span className="sub-title">{heading.Subtitle}</span> */}
<Heading el="h2" heading={heading?.heading} />
</div>
<Image src={cleanImage(data?.DesktopImg?.url)} alt={data?.DesktopImg?.alternativeText || "image"} width={1000} height={1000} className='img-fluid d-none d-md-block' />
<Image src={cleanImage(data?.MobileImg?.url)} alt={data?.MobileImg?.alternativeText || "image"} width={1000} height={1000} className='img-fluid d-block d-md-none' />
</Container>
)
}
export default DigitalHowWeDoIt
\ No newline at end of file \ No newline at end of file
...@@ -5,15 +5,17 @@ import { motion } from "framer-motion"; ...@@ -5,15 +5,17 @@ import { motion } from "framer-motion";
import Link from 'next/link'; import Link from 'next/link';
import Heading from '@/components/reuseables/Heading'; import Heading from '@/components/reuseables/Heading';
const WeOffer = () => { const WeOffer = (data) => {
return ( return (
<Container className='we_offer_section'> <Container className='we_offer_section'>
<div className="section-title"> <div className="section-title">
{/* <span className="sub-title">{heading.Subtitle}</span> */} {/* <span className="sub-title">{heading.Subtitle}</span> */}
<Heading el="h2" heading={"We Offer"} /> <Heading el="h2" heading={data?.heading?.Title} />
</div> </div>
<Row className="align-items-center"> <Row className="align-items-center">
<Col lg={4} md={6} sm={12} > {data?.data && data?.data.map((item, index) => (
<Col lg={4} md={6} sm={12} key={index}>
<motion.div <motion.div
variants={slideFromLeft(0.5)} variants={slideFromLeft(0.5)}
initial={"hidden"} initial={"hidden"}
...@@ -23,80 +25,14 @@ const WeOffer = () => { ...@@ -23,80 +25,14 @@ const WeOffer = () => {
<div className="services-box-budget"> <div className="services-box-budget">
<div className="d-flex align-items-center"> <div className="d-flex align-items-center">
<h3> <h3>
Domain Specialists {item?.Title}
</h3> </h3>
</div> </div>
<div dangerouslySetInnerHTML={{ __html: item?.Description }}></div>
<p>To execute end-to-end finance activities like bookkeeping, payroll management, compliances, reconciliation etc.</p>
{/*
<Link
href={"#"}
className="default-btn"
>
Read More
<i className="ri-arrow-right-line"></i>
</Link> */}
</div> </div>
</motion.div> </motion.div>
</Col> </Col>
<Col lg={4} md={6} sm={12} > ))}
<motion.div
variants={slideFromLeft(0.5)}
initial={"hidden"}
whileInView={"show"}
viewport={{ once: false, amount: 0.4 }}
>
<div className="services-box-budget">
<div className="d-flex align-items-center">
<h3>
Remote Process Executives
</h3>
</div>
<p>To manage simple to complex processes of administrative, secretarial, back-office, data entry, calls, mailbox etc.</p>
{/* <Link
href={"#"}
className="default-btn"
>
Read More
<i className="ri-arrow-right-line"></i>
</Link> */}
</div>
</motion.div>
</Col>
<Col lg={4} md={6} sm={12} >
<motion.div
variants={slideFromLeft(0.5)}
initial={"hidden"}
whileInView={"show"}
viewport={{ once: false, amount: 0.4 }}
>
<div className="services-box-budget">
<div className="d-flex align-items-center">
<h3>
Automated Tools
</h3>
</div>
<p>To ensure conducting efficient and digitalized delivery of finance, compliance, and operational processes.</p>
{/* <Link
href={"#"}
className="default-btn"
>
Read More
<i className="ri-arrow-right-line"></i>
</Link> */}
</div>
</motion.div>
</Col>
</Row> </Row>
</Container> </Container>
) )
......
import { cleanImage } from '@/layout/imageHandling'
import Image from 'next/image'
import React from 'react'
import { Col, Container, Row } from 'react-bootstrap'
const WhatWeDoWhatDontDo = () => {
const backgroundImageUrl = cleanImage(data?.Image?.url);
return (
<div className='' style={{
backgroundImage: `url(${backgroundImageUrl})`,
backgroundSize: 'cover',
backgroundPosition: 'center',
backgroundRepeat: 'no-repeat',
padding: '60px 0'
}}>
<Container>
<Row className="align-items-center">
{/* <Col lg={6} md={12}> */}
<div className="call-back-request-text">
<span className="sub-title">{subtitle}</span>
{/* <Heading el="h2" heading={title} className="h2" /> */}
<h2>{title}</h2>
{/* <p>{description}</p> */}
<div
className="content"
dangerouslySetInnerHTML={{ __html: content }}
/>
</div>
{/* </Col> */}
</Row>
</Container>
</div>
)
}
export default WhatWeDoWhatDontDo
\ No newline at end of file \ No newline at end of file
...@@ -17,6 +17,7 @@ import { useDispatch, useSelector } from "react-redux"; ...@@ -17,6 +17,7 @@ import { useDispatch, useSelector } from "react-redux";
import HomeBlog from "@/container/Home/HomeBlog"; import HomeBlog from "@/container/Home/HomeBlog";
import { fetchBlogList } from "@/redux/slices/bloglistslice"; import { fetchBlogList } from "@/redux/slices/bloglistslice";
import DigitalFaq from "@/container/ClientServicing/DigitalTransformation/DigitalFaq"; import DigitalFaq from "@/container/ClientServicing/DigitalTransformation/DigitalFaq";
import DigitalHowWeDoIt from "@/container/ClientServicing/DigitalTransformation/DigitalHowWeDoIt";
const DigitalTransformation = ({ Digitalpage, conversionData }) => { const DigitalTransformation = ({ Digitalpage, conversionData }) => {
const dispatch = useDispatch(); const dispatch = useDispatch();
...@@ -58,7 +59,7 @@ const DigitalTransformation = ({ Digitalpage, conversionData }) => { ...@@ -58,7 +59,7 @@ const DigitalTransformation = ({ Digitalpage, conversionData }) => {
<section className="cfo-page"> <section className="cfo-page">
{dynamicdata && {dynamicdata &&
dynamicdata?.map((section, index) => { dynamicdata?.map((section, index) => {
// console.log("section", section); console.log("HeadingHeading", section);
switch (section.__component) { switch (section.__component) {
case "dynamic-zone.about": case "dynamic-zone.about":
return ( return (
...@@ -80,6 +81,24 @@ const DigitalTransformation = ({ Digitalpage, conversionData }) => { ...@@ -80,6 +81,24 @@ const DigitalTransformation = ({ Digitalpage, conversionData }) => {
cta={section.CTA} cta={section.CTA}
/> />
); );
case "dynamic-zone.we-offer-sec":
return (
<>
<DigitalFaq
heading={section?.Heading}
data={section}
/>
</>
);
case "dynamic-zone.image":
return (
<>
<DigitalHowWeDoIt
heading={section?.Heading}
data={section}
/>
</>
);
case "dynamic-zone.element-one": case "dynamic-zone.element-one":
return ( return (
<MethodOne <MethodOne
...@@ -145,6 +164,10 @@ export async function getServerSideProps() { ...@@ -145,6 +164,10 @@ export async function getServerSideProps() {
"DigitalTransformationDetails.RuleList.details", "DigitalTransformationDetails.RuleList.details",
"DigitalTransformationDetails.DownloadBtn", "DigitalTransformationDetails.DownloadBtn",
"DigitalTransformationDetails.CTA", "DigitalTransformationDetails.CTA",
"DigitalTransformationDetails.WeOfferList.Button",
"DigitalTransformationDetails.WeOfferList.ProductList.Button",
"DigitalTransformationDetails.DesktopImg",
"DigitalTransformationDetails.MobileImg",
"Clientel.logos", "Clientel.logos",
"seo", "seo",
"seo.metaImage", "seo.metaImage",
......
...@@ -17,6 +17,8 @@ import { useDispatch, useSelector } from "react-redux"; ...@@ -17,6 +17,8 @@ import { useDispatch, useSelector } from "react-redux";
import HomeBlog from "@/container/Home/HomeBlog"; import HomeBlog from "@/container/Home/HomeBlog";
import { fetchBlogList } from "@/redux/slices/bloglistslice"; import { fetchBlogList } from "@/redux/slices/bloglistslice";
import WeOffer from "@/container/ClientServicing/EmpoweringFinanceConsultants/WeOffer"; import WeOffer from "@/container/ClientServicing/EmpoweringFinanceConsultants/WeOffer";
import DigitalHowWeDoIt from "@/container/ClientServicing/DigitalTransformation/DigitalHowWeDoIt";
import WhatWeDoWhatDontDo from "@/container/ClientServicing/EmpoweringFinanceConsultants/WhatWeDoWhatDontDo";
const EmpoweringFinanceConsultants = ({ Empoweringpage, conversionData }) => { const EmpoweringFinanceConsultants = ({ Empoweringpage, conversionData }) => {
const dispatch = useDispatch(); const dispatch = useDispatch();
...@@ -32,7 +34,7 @@ const EmpoweringFinanceConsultants = ({ Empoweringpage, conversionData }) => { ...@@ -32,7 +34,7 @@ const EmpoweringFinanceConsultants = ({ Empoweringpage, conversionData }) => {
]; ];
const dynamicdata = Empoweringpage?.EmpoweringFinanceDetails; const dynamicdata = Empoweringpage?.EmpoweringFinanceDetails;
// console.log("dynamicdata", dynamicdata); console.log("dynamicdata", dynamicdata);
const clientlogo = Empoweringpage?.Clientel; const clientlogo = Empoweringpage?.Clientel;
...@@ -52,12 +54,11 @@ const EmpoweringFinanceConsultants = ({ Empoweringpage, conversionData }) => { ...@@ -52,12 +54,11 @@ const EmpoweringFinanceConsultants = ({ Empoweringpage, conversionData }) => {
<Seo seo={seo} /> <Seo seo={seo} />
<ConversionCode code={code} /> <ConversionCode code={code} />
<PageBanner banners={banners} /> <PageBanner banners={banners} />
<WeOffer />
<div className="cfo-services-area ptb-100"> <div className="cfo-services-area ptb-100">
<section className="cfo-page"> <section className="cfo-page">
{dynamicdata && {dynamicdata &&
dynamicdata?.map((section, index) => { dynamicdata?.map((section, index) => {
// console.log("section", section); // console.log("sectionemp", section);
switch (section.__component) { switch (section.__component) {
case "dynamic-zone.about": case "dynamic-zone.about":
return ( return (
...@@ -77,6 +78,29 @@ const EmpoweringFinanceConsultants = ({ Empoweringpage, conversionData }) => { ...@@ -77,6 +78,29 @@ const EmpoweringFinanceConsultants = ({ Empoweringpage, conversionData }) => {
content={section?.Content} content={section?.Content}
/> />
); );
case "dynamic-zone.card":
return (
<WeOffer
heading={section?.Heading}
data={section?.carddetails}
/>
);
case "dynamic-zone.image":
return (
<>
<DigitalHowWeDoIt
heading={section?.Heading}
data={section}
/>
</>
);
case "dynamic-zone.background":
return (
<WhatWeDoWhatDontDo
heading={section?.Title}
data={section?.Content}
/>
);
case "dynamic-zone.element-one": case "dynamic-zone.element-one":
return ( return (
<MethodOne <MethodOne
...@@ -131,6 +155,9 @@ export async function getServerSideProps() { ...@@ -131,6 +155,9 @@ export async function getServerSideProps() {
"EmpoweringFinanceDetails.DownloadBtn", "EmpoweringFinanceDetails.DownloadBtn",
"EmpoweringFinanceDetails.CTA", "EmpoweringFinanceDetails.CTA",
"EmpoweringFinanceDetails.ElementList.StepImg", "EmpoweringFinanceDetails.ElementList.StepImg",
"EmpoweringFinanceDetails.carddetails",
"EmpoweringFinanceDetails.DesktopImg",
"EmpoweringFinanceDetails.MobileImg",
"Clientel.logos", "Clientel.logos",
"FAQ.FAQList", "FAQ.FAQList",
"seo", "seo",
......
...@@ -47,7 +47,7 @@ const clientservicecfo = ({ cfopage, conversionData }) => { ...@@ -47,7 +47,7 @@ const clientservicecfo = ({ cfopage, conversionData }) => {
<section className="cfo-page"> <section className="cfo-page">
{dynamicdata && {dynamicdata &&
dynamicdata?.map((section, index) => { dynamicdata?.map((section, index) => {
console.log("section", section); console.log("sectionwwww", section);
switch (section.__component) { switch (section.__component) {
case "dynamic-zone.about": case "dynamic-zone.about":
return ( return (
...@@ -74,8 +74,13 @@ const clientservicecfo = ({ cfopage, conversionData }) => { ...@@ -74,8 +74,13 @@ const clientservicecfo = ({ cfopage, conversionData }) => {
heading={section?.Heading} heading={section?.Heading}
data={section?.ElementList} data={section?.ElementList}
/> />
</>
);
case "dynamic-zone.card":
return (
<>
<HowWeDoIt heading={section?.Heading} <HowWeDoIt heading={section?.Heading}
data={section?.ElementList} /> data={section} />
</> </>
); );
case "dynamic-zone.element-two": case "dynamic-zone.element-two":
...@@ -130,10 +135,8 @@ export async function getServerSideProps() { ...@@ -130,10 +135,8 @@ export async function getServerSideProps() {
"CfoDeatils", "CfoDeatils",
"CfoDeatils.Image", "CfoDeatils.Image",
"CfoDeatils.Heading", "CfoDeatils.Heading",
"CfoDeatils.ElementList.StepImg", "CfoDeatils.ElementList.StepImg",
"CfoDeatils.carddetails", "CfoDeatils.carddetails.Image",
"CfoDeatils.card",
"Clientel.logos", "Clientel.logos",
"seo", "seo",
"seo.metaImage", "seo.metaImage",
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!