Merge version_2 into main #2

Merged
bender merged 7 commits from version_2 into main 2026-04-06 09:05:56 +00:00
7 changed files with 207 additions and 241 deletions

View File

@@ -0,0 +1,20 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import MetricCardFourteen from '@/components/sections/metrics/MetricCardFourteen';
export default function DonorProfile() {
return (
<ThemeProvider>
<NavbarLayoutFloatingInline
navItems={[{ name: "Home", id: "/" }, { name: "Register", id: "/donor-registration" }, { name: "Profile", id: "/donor-profile" }, { name: "Request", id: "/patient-request" }]}
brandName="LifeBlood"
/>
<MetricCardFourteen
title="Your Donor Profile"
tag="Welcome"
metrics={[{id: "1", value: "3", description: "Lives Saved"}, {id: "2", value: "1", description: "Recent Donation"}]}
/>
</ThemeProvider>
);
}

View File

@@ -0,0 +1,21 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
export default function DonorRegistration() {
return (
<ThemeProvider>
<NavbarLayoutFloatingInline
navItems={[{ name: "Home", id: "/" }, { name: "Register", id: "/donor-registration" }, { name: "Profile", id: "/donor-profile" }, { name: "Request", id: "/patient-request" }]}
brandName="LifeBlood"
/>
<ContactSplitForm
title="Donor Registration"
description="Join our life-saving community by registering as a donor."
inputs={[{name: "fullname", type: "text", placeholder: "Full Name"}, {name: "bloodtype", type: "text", placeholder: "Blood Type"}]}
useInvertedBackground={false}
/>
</ThemeProvider>
);
}

View File

@@ -0,0 +1,33 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
export default function FacilitiesPage() {
return (
<ThemeProvider>
<ReactLenis root>
<NavbarLayoutFloatingInline
navItems={[
{ name: "Home", id: "/" },
{ name: "Facilities", id: "/facilities" },
{ name: "Inventory", id: "/inventory" },
{ name: "Schedule", id: "/schedule" },
]}
brandName="LifeBlood"
/>
<main className="pt-32 pb-20 px-6 max-w-7xl mx-auto min-h-screen">
<h1 className="text-4xl font-bold mb-8">Hospital & Facility Management</h1>
<p className="text-lg text-muted-foreground">Manage partner hospitals, track facility capacity, and oversee regional distribution networks.</p>
</main>
<FooterLogoReveal
logoText="LifeBlood"
leftLink={{ text: "Privacy Policy", href: "#" }}
rightLink={{ text: "Contact Support", href: "mailto:support@lifeblood.com" }}
/>
</ReactLenis>
</ThemeProvider>
);
}

View File

@@ -0,0 +1,33 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
export default function InventoryPage() {
return (
<ThemeProvider>
<ReactLenis root>
<NavbarLayoutFloatingInline
navItems={[
{ name: "Home", id: "/" },
{ name: "Facilities", id: "/facilities" },
{ name: "Inventory", id: "/inventory" },
{ name: "Schedule", id: "/schedule" },
]}
brandName="LifeBlood"
/>
<main className="pt-32 pb-20 px-6 max-w-7xl mx-auto min-h-screen">
<h1 className="text-4xl font-bold mb-8">Blood Inventory Dashboard</h1>
<p className="text-lg text-muted-foreground">Monitor real-time blood supply levels, blood types availability, and stock alerts.</p>
</main>
<FooterLogoReveal
logoText="LifeBlood"
leftLink={{ text: "Privacy Policy", href: "#" }}
rightLink={{ text: "Contact Support", href: "mailto:support@lifeblood.com" }}
/>
</ReactLenis>
</ThemeProvider>
);
}

View File

@@ -29,140 +29,57 @@ export default function LandingPage() {
<div id="nav" data-section="nav">
<NavbarLayoutFloatingInline
navItems={[
{
name: "Home",
id: "hero",
},
{
name: "How it Works",
id: "features",
},
{
name: "Impact",
id: "testimonials",
},
{
name: "Contact",
id: "contact",
},
{ name: "Home", id: "hero" },
{ name: "How it Works", id: "features" },
{ name: "Impact", id: "testimonials" },
{ name: "Facilities", id: "/facilities" },
{ name: "Inventory", id: "/inventory" },
{ name: "Schedule", id: "/schedule" },
{ name: "Contact", id: "contact" },
]}
brandName="LifeBlood"
button={{
text: "Donate Now",
href: "#contact",
}}
text: "Donate Now", href: "#contact"}}
/>
</div>
<div id="hero" data-section="hero">
<HeroSplitDoubleCarousel
background={{
variant: "gradient-bars",
}}
variant: "gradient-bars"}}
title="Be the Hero Someone Needs Today"
description="Connecting donors, hospitals, and patients in a seamless network. Your single donation can save up to three lives."
leftCarouselItems={[
{
imageSrc: "http://img.b2bpic.net/free-photo/patient-getting-chemotherapy-treatment_23-2149261101.jpg?_wi=1",
imageAlt: "Hero Image 1",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/patient-getting-chemotherapy-treatment_23-2149261101.jpg?_wi=2",
imageAlt: "Hero Image 2",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/patient-getting-chemotherapy-treatment_23-2149261101.jpg?_wi=3",
imageAlt: "Hero Image 3",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/patient-getting-chemotherapy-treatment_23-2149261101.jpg?_wi=4",
imageAlt: "Hero Image 4",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/patient-getting-chemotherapy-treatment_23-2149261101.jpg?_wi=5",
imageAlt: "Hero Image 5",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/patient-getting-chemotherapy-treatment_23-2149261101.jpg?_wi=6",
imageAlt: "Hero Image 6",
},
{ imageSrc: "http://img.b2bpic.net/free-photo/patient-getting-chemotherapy-treatment_23-2149261101.jpg?_wi=1", imageAlt: "Hero Image 1" },
{ imageSrc: "http://img.b2bpic.net/free-photo/patient-getting-chemotherapy-treatment_23-2149261101.jpg?_wi=2", imageAlt: "Hero Image 2" },
{ imageSrc: "http://img.b2bpic.net/free-photo/patient-getting-chemotherapy-treatment_23-2149261101.jpg?_wi=3", imageAlt: "Hero Image 3" },
{ imageSrc: "http://img.b2bpic.net/free-photo/patient-getting-chemotherapy-treatment_23-2149261101.jpg?_wi=4", imageAlt: "Hero Image 4" },
{ imageSrc: "http://img.b2bpic.net/free-photo/patient-getting-chemotherapy-treatment_23-2149261101.jpg?_wi=5", imageAlt: "Hero Image 5" },
{ imageSrc: "http://img.b2bpic.net/free-photo/patient-getting-chemotherapy-treatment_23-2149261101.jpg?_wi=6", imageAlt: "Hero Image 6" },
]}
rightCarouselItems={[
{
imageSrc: "http://img.b2bpic.net/free-photo/patient-getting-chemotherapy-treatment_23-2149261101.jpg?_wi=7",
imageAlt: "Hero Image 1",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/patient-getting-chemotherapy-treatment_23-2149261101.jpg?_wi=8",
imageAlt: "Hero Image 2",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/patient-getting-chemotherapy-treatment_23-2149261101.jpg?_wi=9",
imageAlt: "Hero Image 3",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/patient-getting-chemotherapy-treatment_23-2149261101.jpg?_wi=10",
imageAlt: "Hero Image 4",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/patient-getting-chemotherapy-treatment_23-2149261101.jpg?_wi=11",
imageAlt: "Hero Image 5",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/patient-getting-chemotherapy-treatment_23-2149261101.jpg?_wi=12",
imageAlt: "Hero Image 6",
},
]}
buttons={[
{
text: "Start Donating",
href: "#contact",
},
{ imageSrc: "http://img.b2bpic.net/free-photo/patient-getting-chemotherapy-treatment_23-2149261101.jpg?_wi=7", imageAlt: "Hero Image 1" },
{ imageSrc: "http://img.b2bpic.net/free-photo/patient-getting-chemotherapy-treatment_23-2149261101.jpg?_wi=8", imageAlt: "Hero Image 2" },
{ imageSrc: "http://img.b2bpic.net/free-photo/patient-getting-chemotherapy-treatment_23-2149261101.jpg?_wi=9", imageAlt: "Hero Image 3" },
{ imageSrc: "http://img.b2bpic.net/free-photo/patient-getting-chemotherapy-treatment_23-2149261101.jpg?_wi=10", imageAlt: "Hero Image 4" },
{ imageSrc: "http://img.b2bpic.net/free-photo/patient-getting-chemotherapy-treatment_23-2149261101.jpg?_wi=11", imageAlt: "Hero Image 5" },
{ imageSrc: "http://img.b2bpic.net/free-photo/patient-getting-chemotherapy-treatment_23-2149261101.jpg?_wi=12", imageAlt: "Hero Image 6" },
]}
buttons={[{ text: "Start Donating", href: "#contact" }]}
avatars={[
{
src: "http://img.b2bpic.net/free-photo/portrait-african-american-person-casual-grey-hoodie-smiling_482257-122367.jpg",
alt: "Donor 1",
},
{
src: "http://img.b2bpic.net/free-photo/portrait-african-american-person-casual-grey-hoodie-smiling_482257-122367.jpg",
alt: "Donor 2",
},
{
src: "http://img.b2bpic.net/free-photo/portrait-african-american-person-casual-grey-hoodie-smiling_482257-122367.jpg",
alt: "Donor 3",
},
{
src: "http://img.b2bpic.net/free-photo/portrait-african-american-person-casual-grey-hoodie-smiling_482257-122367.jpg",
alt: "Donor 4",
},
{
src: "http://img.b2bpic.net/free-photo/portrait-african-american-person-casual-grey-hoodie-smiling_482257-122367.jpg",
alt: "Donor 5",
},
{ src: "http://img.b2bpic.net/free-photo/portrait-african-american-person-casual-grey-hoodie-smiling_482257-122367.jpg", alt: "Donor 1" },
{ src: "http://img.b2bpic.net/free-photo/portrait-african-american-person-casual-grey-hoodie-smiling_482257-122367.jpg", alt: "Donor 2" },
{ src: "http://img.b2bpic.net/free-photo/portrait-african-american-person-casual-grey-hoodie-smiling_482257-122367.jpg", alt: "Donor 3" },
{ src: "http://img.b2bpic.net/free-photo/portrait-african-american-person-casual-grey-hoodie-smiling_482257-122367.jpg", alt: "Donor 4" },
{ src: "http://img.b2bpic.net/free-photo/portrait-african-american-person-casual-grey-hoodie-smiling_482257-122367.jpg", alt: "Donor 5" },
]}
avatarText="Join 10,000+ life-saving heroes"
marqueeItems={[
{
type: "text",
text: "Red Cross Verified",
},
{
type: "text",
text: "Hospital Network Ready",
},
{
type: "text",
text: "Secure Data Privacy",
},
{
type: "text",
text: "Urgent Request Support",
},
{
type: "text",
text: "Global Donor Impact",
},
{ type: "text", text: "Red Cross Verified" },
{ type: "text", text: "Hospital Network Ready" },
{ type: "text", text: "Secure Data Privacy" },
{ type: "text", text: "Urgent Request Support" },
{ type: "text", text: "Global Donor Impact" },
]}
/>
</div>
@@ -173,31 +90,11 @@ export default function LandingPage() {
textboxLayout="default"
useInvertedBackground={true}
features={[
{
icon: Heart,
title: "Connect Instantly",
description: "Match with local hospitals and urgent requests in your vicinity.",
},
{
icon: Shield,
title: "Secure & Safe",
description: "Verified medical partner hospitals ensure the highest standards of safety.",
},
{
icon: Zap,
title: "Real-time Tracking",
description: "Know when your blood has reached a patient in need.",
},
{
icon: Droplet,
title: "Scheduling Ease",
description: "Book appointments at your convenience with our calendar tool.",
},
{
icon: Award,
title: "Track Your Milestones",
description: "Earn badges and see the direct impact of your regular donations.",
},
{ icon: Heart, title: "Connect Instantly", description: "Match with local hospitals and urgent requests in your vicinity." },
{ icon: Shield, title: "Secure & Safe", description: "Verified medical partner hospitals ensure the highest standards of safety." },
{ icon: Zap, title: "Real-time Tracking", description: "Know when your blood has reached a patient in need." },
{ icon: Droplet, title: "Scheduling Ease", description: "Book appointments at your convenience with our calendar tool." },
{ icon: Award, title: "Track Your Milestones", description: "Earn badges and see the direct impact of your regular donations." },
]}
title="Making Donation Simple"
description="Our platform streamlines the entire process from finding a donation site to getting updates on your impact."
@@ -209,61 +106,9 @@ export default function LandingPage() {
textboxLayout="default"
useInvertedBackground={false}
testimonials={[
{
id: "1",
name: "Mark Stevens",
date: "Oct 2023",
title: "Frequent Donor",
quote: "The app made it so simple to find a drive near me. I feel great knowing I helped.",
tag: "Donor",
avatarSrc: "http://img.b2bpic.net/free-photo/portrait-african-american-person-casual-grey-hoodie-smiling_482257-122367.jpg",
imageSrc: "http://img.b2bpic.net/free-photo/patient-getting-chemotherapy-treatment_23-2149261101.jpg?_wi=13",
imageAlt: "blood donation clinic modern",
},
{
id: "2",
name: "Elena Rodriguez",
date: "Sep 2023",
title: "Hospital Lead",
quote: "LifeBlood has cut our donor coordination time by half. Truly a game changer.",
tag: "Hospital Staff",
avatarSrc: "http://img.b2bpic.net/free-photo/portrait-african-american-person-casual-grey-hoodie-smiling_482257-122367.jpg",
imageSrc: "http://img.b2bpic.net/free-photo/african-american-assistant-highlights-collagen-rich-cosmetics-skin-treatment_482257-122741.jpg",
imageAlt: "blood drop heart icon",
},
{
id: "3",
name: "James Chen",
date: "Aug 2023",
title: "Recovering Patient",
quote: "I am so grateful to the anonymous donors. You gave me back my strength.",
tag: "Recipient",
avatarSrc: "http://img.b2bpic.net/free-photo/portrait-african-american-person-casual-grey-hoodie-smiling_482257-122367.jpg",
imageSrc: "http://img.b2bpic.net/free-photo/portrait-african-american-person-casual-grey-hoodie-smiling_482257-122367.jpg",
imageAlt: "portrait man friendly smiling",
},
{
id: "4",
name: "Sarah Miller",
date: "Jul 2023",
title: "Donor",
quote: "Easy to register and quick scheduling. Highly recommended to everyone.",
tag: "Donor",
avatarSrc: "http://img.b2bpic.net/free-photo/portrait-african-american-person-casual-grey-hoodie-smiling_482257-122367.jpg",
imageSrc: "http://img.b2bpic.net/free-photo/stylish-beautiful-spacious-dental-clinic_8353-9586.jpg?_wi=1",
imageAlt: "abstract medical background red",
},
{
id: "5",
name: "David Wilson",
date: "Jun 2023",
title: "Donor",
quote: "Knowing my impact in real-time is such a powerful motivator.",
tag: "Donor",
avatarSrc: "http://img.b2bpic.net/free-photo/portrait-african-american-person-casual-grey-hoodie-smiling_482257-122367.jpg",
imageSrc: "http://img.b2bpic.net/free-photo/patient-getting-chemotherapy-treatment_23-2149261101.jpg?_wi=14",
imageAlt: "blood donation clinic modern",
},
{ id: "1", name: "Mark Stevens", date: "Oct 2023", title: "Frequent Donor", quote: "The app made it so simple to find a drive near me. I feel great knowing I helped.", tag: "Donor", avatarSrc: "http://img.b2bpic.net/free-photo/portrait-african-american-person-casual-grey-hoodie-smiling_482257-122367.jpg", imageSrc: "http://img.b2bpic.net/free-photo/patient-getting-chemotherapy-treatment_23-2149261101.jpg?_wi=13", imageAlt: "blood donation clinic modern" },
{ id: "2", name: "Elena Rodriguez", date: "Sep 2023", title: "Hospital Lead", quote: "LifeBlood has cut our donor coordination time by half. Truly a game changer.", tag: "Hospital Staff", avatarSrc: "http://img.b2bpic.net/free-photo/portrait-african-american-person-casual-grey-hoodie-smiling_482257-122367.jpg", imageSrc: "http://img.b2bpic.net/free-photo/african-american-assistant-highlights-collagen-rich-cosmetics-skin-treatment_482257-122741.jpg", imageAlt: "blood drop heart icon" },
{ id: "3", name: "James Chen", date: "Aug 2023", title: "Recovering Patient", quote: "I am so grateful to the anonymous donors. You gave me back my strength.", tag: "Recipient", avatarSrc: "http://img.b2bpic.net/free-photo/portrait-african-american-person-casual-grey-hoodie-smiling_482257-122367.jpg", imageSrc: "http://img.b2bpic.net/free-photo/portrait-african-american-person-casual-grey-hoodie-smiling_482257-122367.jpg", imageAlt: "portrait man friendly smiling" },
]}
title="Voices of Hope"
description="Stories from real donors and families who have benefited from blood donation."
@@ -275,21 +120,8 @@ export default function LandingPage() {
textboxLayout="default"
useInvertedBackground={true}
faqs={[
{
id: "q1",
title: "Who can donate?",
content: "Most healthy individuals aged 18-65 can donate. A quick health screening is done on-site.",
},
{
id: "q2",
title: "How long does it take?",
content: "The actual process takes 10-15 minutes. Plan for about an hour for the whole registration and recovery.",
},
{
id: "q3",
title: "How often can I donate?",
content: "You can donate whole blood every 56 days.",
},
{ id: "q1", title: "Who can donate?", content: "Most healthy individuals aged 18-65 can donate. A quick health screening is done on-site." },
{ id: "q2", title: "How long does it take?", content: "The actual process takes 10-15 minutes. Plan for about an hour for the whole registration and recovery." },
]}
title="Frequently Asked Questions"
description="Everything you need to know about starting your journey as a blood donor."
@@ -303,30 +135,9 @@ export default function LandingPage() {
title="Become a Donor"
description="Ready to save lives? Fill out the form below to get started and connect with a nearby donation center."
inputs={[
{
name: "name",
type: "text",
placeholder: "Full Name",
required: true,
},
{
name: "email",
type: "email",
placeholder: "Email Address",
required: true,
},
{
name: "bloodtype",
type: "text",
placeholder: "Blood Type (if known)",
required: false,
},
{ name: "name", type: "text", placeholder: "Full Name", required: true },
{ name: "email", type: "email", placeholder: "Email Address", required: true },
]}
textarea={{
name: "message",
placeholder: "Any specific questions or hospital preference?",
rows: 4,
}}
imageSrc="http://img.b2bpic.net/free-photo/stylish-beautiful-spacious-dental-clinic_8353-9586.jpg?_wi=2"
/>
</div>
@@ -334,14 +145,8 @@ export default function LandingPage() {
<div id="footer" data-section="footer">
<FooterLogoReveal
logoText="LifeBlood"
leftLink={{
text: "Privacy Policy",
href: "#",
}}
rightLink={{
text: "Contact Support",
href: "mailto:support@lifeblood.com",
}}
leftLink={{ text: "Privacy Policy", href: "#" }}
rightLink={{ text: "Contact Support", href: "mailto:support@lifeblood.com" }}
/>
</div>
</ReactLenis>

View File

@@ -0,0 +1,21 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
export default function PatientRequest() {
return (
<ThemeProvider>
<NavbarLayoutFloatingInline
navItems={[{ name: "Home", id: "/" }, { name: "Register", id: "/donor-registration" }, { name: "Profile", id: "/donor-profile" }, { name: "Request", id: "/patient-request" }]}
brandName="LifeBlood"
/>
<ContactSplitForm
title="Patient Blood Request"
description="Hospitals can request urgent blood supplies here."
inputs={[{name: "hospital", type: "text", placeholder: "Hospital Name"}, {name: "type", type: "text", placeholder: "Required Blood Type"}]}
useInvertedBackground={false}
/>
</ThemeProvider>
);
}

33
src/app/schedule/page.tsx Normal file
View File

@@ -0,0 +1,33 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
export default function SchedulePage() {
return (
<ThemeProvider>
<ReactLenis root>
<NavbarLayoutFloatingInline
navItems={[
{ name: "Home", id: "/" },
{ name: "Facilities", id: "/facilities" },
{ name: "Inventory", id: "/inventory" },
{ name: "Schedule", id: "/schedule" },
]}
brandName="LifeBlood"
/>
<main className="pt-32 pb-20 px-6 max-w-7xl mx-auto min-h-screen">
<h1 className="text-4xl font-bold mb-8">Donation Scheduling</h1>
<p className="text-lg text-muted-foreground">Easily book, reschedule, or cancel donation appointments at your preferred local clinics.</p>
</main>
<FooterLogoReveal
logoText="LifeBlood"
leftLink={{ text: "Privacy Policy", href: "#" }}
rightLink={{ text: "Contact Support", href: "mailto:support@lifeblood.com" }}
/>
</ReactLenis>
</ThemeProvider>
);
}