Skip to content

Commit 3922e4a

Browse files
zzzzshawnapsinghdev
authored andcommitted
testimonies in pricing
1 parent 5878f5b commit 3922e4a

File tree

2 files changed

+150
-6
lines changed

2 files changed

+150
-6
lines changed

apps/web/src/app/(main)/(landing)/pricing/page.tsx

Lines changed: 148 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ const Pricing = () => {
215215
</div>
216216

217217
</div>
218-
<div className="relative">
218+
<div className="relative border-b border-[#252525] lg:pb-10">
219219
<div className="hidden lg:block">
220220
<div
221221
style={{
@@ -260,7 +260,7 @@ const Pricing = () => {
260260

261261
</div>
262262
</div>
263-
263+
<TestimonialsSection/>
264264
</div>
265265
</main>
266266
<Footer />
@@ -365,7 +365,7 @@ const SecondaryPricingCard = () => {
365365
<h2 className='text-6xl lg:text-[90px] lg:leading-[82px] tracking-tight font-semibold'>$15 <span className='text-4xl'>/ month</span></h2>
366366
</div>
367367
<div className="w-full border-dashed border-border-primary px-6 lg:px-10 py-4 ">
368-
<Link target='_blank' href="https://pages.razorpay.com/pl_R6WHnm15Fm98fI/view" className='cursor-pointer z-30'>
368+
<Link target='_blanko' href="https://pages.razorpay.com/pl_R6WHnm15Fm98fI/view" className='cursor-pointer z-30'>
369369
<PrimaryButton classname='w-full max-w-[500px] mx-auto font-semibold'>Subscribe $15</PrimaryButton>
370370
</Link>
371371
</div>
@@ -396,4 +396,148 @@ const SecondaryPricingCard = () => {
396396
</div>
397397
</div>
398398
)
399-
}
399+
}
400+
401+
402+
const PremiumTestimonialCard = ({ username = "Username", showPremium = true }) => {
403+
return (
404+
<div className="flex gap-4">
405+
<div className="size-16 rounded-full border"></div>
406+
<div className="">
407+
<p className='text-xl'>{username}</p>
408+
{showPremium && (
409+
<div className="bg-gradient-to-b from-[#ad84e7] via-[#986cd6] to-[#432d8e] bg-clip-text text-transparent">
410+
<p className=''>Opensox Premium</p>
411+
</div>
412+
)}
413+
</div>
414+
</div>
415+
);
416+
};
417+
418+
const TestimonialsSection = () => {
419+
const testimonials = [
420+
{
421+
id: 1,
422+
username: "Alex Johnson",
423+
content: "Getting the Opensox Premium Subscription has been such a game-changer for me. I really like the personal touch in the way the team guides you-it feels like someone is genuinely there to help you navigate. It gave me the initial push I needed and made it so much easier to cut through all the chaos and focus on the right and simple steps. The best part is, it helps you start your open source journey quickly and I know I can reach out to the team anytime. Honestly, it's been an awesome experience so far!",
424+
column: 1
425+
},
426+
{
427+
id: 2,
428+
username: "Sarah Chen",
429+
content: "My experience with your guidance and opensox has been great. Your tips have really helped in doing my tasks quicker and better. And I would definitely recommend others to opt for opensox premium.",
430+
column: 1
431+
},
432+
{
433+
id: 3,
434+
username: "Michael Rodriguez",
435+
content: (
436+
<div className="space-y-3 text-pretty">
437+
<p>
438+
Okay so there are a few things I genuinely value about OpenSox Premium, and I'll
439+
focus on the core points because everything else is just a natural extension of
440+
these.
441+
</p>
442+
<ul className="list-disc space-y-3 pl-6">
443+
<li>
444+
First, the pricing. To me, it&apos;s more than fair for the kind of value on the table. In
445+
fact, I see it as something that can yield long-term returns if you&apos;re serious
446+
about putting in the work.
447+
</li>
448+
<li>
449+
The onboarding call was one of the best parts. Spending 30+ minutes just to
450+
understand where I stand, whether I&apos;m starting out or already experienced and
451+
aligning the guidance with my goals. That level of personalization is rare and it
452+
set the tone right from the start.
453+
</li>
454+
<li>
455+
Another thing l&apos;ve appreciated is the transparency. No sugarcoating, no vague
456+
talk, you share real experiences, honest opinions and advice that actually
457+
holds weight. That alone builds credibility and trust.
458+
</li>
459+
<li>
460+
And yeah, the support also goes beyond the program itself. Getting advice on
461+
personal doubts and extra tips outside the set curriculum (of course,
462+
sometimes, not always lol!).
463+
</li>
464+
<li>
465+
The regular check-ins are also a huge plus. They help track progress, keep me
466+
accountable, and ensure l&apos;m moving in the right direction.
467+
</li>
468+
<li>
469+
Overall, I&apos;d absolutely recommend OpenSox Premium to anyone serious about
470+
open source. The personalized guidance is exactly what most of us hope for,
471+
since everyone is at a different stage of their journey.
472+
</li>
473+
<li>
474+
A personal opinion btw :) My only hope is that the same quality continues even as
475+
more people join and judging from what l&apos;ve seen so far, I&apos;m confident it will.
476+
</li>
477+
</ul>
478+
</div>
479+
),
480+
column: 2
481+
},
482+
{
483+
id: 4,
484+
username: "Emma Thompson",
485+
content: "This is really awesome 👍🏼",
486+
column: 3
487+
},
488+
{
489+
id: 5,
490+
username: "David Kim",
491+
content: "Yes I would totally recommend it for anyone who is serious about getting into open source. We have discussed very insightful key methods that are very helpful for a beginner who has no prior experience to start contributing. You as an experienced open source developer and contributor have shared your learnings which come from experience to us which not only makes us understand the complexity of large codebases but gives us a kickstart over other candidates. Your personal guidance is precious and invaluable for us",
492+
column: 3
493+
}
494+
];
495+
496+
const groupedTestimonials = {
497+
1: testimonials.filter(t => t.column === 1),
498+
2: testimonials.filter(t => t.column === 2),
499+
3: testimonials.filter(t => t.column === 3)
500+
};
501+
502+
return (
503+
<div className=" text-white min-h-screen">
504+
<Header title="What our Premium customers say about us" />
505+
<div className="border-b border-x border-[#252525] w-full min-h-[80dvh] grid grid-cols-1 lg:grid-cols-7">
506+
507+
<div className="lg:col-span-2 flex flex-col font-medium divide-y divide-[#252525]">
508+
{groupedTestimonials[1].map((testimonial) => (
509+
<div key={testimonial.id} className="p-6 lg:p-10 flex flex-col gap-6">
510+
<PremiumTestimonialCard username={testimonial.username} />
511+
<div className="text-pretty">
512+
{typeof testimonial.content === 'string' ? testimonial.content : testimonial.content}
513+
</div>
514+
</div>
515+
))}
516+
</div>
517+
518+
<div className="h-full border-y lg:border-x lg:border-y-0 border-[#252525] p-6 lg:p-10 mx-auto flex flex-col gap-6 flex-shrink-0 lg:col-span-3 font-medium">
519+
{groupedTestimonials[2].map((testimonial) => (
520+
<div key={testimonial.id} className="flex flex-col gap-6">
521+
<PremiumTestimonialCard username={testimonial.username} />
522+
<div>
523+
{typeof testimonial.content === 'string' ? testimonial.content : testimonial.content}
524+
</div>
525+
</div>
526+
))}
527+
</div>
528+
529+
<div className="lg:col-span-2 flex flex-col font-medium divide-y divide-[#252525]">
530+
{groupedTestimonials[3].map((testimonial) => (
531+
<div key={testimonial.id} className="p-6 lg:p-10 flex flex-col gap-6">
532+
<PremiumTestimonialCard username={testimonial.username} />
533+
<div className="text-pretty">
534+
{typeof testimonial.content === 'string' ? testimonial.content : testimonial.content}
535+
</div>
536+
</div>
537+
))}
538+
</div>
539+
540+
</div>
541+
</div>
542+
);
543+
};

apps/web/src/components/landing-sections/footer.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ const Footer = () => {
2222
{/* <div className="w-6">
2323
<Youtube />
2424
</div> */}
25-
<Link href="https://x.com/opensoxai" className="w-6" target="_blank" rel="noopener noreferrer">
25+
<Link href="https://x.com/opensoxai" className="w-5" target="_blank" rel="noopener noreferrer">
2626
<Twitter />
2727
</Link>
2828
{/* <Link href="https://www.linkedin.com/in/ajeetunc/" className="w-6">
@@ -34,7 +34,7 @@ const Footer = () => {
3434
>
3535
<Email />
3636
</button>
37-
<Link href="https://discord.gg/zbHzgMNBrm" className="w-6" target="_blank" rel="noopener noreferrer">
37+
<Link href="https://discord.gg/zbHzgMNBrm" className="w-7" target="_blank" rel="noopener noreferrer">
3838
<Discord />
3939
</Link>
4040
{/* <Link href="https://github.com/apsinghdev/opensox" className="w-6" target="_blank" rel="noopener noreferrer">

0 commit comments

Comments
 (0)