|
|
|
|
|
|
|
|
import React, { useEffect } from 'react'; |
|
|
import React, { useEffect } from 'react'; |
|
|
import Animation_Diligent from '../assets/animation_diligent.webm'; |
|
|
import Animation_Diligent from '../assets/animation_diligent.webm'; |
|
|
import Wrapper from '../layout/Wrapper'; |
|
|
import Wrapper from '../layout/Wrapper'; |
|
|
|
|
|
import CaseStudySvg from '../assets/graphics/CaseStudySVG.svg'; |
|
|
|
|
|
|
|
|
import PageLayout from '../layout/PageLayout'; |
|
|
import PageLayout from '../layout/PageLayout'; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const [{ data, isLoading, isError }, doFetch] = useFetchCollections(strapi); |
|
|
const [{ data, isLoading, isError }, doFetch] = useFetchCollections(strapi); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
useEffect(() => { |
|
|
if (data && data[0].attributes) document.title = `Case Study: ${data[0].attributes.SlugHeading}`; |
|
|
|
|
|
|
|
|
if (data && data[0].attributes) |
|
|
|
|
|
document.title = `Case Study: ${data[0].attributes.SlugHeading}`; |
|
|
}, [data]); |
|
|
}, [data]); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
useAnalytics(helperString); |
|
|
useAnalytics(helperString); |
|
|
|
|
|
|
|
|
if (isLoading) { |
|
|
if (isLoading) { |
|
|
|
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</section> |
|
|
</section> |
|
|
|
|
|
|
|
|
|
|
|
{/* About the Client Section */} |
|
|
|
|
|
|
|
|
|
|
|
<section |
|
|
|
|
|
id="client" |
|
|
|
|
|
className="flex flex-col items-center justify-center mt-4" |
|
|
|
|
|
> |
|
|
|
|
|
<div className="my-8 flex flex-col md:flex-row justify-center items-start w-full max-w-custom m-auto px-8 xl:px-0"> |
|
|
|
|
|
{data[0].attributes.AboutClient && ( |
|
|
|
|
|
<div className="w-full md:w-1/2"> |
|
|
|
|
|
<h3 className="h3-heading text-teal-600"> |
|
|
|
|
|
{data[0].attributes.AboutClient.title} |
|
|
|
|
|
</h3> |
|
|
|
|
|
{data[0].attributes.AboutClient.paragraph && |
|
|
|
|
|
data[0].attributes.AboutClient.paragraph.length > 0 && |
|
|
|
|
|
data[0].attributes.AboutClient.paragraph.map((item, index) => ( |
|
|
|
|
|
<p key={index} className="paragraph mt-4"> |
|
|
|
|
|
{item.ParagraphElement} |
|
|
|
|
|
</p> |
|
|
|
|
|
))} |
|
|
|
|
|
</div> |
|
|
|
|
|
)} |
|
|
|
|
|
<div className="w-full md:w-1/2 grid grid-cols-2 md:grid-cols-3 gap-16 mt-8 md:mt-0"> |
|
|
|
|
|
<div className="hidden md:inline-block"></div> |
|
|
|
|
|
{data[0].attributes.Country && ( |
|
|
|
|
|
<div className="float-left md:float-right text-left md:text-right"> |
|
|
|
|
|
<h4 className="text-teal-600 font-semibold"> |
|
|
|
|
|
{data[0].attributes.Country.title} |
|
|
|
|
|
</h4> |
|
|
|
|
|
<p className="mt-4">{data[0].attributes.Country.info}</p> |
|
|
|
|
|
</div> |
|
|
|
|
|
)} |
|
|
|
|
|
{data[0].attributes.Industry && ( |
|
|
|
|
|
<div className="float-left md:float-right text-left md:text-right"> |
|
|
|
|
|
<h4 className="text-teal-600 font-semibold"> |
|
|
|
|
|
{data[0].attributes.Industry.title} |
|
|
|
|
|
</h4> |
|
|
|
|
|
<p className="mt-4">{data[0].attributes.Industry.info}</p> |
|
|
|
|
|
</div> |
|
|
|
|
|
)} |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
|
|
|
</section> |
|
|
|
|
|
|
|
|
|
|
|
{/* Domain Section */} |
|
|
|
|
|
{/* {data[0].attributes.Domain && ( |
|
|
|
|
|
<section id="domain" className="flex flex-col items-center justify-center"> |
|
|
|
|
|
<div className="my-4 flex flex-col justify-center items-center w-full max-w-custom m-auto px-8 xl:px-0"> |
|
|
|
|
|
<div className="w-full"> |
|
|
|
|
|
<h3 className="h3-heading">{data[0].attributes.Domain.title}</h3> |
|
|
|
|
|
{data[0].attributes.Domain.paragraph && |
|
|
|
|
|
data[0].attributes.Domain.paragraph.length > 0 && |
|
|
|
|
|
data[0].attributes.Domain.paragraph.map((item, index) => ( |
|
|
|
|
|
<p key={index} className="paragraph mt-4"> |
|
|
|
|
|
{item.ParagraphElement} |
|
|
|
|
|
</p> |
|
|
|
|
|
))} |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
|
|
|
</section> |
|
|
|
|
|
)} */} |
|
|
|
|
|
|
|
|
|
|
|
{/* Stats */} |
|
|
<Wrapper padding={' py-90p'}> |
|
|
<Wrapper padding={' py-90p'}> |
|
|
{data[0].attributes.Stat && ( |
|
|
{data[0].attributes.Stat && ( |
|
|
<motion.section |
|
|
<motion.section |
|
|
|
|
|
|
|
|
> |
|
|
> |
|
|
{data[0].attributes.Stat.map((item, i) => ( |
|
|
{data[0].attributes.Stat.map((item, i) => ( |
|
|
<div key={i} className="flex flex-col"> |
|
|
<div key={i} className="flex flex-col"> |
|
|
<h2 className="display-number text-center">{item.value}+</h2> |
|
|
|
|
|
|
|
|
<h2 className="display-number text-center">{item.value}</h2> |
|
|
<h3 className="number-title text-center">{item.title}</h3> |
|
|
<h3 className="number-title text-center">{item.title}</h3> |
|
|
</div> |
|
|
</div> |
|
|
))} |
|
|
))} |
|
|
|
|
|
|
|
|
)} |
|
|
)} |
|
|
</Wrapper> |
|
|
</Wrapper> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{/* Domain Section */} |
|
|
|
|
|
{data[0].attributes.Domain && ( |
|
|
|
|
|
<section |
|
|
|
|
|
id="domain" |
|
|
|
|
|
className="flex flex-col items-center justify-center" |
|
|
|
|
|
> |
|
|
|
|
|
<div className="my-4 flex flex-col justify-center items-center w-full max-w-custom m-auto px-8 xl:px-0"> |
|
|
|
|
|
<div className="w-full"> |
|
|
|
|
|
<h3 className="h3-heading">{data[0].attributes.Domain.title}</h3> |
|
|
|
|
|
{data[0].attributes.Domain.paragraph && |
|
|
|
|
|
data[0].attributes.Domain.paragraph.length > 0 && |
|
|
|
|
|
data[0].attributes.Domain.paragraph.map((item, index) => ( |
|
|
|
|
|
<p key={index} className="paragraph mt-4"> |
|
|
|
|
|
{item.ParagraphElement} |
|
|
|
|
|
</p> |
|
|
|
|
|
))} |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
|
|
|
</section> |
|
|
|
|
|
)} |
|
|
|
|
|
|
|
|
|
|
|
{/* Challanges, Solution Section */} |
|
|
{/* Challanges, Solution Section */} |
|
|
<section |
|
|
|
|
|
|
|
|
{/* <section |
|
|
id="challanges_solution" |
|
|
id="challanges_solution" |
|
|
className="flex flex-col items-center justify-center mt-8" |
|
|
className="flex flex-col items-center justify-center mt-8" |
|
|
> |
|
|
> |
|
|
|
|
|
|
|
|
/> |
|
|
/> |
|
|
)} |
|
|
)} |
|
|
</div> |
|
|
</div> |
|
|
</section> |
|
|
|
|
|
|
|
|
</section> */} |
|
|
|
|
|
|
|
|
{/* Results Section */} |
|
|
{/* Results Section */} |
|
|
{data[0].attributes.Results && ( |
|
|
{data[0].attributes.Results && ( |
|
|
<section |
|
|
|
|
|
id="results" |
|
|
|
|
|
className="flex flex-col items-center justify-center" |
|
|
|
|
|
> |
|
|
|
|
|
|
|
|
<section id="results" className="flex flex-col items-center justify-center"> |
|
|
<div className="my-8 flex flex-col justify-center items-center w-full max-w-custom m-auto px-8 xl:px-0"> |
|
|
<div className="my-8 flex flex-col justify-center items-center w-full max-w-custom m-auto px-8 xl:px-0"> |
|
|
<div className="w-full"> |
|
|
<div className="w-full"> |
|
|
<h3 className="h3-heading text-dg-secondary"> |
|
|
<h3 className="h3-heading text-dg-secondary"> |
|
|
|
|
|
|
|
|
</section> |
|
|
</section> |
|
|
)} |
|
|
)} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{/* Technologies Section */} |
|
|
{/* Technologies Section */} |
|
|
{data[0].attributes.Techonologies && ( |
|
|
|
|
|
|
|
|
{/* {data[0].attributes.Techonologies && ( |
|
|
<section id="technologies" className="flex flex-col justify-center mt-16"> |
|
|
<section id="technologies" className="flex flex-col justify-center mt-16"> |
|
|
<div className="my-4 flex flex-col w-full max-w-custom m-auto px-8 xl:px-0"> |
|
|
<div className="my-4 flex flex-col w-full max-w-custom m-auto px-8 xl:px-0"> |
|
|
<div className="w-full"> |
|
|
<div className="w-full"> |
|
|
|
|
|
|
|
|
)} |
|
|
)} |
|
|
</div> |
|
|
</div> |
|
|
</section> |
|
|
</section> |
|
|
)} |
|
|
|
|
|
|
|
|
)} */} |
|
|
|
|
|
|
|
|
{/* About the Client Section */} |
|
|
|
|
|
|
|
|
|
|
|
<section id="client" className="flex flex-col items-center justify-center mt-4"> |
|
|
|
|
|
<div className="my-8 flex flex-col md:flex-row justify-center items-start w-full max-w-custom m-auto px-8 xl:px-0"> |
|
|
|
|
|
{data[0].attributes.AboutClient && ( |
|
|
|
|
|
<div className="w-full md:w-1/2"> |
|
|
|
|
|
<h3 className="h3-heading text-teal-600"> |
|
|
|
|
|
{data[0].attributes.AboutClient.title} |
|
|
|
|
|
</h3> |
|
|
|
|
|
{data[0].attributes.AboutClient.paragraph && |
|
|
|
|
|
data[0].attributes.AboutClient.paragraph.length > 0 && |
|
|
|
|
|
data[0].attributes.AboutClient.paragraph.map((item, index) => ( |
|
|
|
|
|
<p key={index} className="paragraph mt-4"> |
|
|
|
|
|
{item.ParagraphElement} |
|
|
|
|
|
</p> |
|
|
|
|
|
))} |
|
|
|
|
|
</div> |
|
|
|
|
|
)} |
|
|
|
|
|
<div className="w-full md:w-1/2 grid grid-cols-2 md:grid-cols-3 gap-16 mt-8 md:mt-0"> |
|
|
|
|
|
<div className="hidden md:inline-block"></div> |
|
|
|
|
|
{data[0].attributes.Country && ( |
|
|
|
|
|
<div className="float-left md:float-right text-left md:text-right"> |
|
|
|
|
|
<h4 className="text-teal-600 font-semibold"> |
|
|
|
|
|
{data[0].attributes.Country.title} |
|
|
|
|
|
</h4> |
|
|
|
|
|
<p className="mt-4">{data[0].attributes.Country.info}</p> |
|
|
|
|
|
</div> |
|
|
|
|
|
)} |
|
|
|
|
|
{data[0].attributes.Industry && ( |
|
|
|
|
|
<div className="float-left md:float-right text-left md:text-right"> |
|
|
|
|
|
<h4 className="text-teal-600 font-semibold"> |
|
|
|
|
|
{data[0].attributes.Industry.title} |
|
|
|
|
|
</h4> |
|
|
|
|
|
<p className="mt-4">{data[0].attributes.Industry.info}</p> |
|
|
|
|
|
</div> |
|
|
|
|
|
)} |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
|
|
|
</section> |
|
|
|
|
|
|
|
|
<div className="absolute bottom-0"> |
|
|
|
|
|
<img src='' /> |
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
{/* CTA Section */} |
|
|
{/* CTA Section */} |
|
|
{data[0].attributes.WorkTogether && ( |
|
|
{data[0].attributes.WorkTogether && ( |