Compare commits
14 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ff6f4947d7 | |||
| 75e7424646 | |||
| bf9ef077bc | |||
| 14e5b7c0b8 | |||
| 193c89228f | |||
| 3a745f20f6 | |||
| 65e21d2f55 | |||
| 425e6193fe | |||
| 9c9a50cf33 | |||
| 37f7c8de17 | |||
| 9fdba8818d | |||
| ff6faf803a | |||
| 5b19b38257 | |||
| 454d7d51c0 |
29
src/app/donor-profile/page.tsx
Normal file
29
src/app/donor-profile/page.tsx
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
"use client";
|
||||||
|
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||||
|
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
|
||||||
|
import MetricCardThree from '@/components/sections/metrics/MetricCardThree';
|
||||||
|
import { Shield, Users, Activity } from 'lucide-react';
|
||||||
|
|
||||||
|
export default function DonorProfile() {
|
||||||
|
return (
|
||||||
|
<ThemeProvider defaultButtonVariant="hover-magnetic" defaultTextAnimation="entrance-slide" borderRadius="rounded" contentWidth="medium" sizing="medium" background="circleGradient" cardStyle="glass-elevated" primaryButtonStyle="gradient" secondaryButtonStyle="glass" headingFontWeight="normal">
|
||||||
|
<div id="nav" data-section="nav">
|
||||||
|
<NavbarLayoutFloatingInline
|
||||||
|
navItems={[{ name: "Home", id: "/" }, { name: "Register", id: "/donor-registration" }, { name: "Profile", id: "/donor-profile" }, { name: "Request", id: "/patient-request" }]}
|
||||||
|
brandName="LifeBlood"
|
||||||
|
button={{ text: "Logout", href: "/" }}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div id="metrics" data-section="metrics">
|
||||||
|
<MetricCardThree
|
||||||
|
title="Your Donor Profile"
|
||||||
|
description="Welcome back to your dashboard."
|
||||||
|
metrics={[{ id: "1", icon: Activity, title: "Lives Saved", value: "3" }, { id: "2", icon: Users, title: "Recent Donation", value: "1" }]}
|
||||||
|
animationType="slide-up"
|
||||||
|
textboxLayout="default"
|
||||||
|
useInvertedBackground={false}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</ThemeProvider>
|
||||||
|
);
|
||||||
|
}
|
||||||
26
src/app/donor-registration/page.tsx
Normal file
26
src/app/donor-registration/page.tsx
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
"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 defaultButtonVariant="hover-magnetic" defaultTextAnimation="entrance-slide" borderRadius="rounded" contentWidth="medium" sizing="medium" background="circleGradient" cardStyle="glass-elevated" primaryButtonStyle="gradient" secondaryButtonStyle="glass" headingFontWeight="normal">
|
||||||
|
<div id="nav" data-section="nav">
|
||||||
|
<NavbarLayoutFloatingInline
|
||||||
|
navItems={[{ name: "Home", id: "/" }, { name: "Register", id: "/donor-registration" }, { name: "Profile", id: "/donor-profile" }, { name: "Request", id: "/patient-request" }]}
|
||||||
|
brandName="LifeBlood"
|
||||||
|
button={{ text: "Get Started", href: "/donor-registration" }}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div id="contact" data-section="contact">
|
||||||
|
<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}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</ThemeProvider>
|
||||||
|
);
|
||||||
|
}
|
||||||
31
src/app/facilities/page.tsx
Normal file
31
src/app/facilities/page.tsx
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
"use client";
|
||||||
|
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||||
|
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
|
||||||
|
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
|
||||||
|
|
||||||
|
export default function FacilitiesPage() {
|
||||||
|
return (
|
||||||
|
<ThemeProvider defaultButtonVariant="hover-magnetic" defaultTextAnimation="entrance-slide" borderRadius="rounded" contentWidth="medium" sizing="medium" background="circleGradient" cardStyle="glass-elevated" primaryButtonStyle="gradient" secondaryButtonStyle="glass" headingFontWeight="normal">
|
||||||
|
<div id="nav" data-section="nav">
|
||||||
|
<NavbarLayoutFloatingInline
|
||||||
|
navItems={[{ name: "Home", id: "/" }, { name: "Facilities", id: "/facilities" }, { name: "Inventory", id: "/inventory" }, { name: "Schedule", id: "/schedule" }]}
|
||||||
|
brandName="LifeBlood"
|
||||||
|
button={{ text: "Account", href: "/" }}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div id="content" data-section="content">
|
||||||
|
<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>
|
||||||
|
</div>
|
||||||
|
<div id="footer" data-section="footer">
|
||||||
|
<FooterLogoReveal
|
||||||
|
logoText="LifeBlood"
|
||||||
|
leftLink={{ text: "Privacy Policy", href: "#" }}
|
||||||
|
rightLink={{ text: "Contact Support", href: "mailto:support@lifeblood.com" }}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</ThemeProvider>
|
||||||
|
);
|
||||||
|
}
|
||||||
31
src/app/inventory/page.tsx
Normal file
31
src/app/inventory/page.tsx
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
"use client";
|
||||||
|
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||||
|
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
|
||||||
|
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
|
||||||
|
|
||||||
|
export default function InventoryPage() {
|
||||||
|
return (
|
||||||
|
<ThemeProvider defaultButtonVariant="hover-magnetic" defaultTextAnimation="entrance-slide" borderRadius="rounded" contentWidth="medium" sizing="medium" background="circleGradient" cardStyle="glass-elevated" primaryButtonStyle="gradient" secondaryButtonStyle="glass" headingFontWeight="normal">
|
||||||
|
<div id="nav" data-section="nav">
|
||||||
|
<NavbarLayoutFloatingInline
|
||||||
|
navItems={[{ name: "Home", id: "/" }, { name: "Facilities", id: "/facilities" }, { name: "Inventory", id: "/inventory" }, { name: "Schedule", id: "/schedule" }]}
|
||||||
|
brandName="LifeBlood"
|
||||||
|
button={{ text: "Account", href: "/" }}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div id="content" data-section="content">
|
||||||
|
<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>
|
||||||
|
</div>
|
||||||
|
<div id="footer" data-section="footer">
|
||||||
|
<FooterLogoReveal
|
||||||
|
logoText="LifeBlood"
|
||||||
|
leftLink={{ text: "Privacy Policy", href: "#" }}
|
||||||
|
rightLink={{ text: "Contact Support", href: "mailto:support@lifeblood.com" }}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</ThemeProvider>
|
||||||
|
);
|
||||||
|
}
|
||||||
287
src/app/page.tsx
287
src/app/page.tsx
@@ -29,140 +29,57 @@ export default function LandingPage() {
|
|||||||
<div id="nav" data-section="nav">
|
<div id="nav" data-section="nav">
|
||||||
<NavbarLayoutFloatingInline
|
<NavbarLayoutFloatingInline
|
||||||
navItems={[
|
navItems={[
|
||||||
{
|
{ name: "Home", id: "hero" },
|
||||||
name: "Home",
|
{ name: "How it Works", id: "features" },
|
||||||
id: "hero",
|
{ name: "Impact", id: "testimonials" },
|
||||||
},
|
{ name: "Facilities", id: "/facilities" },
|
||||||
{
|
{ name: "Inventory", id: "/inventory" },
|
||||||
name: "How it Works",
|
{ name: "Schedule", id: "/schedule" },
|
||||||
id: "features",
|
{ name: "Contact", id: "contact" },
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "Impact",
|
|
||||||
id: "testimonials",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "Contact",
|
|
||||||
id: "contact",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
brandName="LifeBlood"
|
brandName="LifeBlood"
|
||||||
button={{
|
button={{
|
||||||
text: "Donate Now",
|
text: "Donate Now", href: "#contact"}}
|
||||||
href: "#contact",
|
|
||||||
}}
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="hero" data-section="hero">
|
<div id="hero" data-section="hero">
|
||||||
<HeroSplitDoubleCarousel
|
<HeroSplitDoubleCarousel
|
||||||
background={{
|
background={{
|
||||||
variant: "gradient-bars",
|
variant: "gradient-bars"}}
|
||||||
}}
|
|
||||||
title="Be the Hero Someone Needs Today"
|
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."
|
description="Connecting donors, hospitals, and patients in a seamless network. Your single donation can save up to three lives."
|
||||||
leftCarouselItems={[
|
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=1",
|
{ imageSrc: "http://img.b2bpic.net/free-photo/patient-getting-chemotherapy-treatment_23-2149261101.jpg?_wi=2", imageAlt: "Hero Image 2" },
|
||||||
imageAlt: "Hero Image 1",
|
{ 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=2",
|
{ imageSrc: "http://img.b2bpic.net/free-photo/patient-getting-chemotherapy-treatment_23-2149261101.jpg?_wi=6", imageAlt: "Hero Image 6" },
|
||||||
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={[
|
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=7",
|
{ imageSrc: "http://img.b2bpic.net/free-photo/patient-getting-chemotherapy-treatment_23-2149261101.jpg?_wi=8", imageAlt: "Hero Image 2" },
|
||||||
imageAlt: "Hero Image 1",
|
{ 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=8",
|
{ imageSrc: "http://img.b2bpic.net/free-photo/patient-getting-chemotherapy-treatment_23-2149261101.jpg?_wi=12", imageAlt: "Hero Image 6" },
|
||||||
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",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
|
buttons={[{ text: "Start Donating", href: "#contact" }]}
|
||||||
avatars={[
|
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",
|
{ src: "http://img.b2bpic.net/free-photo/portrait-african-american-person-casual-grey-hoodie-smiling_482257-122367.jpg", alt: "Donor 2" },
|
||||||
alt: "Donor 1",
|
{ 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 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"
|
avatarText="Join 10,000+ life-saving heroes"
|
||||||
marqueeItems={[
|
marqueeItems={[
|
||||||
{
|
{ type: "text", text: "Red Cross Verified" },
|
||||||
type: "text",
|
{ type: "text", text: "Hospital Network Ready" },
|
||||||
text: "Red Cross Verified",
|
{ type: "text", text: "Secure Data Privacy" },
|
||||||
},
|
{ type: "text", text: "Urgent Request Support" },
|
||||||
{
|
{ type: "text", text: "Global Donor Impact" },
|
||||||
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>
|
</div>
|
||||||
@@ -173,31 +90,11 @@ export default function LandingPage() {
|
|||||||
textboxLayout="default"
|
textboxLayout="default"
|
||||||
useInvertedBackground={true}
|
useInvertedBackground={true}
|
||||||
features={[
|
features={[
|
||||||
{
|
{ icon: Heart, title: "Connect Instantly", description: "Match with local hospitals and urgent requests in your vicinity." },
|
||||||
icon: Heart,
|
{ icon: Shield, title: "Secure & Safe", description: "Verified medical partner hospitals ensure the highest standards of safety." },
|
||||||
title: "Connect Instantly",
|
{ icon: Zap, title: "Real-time Tracking", description: "Know when your blood has reached a patient in need." },
|
||||||
description: "Match with local hospitals and urgent requests in your vicinity.",
|
{ 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: 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"
|
title="Making Donation Simple"
|
||||||
description="Our platform streamlines the entire process from finding a donation site to getting updates on your impact."
|
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"
|
textboxLayout="default"
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
testimonials={[
|
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: "1",
|
{ 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" },
|
||||||
name: "Mark Stevens",
|
{ 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" },
|
||||||
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",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
title="Voices of Hope"
|
title="Voices of Hope"
|
||||||
description="Stories from real donors and families who have benefited from blood donation."
|
description="Stories from real donors and families who have benefited from blood donation."
|
||||||
@@ -275,21 +120,8 @@ export default function LandingPage() {
|
|||||||
textboxLayout="default"
|
textboxLayout="default"
|
||||||
useInvertedBackground={true}
|
useInvertedBackground={true}
|
||||||
faqs={[
|
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: "q1",
|
{ 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: "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.",
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
title="Frequently Asked Questions"
|
title="Frequently Asked Questions"
|
||||||
description="Everything you need to know about starting your journey as a blood donor."
|
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"
|
title="Become a Donor"
|
||||||
description="Ready to save lives? Fill out the form below to get started and connect with a nearby donation center."
|
description="Ready to save lives? Fill out the form below to get started and connect with a nearby donation center."
|
||||||
inputs={[
|
inputs={[
|
||||||
{
|
{ name: "name", type: "text", placeholder: "Full Name", required: true },
|
||||||
name: "name",
|
{ name: "email", type: "email", placeholder: "Email Address", required: true },
|
||||||
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,
|
|
||||||
},
|
|
||||||
]}
|
]}
|
||||||
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"
|
imageSrc="http://img.b2bpic.net/free-photo/stylish-beautiful-spacious-dental-clinic_8353-9586.jpg?_wi=2"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -334,14 +145,8 @@ export default function LandingPage() {
|
|||||||
<div id="footer" data-section="footer">
|
<div id="footer" data-section="footer">
|
||||||
<FooterLogoReveal
|
<FooterLogoReveal
|
||||||
logoText="LifeBlood"
|
logoText="LifeBlood"
|
||||||
leftLink={{
|
leftLink={{ text: "Privacy Policy", href: "#" }}
|
||||||
text: "Privacy Policy",
|
rightLink={{ text: "Contact Support", href: "mailto:support@lifeblood.com" }}
|
||||||
href: "#",
|
|
||||||
}}
|
|
||||||
rightLink={{
|
|
||||||
text: "Contact Support",
|
|
||||||
href: "mailto:support@lifeblood.com",
|
|
||||||
}}
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</ReactLenis>
|
</ReactLenis>
|
||||||
|
|||||||
26
src/app/patient-request/page.tsx
Normal file
26
src/app/patient-request/page.tsx
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
"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 defaultButtonVariant="hover-magnetic" defaultTextAnimation="entrance-slide" borderRadius="rounded" contentWidth="medium" sizing="medium" background="circleGradient" cardStyle="glass-elevated" primaryButtonStyle="gradient" secondaryButtonStyle="glass" headingFontWeight="normal">
|
||||||
|
<div id="nav" data-section="nav">
|
||||||
|
<NavbarLayoutFloatingInline
|
||||||
|
navItems={[{ name: "Home", id: "/" }, { name: "Register", id: "/donor-registration" }, { name: "Profile", id: "/donor-profile" }, { name: "Request", id: "/patient-request" }]}
|
||||||
|
brandName="LifeBlood"
|
||||||
|
button={{ text: "Submit Request", href: "/patient-request" }}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div id="contact" data-section="contact">
|
||||||
|
<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}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</ThemeProvider>
|
||||||
|
);
|
||||||
|
}
|
||||||
31
src/app/schedule/page.tsx
Normal file
31
src/app/schedule/page.tsx
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
"use client";
|
||||||
|
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||||
|
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
|
||||||
|
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
|
||||||
|
|
||||||
|
export default function SchedulePage() {
|
||||||
|
return (
|
||||||
|
<ThemeProvider defaultButtonVariant="hover-magnetic" defaultTextAnimation="entrance-slide" borderRadius="rounded" contentWidth="medium" sizing="medium" background="circleGradient" cardStyle="glass-elevated" primaryButtonStyle="gradient" secondaryButtonStyle="glass" headingFontWeight="normal">
|
||||||
|
<div id="nav" data-section="nav">
|
||||||
|
<NavbarLayoutFloatingInline
|
||||||
|
navItems={[{ name: "Home", id: "/" }, { name: "Facilities", id: "/facilities" }, { name: "Inventory", id: "/inventory" }, { name: "Schedule", id: "/schedule" }]}
|
||||||
|
brandName="LifeBlood"
|
||||||
|
button={{ text: "Account", href: "/" }}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div id="content" data-section="content">
|
||||||
|
<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>
|
||||||
|
</div>
|
||||||
|
<div id="footer" data-section="footer">
|
||||||
|
<FooterLogoReveal
|
||||||
|
logoText="LifeBlood"
|
||||||
|
leftLink={{ text: "Privacy Policy", href: "#" }}
|
||||||
|
rightLink={{ text: "Contact Support", href: "mailto:support@lifeblood.com" }}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</ThemeProvider>
|
||||||
|
);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user