9 Commits

Author SHA1 Message Date
f18517411d Update src/app/page.tsx 2026-04-22 19:04:28 +00:00
370c5a3638 Merge version_3 into main
Merge version_3 into main
2026-04-22 18:32:02 +00:00
5c2289b2e4 Update src/app/styles/variables.css 2026-04-22 18:31:59 +00:00
06d1c59b58 Update src/app/page.tsx 2026-04-22 18:31:58 +00:00
9badd08197 Merge version_2 into main
Merge version_2 into main
2026-04-22 18:24:19 +00:00
be37470bfe Update src/app/page.tsx 2026-04-22 18:24:16 +00:00
f154596ecd Merge version_2 into main
Merge version_2 into main
2026-04-22 18:23:46 +00:00
497d30b049 Update src/app/page.tsx 2026-04-22 18:23:40 +00:00
2ccb1429d7 Merge version_1 into main
Merge version_1 into main
2026-04-22 18:21:15 +00:00
2 changed files with 139 additions and 170 deletions

View File

@@ -4,14 +4,14 @@ import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import ContactCTA from '@/components/sections/contact/ContactCTA';
import FaqSplitText from '@/components/sections/faq/FaqSplitText';
import FeatureHoverPattern from '@/components/sections/feature/featureHoverPattern/FeatureHoverPattern';
import FeatureCardSixteen from '@/components/sections/feature/FeatureCardSixteen';
import FooterBase from '@/components/sections/footer/FooterBase';
import HeroSplitKpi from '@/components/sections/hero/HeroSplitKpi';
import MetricCardTwo from '@/components/sections/metrics/MetricCardTwo';
import HeroLogo from '@/components/sections/hero/HeroLogo';
import MetricCardSeven from '@/components/sections/metrics/MetricCardSeven';
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
import TestimonialCardFifteen from '@/components/sections/testimonial/TestimonialCardFifteen';
import TextAbout from '@/components/sections/about/TextAbout';
import { Calendar, Heart, Shield, UserPlus, Users, Zap } from "lucide-react";
import TestimonialCardThirteen from '@/components/sections/testimonial/TestimonialCardThirteen';
import TestimonialAboutCard from '@/components/sections/about/TestimonialAboutCard';
import { Heart } from "lucide-react";
export default function LandingPage() {
return (
@@ -19,176 +19,145 @@ export default function LandingPage() {
defaultButtonVariant="text-stagger"
defaultTextAnimation="reveal-blur"
borderRadius="soft"
contentWidth="small"
sizing="large"
background="grid"
cardStyle="gradient-bordered"
primaryButtonStyle="gradient"
contentWidth="medium"
sizing="largeSizeMediumTitles"
background="noise"
cardStyle="glass-elevated"
primaryButtonStyle="primary-glow"
secondaryButtonStyle="glass"
headingFontWeight="extrabold"
>
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay
navItems={[
{ name: "Home", id: "hero" },
{ name: "About", id: "about" },
{ name: "Impact", id: "metrics" },
{ name: "How it Works", id: "features" },
{ name: "Donate", id: "contact" },
]}
brandName="BloodBridge"
/>
</div>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay
navItems={[
{ name: "Home", id: "hero" },
{ name: "About", id: "about" },
{ name: "Impact", id: "metrics" },
{ name: "How it Works", id: "steps" },
{ name: "Donate", id: "contact" },
]}
brandName="BloodBridge"
/>
</div>
<div id="hero" data-section="hero">
<HeroSplitKpi
background={{ variant: "sparkles-gradient" }}
title="Your Blood, Someone's Lifeline"
description="Connecting volunteer donors with hospitals instantly. Join the bridge that saves lives every single day."
kpis={[
{ value: "50K+", label: "Donors" },
{ value: "120+", label: "Hospitals" },
{ value: "1M+", label: "Lives Saved" },
]}
enableKpiAnimation={true}
buttons={[{ text: "Start Donating", href: "#contact" }]}
imageSrc="http://img.b2bpic.net/free-photo/3d-character-emerging-from-smartphone_23-2151336497.jpg"
mediaAnimation="slide-up"
avatars={[
{ src: "http://img.b2bpic.net/free-photo/face-recognition-personal-identification-collage_23-2150165579.jpg", alt: "Face recognition and personal identification collage" },
{ src: "http://img.b2bpic.net/free-photo/medium-shot-health-workers-with-smartphone_23-2148894929.jpg", alt: "Medium shot health workers with smartphone" },
{ src: "http://img.b2bpic.net/free-photo/woman-sits-mat-uses-smartphone-online-workout-concept_169016-47282.jpg", alt: "A woman sits on a mat and uses a smartphone online workout concept" },
{ src: "http://img.b2bpic.net/free-photo/friends-reunited-after-covid-pandemic_23-2149490370.jpg", alt: "Friends reunited after covid pandemic" },
{ src: "http://img.b2bpic.net/free-photo/young-man-woman-wearing-volunteer-t-shirt-donations-stand-annoyed-frustrated-shouting-with-anger-yelling-crazy-with-anger-hand-raised_839833-10642.jpg", alt: "smiling donor portrait" },
]}
avatarText="Join 50,000+ donors"
marqueeItems={[
{ type: "text", text: "Urgent Need: O Negative" },
{ type: "text", text: "Live Updates" },
{ type: "text", text: "Safe & Secure" },
{ type: "text", text: "24/7 Matching" },
{ type: "text", text: "Community Powered" },
]}
/>
</div>
<div id="hero" data-section="hero">
<HeroLogo
logoText="BloodBridge"
description="Connecting volunteer donors with hospitals instantly. We integrate real-time supply and demand data to ensure that every donation finds its life-saving match exactly when it's needed most."
buttons={[{ text: "Start Donating", href: "#contact" }, { text: "Learn More", href: "#about" }]}
imageSrc="http://img.b2bpic.net/free-photo/3d-character-emerging-from-smartphone_23-2151336497.jpg"
/>
</div>
<div id="about" data-section="about">
<TextAbout
useInvertedBackground={false}
title="Bridging the Gap Between Need and Supply"
buttons={[{ text: "Learn Our Mission", href: "#" }]}
/>
</div>
<div id="about" data-section="about">
<TestimonialAboutCard
tag="Our Vision"
title="Bridging the Gap Between Need and Supply"
description="We leverage modern technology to streamline the donation pipeline, ensuring that every drop counts."
subdescription="From emergency requests to routine replenishment, our platform creates a seamless connection between heroes and hospitals."
icon={Heart}
imageSrc="http://img.b2bpic.net/free-photo/team-doctors-standing-row_107420-84773.jpg"
mediaAnimation="blur-reveal"
useInvertedBackground={true}
className="bg-zinc-950 text-white"
/>
</div>
<div id="metrics" data-section="metrics">
<MetricCardTwo
animationType="slide-up"
textboxLayout="split"
gridVariant="uniform-all-items-equal"
useInvertedBackground={true}
metrics={[
{ id: "m1", value: "24/7", description: "Active Monitoring" },
{ id: "m2", value: "99%", description: "Matching Efficiency" },
{ id: "m3", value: "500+", description: "Daily Donations" },
]}
title="Our Impact Metrics"
description="Numbers that define our journey."
/>
</div>
<div id="metrics" data-section="metrics">
<MetricCardSeven
animationType="depth-3d"
textboxLayout="split"
metrics={[
{ id: "1", value: "50K+", title: "Active Donors", items: ["Verified and vetted", "Across 50 states"] },
{ id: "2", value: "1M+", title: "Lives Saved", items: ["Direct impact tracked", "Hospital verified"] },
{ id: "3", value: "24/7", title: "Availability", items: ["Real-time matching", "Rapid response"] }
]}
title="Our Collective Impact"
description="Building a robust network of volunteers to meet critical medical demands."
useInvertedBackground={true}
className="bg-zinc-950 text-white"
/>
</div>
<div id="features" data-section="features">
<FeatureHoverPattern
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={false}
features={[
{ icon: Shield, title: "Verified Donors", description: "Full vetting process ensures safe supply." },
{ icon: Zap, title: "Real-time Matching", description: "Get notified when hospitals need your blood type." },
{ icon: Users, title: "Community Network", description: "Connect with local donors near you." },
]}
title="Features That Bridge Lives"
description="Technology built for speed, safety, and community."
/>
</div>
<div id="features" data-section="features">
<FeatureCardSixteen
negativeCard={{ items: ["Inefficient manual calls", "Delayed hospital response", "Fragmented donor data"] }}
positiveCard={{ items: ["Automated instant matching", "Direct hospital connectivity", "Centralized donor platform"] }}
animationType="depth-3d"
title="The BloodBridge Difference"
description="Replacing outdated systems with efficient, real-time technology solutions."
textboxLayout="inline-image"
useInvertedBackground={false}
/>
</div>
<div id="steps" data-section="steps">
<FeatureHoverPattern
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={true}
features={[
{ icon: UserPlus, title: "Create Profile", description: "Set your medical profile." },
{ icon: Calendar, title: "Schedule Visit", description: "Find nearest center." },
{ icon: Heart, title: "Save a Life", description: "Complete your donation." },
]}
title="Simple 3-Step Process"
description="Making it easy to donate anytime."
/>
</div>
<div id="steps" data-section="steps">
<FeatureCardSixteen
negativeCard={{ items: ["Searching for centers", "Long wait times", "Uncertain availability"] }}
positiveCard={{ items: ["Instant locator service", "Direct appointment booking", "Guaranteed donation slots"] }}
animationType="depth-3d"
title="Your Donation Journey"
description="Three simple steps to make your contribution count."
textboxLayout="inline-image"
useInvertedBackground={true}
className="bg-zinc-950 text-white"
/>
</div>
<div id="testimonials" data-section="testimonials">
<TestimonialCardFifteen
useInvertedBackground={false}
testimonial="BloodBridge made it incredibly easy to find a donation site during an emergency. I felt safe and informed throughout."
rating={5}
author="Sarah M."
avatars={[
{ src: "http://img.b2bpic.net/free-photo/young-man-woman-wearing-volunteer-t-shirt-donations-stand-annoyed-frustrated-shouting-with-anger-yelling-crazy-with-anger-hand-raised_839833-10642.jpg", alt: "smiling donor portrait" },
{ src: "http://img.b2bpic.net/free-photo/team-doctors-standing-row_107420-84773.jpg", alt: "woman donating blood smiling" },
{ src: "http://img.b2bpic.net/free-photo/medium-shot-smiley-people-nature_23-2149181976.jpg", alt: "donor support team" },
{ src: "http://img.b2bpic.net/free-photo/aged-man-t-shirt_23-2148036537.jpg", alt: "senior man portrait" },
{ src: "http://img.b2bpic.net/free-photo/medium-shot-smiley-volunteers-outdoors_23-2149181977.jpg", alt: "young student donating blood" },
]}
ratingAnimation="slide-up"
avatarsAnimation="slide-up"
/>
</div>
<div id="testimonials" data-section="testimonials">
<TestimonialCardThirteen
showRating={true}
animationType="depth-3d"
textboxLayout="split"
title="Donor Experiences"
description="Stories of hope and community impact."
testimonials={[
{ id: "t1", name: "Sarah M.", handle: "@sarahdonate", testimonial: "The app made it incredibly easy to schedule my donation. I feel proud to be part of this community.", rating: 5 },
{ id: "t2", name: "James T.", handle: "@jdonations", testimonial: "Immediate notification saved me hours. Highly recommend to anyone wanting to contribute.", rating: 5 },
]}
useInvertedBackground={true}
className="bg-zinc-950 text-white"
/>
</div>
<div id="faq" data-section="faq">
<FaqSplitText
useInvertedBackground={true}
faqs={[
{ id: "f1", title: "Is it safe?", content: "Absolutely. We follow all medical protocols." },
{ id: "f2", title: "Who can donate?", content: "Anyone between 18-65 in good health." },
{ id: "f3", title: "How often?", content: "Typically every 8 weeks for whole blood." },
]}
sideTitle="Frequently Asked Questions"
sideDescription="Everything you need to know about donating."
faqsAnimation="slide-up"
/>
</div>
<div id="faq" data-section="faq">
<FaqSplitText
faqs={[
{ id: "f1", title: "Is it safe?", content: "Absolutely. We adhere to all healthcare standards and privacy guidelines." },
{ id: "f2", title: "Who can donate?", content: "Generally, anyone between 18-65 meeting health requirements can participate." },
{ id: "f3", title: "How often?", content: "For whole blood, standard practice allows donation every 8 weeks." },
]}
sideTitle="Frequently Asked Questions"
sideDescription="Common queries addressed for our donors."
faqsAnimation="slide-up"
useInvertedBackground={true}
className="bg-zinc-950 text-white"
/>
</div>
<div id="contact" data-section="contact">
<ContactCTA
useInvertedBackground={false}
background={{ variant: "sparkles-gradient" }}
tag="Join Us"
title="Ready to Save a Life?"
description="Sign up as a volunteer donor today."
buttons={[{ text: "Register Now", href: "#" }]}
/>
</div>
<div id="contact" data-section="contact">
<ContactCTA
tag="Get Started"
title="Ready to Save a Life?"
description="Join the largest volunteer network today."
buttons={[{ text: "Register Now", href: "#" }]}
background={{ variant: "sparkles-gradient" }}
useInvertedBackground={true}
className="bg-zinc-950 text-white"
/>
</div>
<div id="footer" data-section="footer">
<FooterBase
columns={[
{
title: "Platform", items: [
{ label: "About", href: "#about" },
{ label: "Impact", href: "#metrics" },
],
},
{
title: "Support", items: [
{ label: "FAQ", href: "#faq" },
{ label: "Contact", href: "#contact" },
],
},
]}
logoText="BloodBridge"
/>
</div>
<div id="footer" data-section="footer">
<FooterBase
columns={[
{ title: "Platform", items: [{ label: "About", href: "#about" }, { label: "Impact", href: "#metrics" }] },
{ title: "Resources", items: [{ label: "FAQ", href: "#faq" }, { label: "Support", href: "#contact" }] },
]}
logoText="BloodBridge"
copyrightText="© 2025 BloodBridge. All rights reserved."
/>
</div>
</ReactLenis>
</ThemeProvider>
);

View File

@@ -10,15 +10,15 @@
--accent: #ffffff;
--background-accent: #ffffff; */
--background: #0a0a0a;
--card: #1a1a1a;
--foreground: #fff5f5e6;
--primary-cta: #ff7a7a;
--background: #09090b;
--card: #18181b;
--foreground: #f4f4f5;
--primary-cta: #be123c;
--primary-cta-text: #0a0a0a;
--secondary-cta: #1a1a1a;
--secondary-cta: #450a0a;
--secondary-cta-text: #fff5f5e6;
--accent: #737373;
--background-accent: #737373;
--accent: #e11d48;
--background-accent: #1f0309;
/* text sizing - set by ThemeProvider */
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);