Skip to content

Commit c847e3b

Browse files
authored
Merge branch 'crescents-stack:main' into main
2 parents 69d2491 + c55a72b commit c847e3b

File tree

11 files changed

+125
-70
lines changed

11 files changed

+125
-70
lines changed

src/app/case-studies/_utils/clients-reviews.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,12 @@ const ClientsReviews = ({
99
testimonial = true,
1010
projectIdea = true,
1111
reviews = [],
12+
hideCTA = false
1213
}: {
1314
testimonial?: boolean;
1415
projectIdea?: boolean;
1516
reviews?: object[];
17+
hideCTA?: boolean;
1618
}) => {
1719
const [clientReviews, setClientReviews] = useState<object[]>(reviews);
1820
const fetchReviews = async () => {
@@ -31,7 +33,7 @@ const ClientsReviews = ({
3133
<>
3234
{testimonial ? (
3335
clientReviews?.length ? (
34-
<Testimonials data={clientReviews} />
36+
<Testimonials data={clientReviews} hideCTA={hideCTA}/>
3537
) : null
3638
) : null}
3739
{projectIdea ? <ProjectIdea /> : null}

src/app/case-studies/_utils/our-review.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,9 @@ const OurReview = ({
3838
</div>
3939
<div className="flex items-center justify-center min-[950px]:justify-end gap-4">
4040
<div className="space-y-1 order-2 min-[950px]:order-1">
41-
{/* <Link href="/"> */}
4241
<p className="hover:underline font-semibold text-lg md:text-xl text-left min-[950px]:text-right">
4342
{name}
4443
</p>
45-
{/* </Link> */}
4644
<p className="text-xs md:text-base text-white/60">{org}</p>
4745
</div>
4846
<Avatar className="order-1 min-[950px]:order-1">

src/app/landing/_utils/sections/about.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { FastForwardIcon, RocketIcon } from "lucide-react";
2+
import Image from "next/image";
23

34
const LandingAboutSection = () => {
45
return (
@@ -31,6 +32,7 @@ const LandingAboutSection = () => {
3132
create a personalized strategy that guarantees success.
3233
</p>
3334
</div>
35+
3436
</div>
3537
</div>
3638
);
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
"use client";
2+
3+
import SectionHead from "@/components/molecule/section-head";
4+
import { InlineWidget } from "react-calendly";
5+
6+
const LandingCalendlySection = () => {
7+
return (
8+
<div className="section" id="contact">
9+
<div className="container pb-[25px]">
10+
<SectionHead
11+
highlighter=""
12+
H2={<>Book Now To Discuss Your Project With Us</>}
13+
paragraphs={[]}
14+
/>
15+
</div>
16+
<InlineWidget url="https://calendly.com/thesociomatic/thesociomatic" />
17+
</div>
18+
);
19+
};
20+
21+
export default LandingCalendlySection;

src/app/landing/_utils/sections/cta.tsx

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,21 @@ import ShimmerButton from "@/components/magicui/shimmer-button";
22
import Link from "next/link";
33

44
const LandingCTASection = () => {
5-
return <div className="max-w-md px-4 mx-auto section space-y-4 text-center">
5+
return (
6+
<div className="container bg-gradient-to-br from-primary to-secondary text-white rounded-[20px] md:rounded-[60px]">
7+
<div className="max-w-md px-4 mx-auto py-16 space-y-6 text-center">
68
<h2>Let&apos;s Meet and Make Your Business Thrive!</h2>
7-
<p>This is a no-commitment, free strategy session where we&apos;ll discuss your business goals and challenges. <span>Limited slots available—book now to secure your spot!</span></p>
8-
<Link href="/#contact" className="inline-block">
9-
<ShimmerButton>Book Your Free Strategy Session Now!</ShimmerButton>
9+
<p>
10+
This is a no-commitment, free strategy session where we&apos;ll
11+
discuss your business goals and challenges.{" "}
12+
<span>Limited slots available—book now to secure your spot!</span>
13+
</p>
14+
<Link href="/landing/#contact" className="inline-block">
15+
<ShimmerButton>Book Your Free Strategy Session Now!</ShimmerButton>
1016
</Link>
11-
</div>;
17+
</div>
18+
</div>
19+
);
1220
};
1321

1422
export default LandingCTASection;

src/app/landing/_utils/sections/hero.tsx

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,32 @@ import Link from "next/link";
33

44
const LandingHeroSection = () => {
55
return (
6-
<div className="grid grid-cols-1 sm:grid-cols-2 gap-10 container section">
6+
<div className="grid grid-cols-1 sm:grid-cols-2 gap-10 container section items-center">
77
<div className="space-y-8">
88
<h1>
9-
Transform Your Business with <span className="text-secondary">Proven Success Strategies</span> in Dubai!
9+
Transform Your Business with{" "}
10+
<span className="text-secondary">Proven Success Strategies</span> in
11+
Dubai!
1012
</h1>
1113
<p>
1214
Meet Yeatiq, a trusted expert with 700+ successful projects and 500+
1315
glowing reviews, ready to help your business grow.
1416
</p>
15-
<Link href="/#contact" className="inline-block">
17+
<Link href="/landing/#contact" className="inline-block">
1618
<ShimmerButton>Book Your Free Strategy Session Now!</ShimmerButton>
1719
</Link>
1820
</div>
19-
<div className="p-6 bg-secondary rounded-lg">a</div>
21+
<div className="min-h-[300px] shadow-2xl z-10 relative rounded-2xl">
22+
<iframe
23+
className="w-full h-full min-h-[30vh] md:min-h-[60vh] lg:min-h-[40vh] rounded-2xl mx-auto border shadow-xl"
24+
src="https://www.youtube.com/embed/04pWB5aj-DE?si=KhMa8PqMC6WmL_K1"
25+
title="YouTube video player"
26+
frameBorder="0"
27+
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
28+
referrerPolicy="strict-origin-when-cross-origin"
29+
allowFullScreen
30+
></iframe>
31+
</div>
2032
</div>
2133
);
2234
};

src/app/landing/_utils/sections/proof.tsx

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
import { CheckCheckIcon, FastForwardIcon } from "lucide-react";
2+
import Image from "next/image";
23

34
const LandingProofSection = () => {
45
return (
5-
<div className="container section grid grid-cols-1 md:grid-cols-2 gap-10">
6-
<div className="p-6 bg-white rounded-xl flex flex-col items-start justify-center gap-4">
7-
<div className="flex items-center justify-center w-12 h-12 rounded-lg bg-secondary/10 text-secondary">
8-
<FastForwardIcon className="w-6 h-6" />
9-
</div>
10-
<p className="text-md md:text-lg">
11-
My mission is simple: to listen, understand your challenges
12-
</p>
13-
</div>
6+
<div className="container section grid grid-cols-1 md:grid-cols-2 gap-10 items-center">
7+
<Image
8+
src="https://utfs.io/f/TLm9XcQ0Drp9Mwu8Tm1dzq50nhPkDJ2fyaXpVUIusTKrltEW"
9+
alt="proof"
10+
width={1000}
11+
height={1000}
12+
className="rounded-2xl"
13+
/>
1414
<div className="space-y-4">
1515
<p className="inline-block px-4 py-1 rounded-xl border">
1616
Proven Results You Can Trust
@@ -34,13 +34,13 @@ const LandingProofSection = () => {
3434
<p>Highlight case studies with concise bullet points</p>
3535
<ul className="space-y-2">
3636
<li className="flex items-center gap-2">
37-
<CheckCheckIcon className="w-6 h-6 min-w-6 bg-secondary/10 stroke-secondary rounded-full p-1" /> Helped an e-commerce brand grow
38-
from $0 to $1.2M in 12 months.
37+
<CheckCheckIcon className="w-6 h-6 min-w-6 bg-secondary/10 stroke-secondary rounded-full p-1" />{" "}
38+
Helped an e-commerce brand grow from $0 to $1.2M in 12 months.
3939
</li>
4040
<li className="flex items-center gap-2">
41-
<CheckCheckIcon className="w-6 h-6 min-w-6 bg-secondary/10 stroke-secondary rounded-full p-1" /> Generated 52,400 visitors and
42-
3,230 leads for a service-based business in Dubai. business in
43-
Dubai.
41+
<CheckCheckIcon className="w-6 h-6 min-w-6 bg-secondary/10 stroke-secondary rounded-full p-1" />{" "}
42+
Generated 52,400 visitors and 3,230 leads for a service-based
43+
business in Dubai. business in Dubai.
4444
</li>
4545
</ul>
4646
</div>

src/app/landing/_utils/sections/review.tsx

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import ShimmerButton from "@/components/magicui/shimmer-button";
22
import { CheckCheckIcon, FastForwardIcon, FileWarning, X } from "lucide-react";
3+
import Image from "next/image";
34
import Link from "next/link";
45

56
const LandingReviewSection = () => {
67
return (
7-
<div className="container section grid grid-cols-1 md:grid-cols-2 gap-10">
8+
<div className="container section grid grid-cols-1 md:grid-cols-2 gap-10 items-center">
89
<div className="space-y-4">
910
<p className="inline-block px-4 py-1 rounded-xl border">
1011
What Clients Are Saying
@@ -36,18 +37,17 @@ const LandingReviewSection = () => {
3637
winning strategy
3738
</p>
3839
</div>
39-
<Link href="/#contact" className="inline-block">
40-
<ShimmerButton>Book Your Free Meeting Today!</ShimmerButton>
41-
</Link>
42-
</div>
43-
<div className="p-6 bg-white rounded-xl flex flex-col items-start justify-center gap-4">
44-
<div className="flex items-center justify-center w-12 h-12 rounded-lg bg-secondary/10 text-secondary">
45-
<FastForwardIcon className="w-6 h-6" />
46-
</div>
47-
<p className="text-md md:text-lg">
48-
My mission is simple: to listen, understand your challenges
49-
</p>
40+
<Link href="/landing/#contact" className="inline-block">
41+
<ShimmerButton>Book Your Free Meeting Today!</ShimmerButton>
42+
</Link>
5043
</div>
44+
<Image
45+
src="https://utfs.io/f/TLm9XcQ0Drp9VpRj6CXtzjwcuqoVvpZmxNrkdWPhDefA1Mb2"
46+
alt="proof"
47+
width={1000}
48+
height={1000}
49+
className="rounded-2xl"
50+
/>
5151
</div>
5252
);
5353
};

src/app/landing/_utils/sections/visuals.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
const LandingVisualsSection = () => {
22
return (
3-
<div className="bg-muted">
4-
<div className="container section space-y-10">
3+
<div className="container section space-y-10 text-center">
54
<h2>See the Numbers Behind the Success</h2>
65

76
<ul className="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-10 [&>li]:border [&>li]:p-8 [&>li]:bg-white [&>li]:flex [&>li]:flex-col [&>li]:items-center [&>li]:justify-center [&>li]:gap-4 [&>li]:rounded-xl [&>li>span]:text-4xl [&>li>span]:font-bold [&>li>span]:text-primary capitalize">
@@ -16,7 +15,6 @@ const LandingVisualsSection = () => {
1615
</li>
1716
</ul>
1817
</div>
19-
</div>
2018
);
2119
};
2220

src/app/landing/page.tsx

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,23 @@ import LandingProofSection from "./_utils/sections/proof";
55
import LandingReviewSection from "./_utils/sections/review";
66
import LandingVisualsSection from "./_utils/sections/visuals";
77
import LandingCTASection from "./_utils/sections/cta";
8+
import ClientsReviews from "../case-studies/_utils/clients-reviews";
9+
import { Action___Get__Review_By_Category } from "../reviews/post/_utils/actions";
10+
import LandingCalendlySection from "./_utils/sections/calendly";
811

9-
const LandingPage = () => {
12+
const LandingPage = async () => {
13+
const result = await Action___Get__Review_By_Category("socialmediapaidads");
14+
const reviews = result?.data?.length ? result?.data : [];
1015
return (
1116
<Fragment>
1217
<LandingHeroSection />
1318
<LandingAboutSection />
1419
<LandingProofSection />
1520
<LandingReviewSection />
21+
<ClientsReviews reviews={reviews} projectIdea={false} hideCTA={true}/>
1622
<LandingVisualsSection />
1723
<LandingCTASection />
24+
<LandingCalendlySection />
1825
</Fragment>
1926
);
2027
};

src/app/services/_utils/testimonials.tsx

Lines changed: 35 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import { useState, useEffect } from "react";
1010
import clsx from "clsx";
1111
import MarqueeWrapper from "./marquee-wrapper";
1212

13-
const Testimonials = ({ data }: { data: any }) => {
13+
const Testimonials = ({ data, hideCTA }: { data: any; hideCTA?: boolean }) => {
1414
const pathname = usePathname();
1515
const materedPath = pathname
1616
?.replaceAll("/services/", "")
@@ -26,12 +26,13 @@ const Testimonials = ({ data }: { data: any }) => {
2626
};
2727

2828
const [isClient, setIsClient] = useState(false);
29-
29+
3030
useEffect(() => {
3131
setIsClient(true);
3232
}, []);
3333

34-
const filteredData = data?.filter((item: any) => item.text?.length < 100) || [];
34+
const filteredData =
35+
data?.filter((item: any) => item.text?.length < 100) || [];
3536

3637
return (
3738
<div className="py-16 bg-muted">
@@ -49,46 +50,48 @@ const Testimonials = ({ data }: { data: any }) => {
4950
<div className="space-y-8">
5051
<div className="relative container">
5152
{isClient && (
52-
<MarqueeWrapper
53+
<MarqueeWrapper
5354
className="gap-4 w-full"
5455
itemWidth={300}
5556
gapWidth={16}
5657
>
5758
{filteredData?.slice(0, 10)?.map((item: any, index: number) => {
5859
return (
59-
<TestimonialCard
60-
key={index}
60+
<TestimonialCard
61+
key={index}
6162
details={item}
6263
className="flex-shrink-0"
6364
/>
64-
)
65+
);
6566
})}
6667
</MarqueeWrapper>
6768
)}
6869
<div className="pointer-events-none absolute inset-y-0 left-0 w-1/3 bg-gradient-to-r from-muted dark:from-background"></div>
6970
<div className="pointer-events-none absolute inset-y-0 right-0 w-1/3 bg-gradient-to-l from-muted dark:from-background"></div>
7071
</div>
71-
<div className="flex justify-center">
72-
<ServicesCTA
73-
position="center"
74-
cta={{
75-
primary: {
76-
text: <>Get Started Right Away</>,
77-
link: `/joining?type=${path[materedPath]}`,
78-
},
79-
secondary: { text: <>Get A Free Consultation</>, link: "/" },
80-
}}
81-
/>
82-
</div>
72+
{!hideCTA ? (
73+
<div className="flex justify-center">
74+
<ServicesCTA
75+
position="center"
76+
cta={{
77+
primary: {
78+
text: <>Get Started Right Away</>,
79+
link: `/joining?type=${path[materedPath]}`,
80+
},
81+
secondary: { text: <>Get A Free Consultation</>, link: "/" },
82+
}}
83+
/>
84+
</div>
85+
) : null}
8386
</div>
8487
</div>
8588
);
8689
};
8790

88-
export const TestimonialCard = ({
89-
details,
90-
className = ""
91-
}: {
91+
export const TestimonialCard = ({
92+
details,
93+
className = "",
94+
}: {
9295
details: any;
9396
className?: string;
9497
}) => {
@@ -111,7 +114,9 @@ export const TestimonialCard = ({
111114

112115
const letterCount = 100;
113116
return (
114-
<div className={`w-[300px] shrink-0 mx-2 hover:shadow-lg p-4 rounded-2xl space-y-[16px] border-2 border-white hover:border-secondary hover:scale-105 bg-white transition ease-in-out duration-500 ${className}`}>
117+
<div
118+
className={`w-[300px] shrink-0 mx-2 hover:shadow-lg p-4 rounded-2xl space-y-[16px] border-2 border-white hover:border-secondary hover:scale-105 bg-white transition ease-in-out duration-500 ${className}`}
119+
>
115120
<div className="flex">
116121
{createArray(rating || 1).map((item: number) => {
117122
return (
@@ -122,10 +127,12 @@ export const TestimonialCard = ({
122127
);
123128
})}
124129
</div>
125-
<p className={clsx(
126-
"text-sm leading-relaxed",
127-
moreText ? "h-auto" : "line-clamp-4"
128-
)}>
130+
<p
131+
className={clsx(
132+
"text-sm leading-relaxed",
133+
moreText ? "h-auto" : "line-clamp-4"
134+
)}
135+
>
129136
<i>{`"${text}"`}</i>
130137
{text?.length > letterCount && (
131138
<span

0 commit comments

Comments
 (0)