16 Commits

Author SHA1 Message Date
15ccc492ce Update src/app/login/page.tsx 2026-04-20 19:50:41 +00:00
af36a8ae11 Merge version_2 into main
Merge version_2 into main
2026-04-20 19:45:05 +00:00
b0c41f10b1 Update src/app/register/page.tsx 2026-04-20 19:45:01 +00:00
4105ba6133 Update src/app/login/page.tsx 2026-04-20 19:45:01 +00:00
96ec7a7071 Update src/app/doctor-register/page.tsx 2026-04-20 19:45:00 +00:00
b06f542ec7 Update src/app/doctor-login/page.tsx 2026-04-20 19:45:00 +00:00
65576da266 Update src/app/doctor-dashboard/page.tsx 2026-04-20 19:44:59 +00:00
0c4cab3e6c Update src/app/dashboard/page.tsx 2026-04-20 19:44:59 +00:00
2732e166ed Merge version_2 into main
Merge version_2 into main
2026-04-20 19:44:34 +00:00
e07e450606 Add src/app/register/page.tsx 2026-04-20 19:44:31 +00:00
09266ab1ad Update src/app/page.tsx 2026-04-20 19:44:31 +00:00
16cd814efc Add src/app/login/page.tsx 2026-04-20 19:44:30 +00:00
560b58dc73 Add src/app/doctor-register/page.tsx 2026-04-20 19:44:30 +00:00
33ec7b8b06 Add src/app/doctor-login/page.tsx 2026-04-20 19:44:29 +00:00
5daebb5c12 Add src/app/doctor-dashboard/page.tsx 2026-04-20 19:44:29 +00:00
bdbb0882e4 Add src/app/dashboard/page.tsx 2026-04-20 19:44:29 +00:00
7 changed files with 225 additions and 146 deletions

View File

@@ -0,0 +1,25 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
export default function PatientDashboard() {
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">
<NavbarLayoutFloatingOverlay
navItems={[
{ name: "Home", id: "/" },
{ name: "Dashboard", id: "/dashboard" },
{ name: "Logout", id: "/" },
]}
brandName="MediConnect"
/>
</div>
<div className="min-h-screen pt-24 p-8">
<h1 className="text-4xl font-bold mb-6">Patient Dashboard</h1>
<p>Welcome to your health portal. Here you can view your prescriptions and upcoming appointments.</p>
</div>
</ThemeProvider>
);
}

View File

@@ -0,0 +1,36 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
import FeatureBorderGlow from '@/components/sections/feature/featureBorderGlow/FeatureBorderGlow';
import { Calendar, Users, FileText } from "lucide-react";
export default function DoctorDashboardPage() {
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">
<NavbarLayoutFloatingOverlay
navItems={[
{ name: "Home", id: "/" },
{ name: "Logout", id: "/" },
]}
brandName="MediConnect"
/>
</div>
<div className="pt-32 pb-20">
<FeatureBorderGlow
title="Doctor Dashboard"
description="Manage your patients and consultations."
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={false}
features={[
{ icon: Calendar, title: "Upcoming Consultations", description: "View your schedule for the day." },
{ icon: Users, title: "Patient Records", description: "Access secure patient history." },
{ icon: FileText, title: "Prescription Pad", description: "Issue and track digital prescriptions." },
]}
/>
</div>
</ThemeProvider>
);
}

View File

@@ -0,0 +1,31 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
export default function DoctorLoginPage() {
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">
<NavbarLayoutFloatingOverlay
navItems={[
{ name: "Home", id: "/" },
{ name: "Register", id: "/doctor-register" },
]}
brandName="MediConnect"
/>
</div>
<ContactSplitForm
title="Doctor Login"
description="Access your secure doctor dashboard."
inputs={[
{ name: "email", type: "email", placeholder: "Email Address" },
{ name: "password", type: "password", placeholder: "Password" }
]}
buttonText="Login"
useInvertedBackground={false}
/>
</ThemeProvider>
);
}

View File

@@ -0,0 +1,33 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
export default function DoctorRegisterPage() {
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">
<NavbarLayoutFloatingOverlay
navItems={[
{ name: "Home", id: "/" },
{ name: "Login", id: "/doctor-login" },
]}
brandName="MediConnect"
/>
</div>
<ContactSplitForm
title="Doctor Registration"
description="Join our network of healthcare professionals."
inputs={[
{ name: "fullName", type: "text", placeholder: "Full Name" },
{ name: "licenseNumber", type: "text", placeholder: "Medical License Number" },
{ name: "email", type: "email", placeholder: "Email Address" },
{ name: "password", type: "password", placeholder: "Password" }
]}
buttonText="Register"
useInvertedBackground={false}
/>
</ThemeProvider>
);
}

36
src/app/login/page.tsx Normal file
View File

@@ -0,0 +1,36 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
import { LogIn } from "lucide-react";
export default function LoginPage() {
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">
<NavbarLayoutFloatingOverlay
navItems={[
{ name: "Home", id: "/" },
{ name: "Register", id: "/register" },
{ name: "Login", id: "/login" },
]}
brandName="MediConnect"
/>
</div>
<div className="pt-32 pb-20">
<ContactSplitForm
title="Welcome Back"
description="Sign in to your patient portal to manage your health records and appointments securely."
inputs={[
{ name: "email", type: "email", placeholder: "Email Address", required: true },
{ name: "password", type: "password", placeholder: "Password", required: true }
]}
buttonText="Sign In"
useInvertedBackground={false}
mediaPosition="right"
/>
</div>
</ThemeProvider>
);
}

View File

@@ -31,22 +31,12 @@ export default function LandingPage() {
<div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay
navItems={[
{
name: "Home",
id: "hero",
},
{
name: "About",
id: "about",
},
{
name: "Services",
id: "features",
},
{
name: "Contact",
id: "contact",
},
{ name: "Home", id: "hero" },
{ name: "About", id: "about" },
{ name: "Services", id: "features" },
{ name: "Register", id: "/register" },
{ name: "Login", id: "/login" },
{ name: "Contact", id: "contact" },
]}
brandName="MediConnect"
/>
@@ -55,42 +45,21 @@ export default function LandingPage() {
<div id="hero" data-section="hero">
<HeroBillboardCarousel
background={{
variant: "gradient-bars",
}}
variant: "gradient-bars"}}
title="Modern Healthcare, One Click Away"
description="Consult with certified doctors from the comfort of your home. Your prescriptions are recorded and saved securely for your ease."
tag="Trusted Telehealth"
buttons={[
{
text: "Consult Now",
href: "#contact",
},
{ text: "Get Started", href: "/register" },
{ text: "Login", href: "/login" },
]}
mediaItems={[
{
imageSrc: "http://img.b2bpic.net/free-photo/patient-with-sickness-using-video-call-telemedicine-laptop_482257-29026.jpg",
imageAlt: "Telehealth Consultation",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/closeup-african-american-doctor-analyzing-sickness-expertise-using-tablet-monitoring-patient-symptoms-clinical-examination-therapist-working-healthcare-treatment-hospital-office_482257-31844.jpg",
imageAlt: "Digital Prescription Record",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/doctor-using-tablet-diagnose-medical-technology_53876-104202.jpg",
imageAlt: "Medical Connectivity",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/woman-working-as-doctor_23-2148827837.jpg",
imageAlt: "Prescription Management",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/female-physician-taking-ntoes-checkup-visit-with-wheelchair-user-doing-consultation-medical-office-doctor-examining-senior-patient-with-chronic-disability-impairment_482257-50458.jpg",
imageAlt: "Secure Health Portal",
},
{
imageSrc: "http://img.b2bpic.net/free-photo/empty-hospital-corridor-with-glass-doors_181624-19954.jpg",
imageAlt: "Hospital Environment",
},
{ imageSrc: "http://img.b2bpic.net/free-photo/patient-with-sickness-using-video-call-telemedicine-laptop_482257-29026.jpg", imageAlt: "Telehealth Consultation" },
{ imageSrc: "http://img.b2bpic.net/free-photo/closeup-african-american-doctor-analyzing-sickness-expertise-using-tablet-monitoring-patient-symptoms-clinical-examination-therapist-working-healthcare-treatment-hospital-office_482257-31844.jpg", imageAlt: "Digital Prescription Record" },
{ imageSrc: "http://img.b2bpic.net/free-photo/doctor-using-tablet-diagnose-medical-technology_53876-104202.jpg", imageAlt: "Medical Connectivity" },
{ imageSrc: "http://img.b2bpic.net/free-photo/woman-working-as-doctor_23-2148827837.jpg", imageAlt: "Prescription Management" },
{ imageSrc: "http://img.b2bpic.net/free-photo/female-physician-taking-ntoes-checkup-visit-with-wheelchair-user-doing-consultation-medical-office-doctor-examining-senior-patient-with-chronic-disability-impairment_482257-50458.jpg", imageAlt: "Secure Health Portal" },
{ imageSrc: "http://img.b2bpic.net/free-photo/empty-hospital-corridor-with-glass-doors_181624-19954.jpg", imageAlt: "Hospital Environment" },
]}
/>
</div>
@@ -109,21 +78,9 @@ export default function LandingPage() {
textboxLayout="default"
useInvertedBackground={false}
features={[
{
icon: Video,
title: "Live Video Consults",
description: "High-quality, secure video sessions with expert doctors.",
},
{
icon: FileText,
title: "Digital Prescriptions",
description: "Automated, secure, and easily accessible prescription storage.",
},
{
icon: ShieldCheck,
title: "Secure Records",
description: "Privacy-first approach ensuring all records are encrypted and safe.",
},
{ icon: Video, title: "Live Video Consults", description: "High-quality, secure video sessions with expert doctors." },
{ icon: FileText, title: "Digital Prescriptions", description: "Automated, secure, and easily accessible prescription storage." },
{ icon: ShieldCheck, title: "Secure Records", description: "Privacy-first approach ensuring all records are encrypted and safe." },
]}
title="Integrated Healthcare Solutions"
description="Powerful features to manage your health and prescriptions effectively."
@@ -137,27 +94,9 @@ export default function LandingPage() {
gridVariant="bento-grid"
useInvertedBackground={true}
metrics={[
{
id: "m1",
value: "50k+",
title: "Consultations",
description: "Successfully completed sessions.",
icon: Users,
},
{
id: "m2",
value: "100%",
title: "Record Safety",
description: "End-to-end encrypted storage.",
icon: Lock,
},
{
id: "m3",
value: "24/7",
title: "Access",
description: "Available whenever you need.",
icon: Clock,
},
{ id: "m1", value: "50k+", title: "Consultations", description: "Successfully completed sessions.", icon: Users },
{ id: "m2", value: "100%", title: "Record Safety", description: "End-to-end encrypted storage.", icon: Lock },
{ id: "m3", value: "24/7", title: "Access", description: "Available whenever you need.", icon: Clock },
]}
title="Proven Care Excellence"
description="Our platform facilitates thousands of successful consultations daily."
@@ -170,41 +109,11 @@ export default function LandingPage() {
textboxLayout="default"
useInvertedBackground={false}
testimonials={[
{
id: "1",
name: "Sarah Miller",
role: "Patient",
testimonial: "The video quality is excellent, and having all my prescriptions saved automatically in one place is a lifesaver.",
imageSrc: "http://img.b2bpic.net/free-photo/beautiful-young-woman-using-her-digital-tablet-home_1301-4039.jpg",
},
{
id: "2",
name: "James Anderson",
role: "Patient",
testimonial: "Very easy to use, and I really appreciate the secure document management.",
imageSrc: "http://img.b2bpic.net/free-photo/sick-man-having-video-call-with-doctor_23-2148944838.jpg",
},
{
id: "3",
name: "Lisa Wang",
role: "Patient",
testimonial: "My doctor was thorough, and getting the prescription directly saved to my profile was so convenient.",
imageSrc: "http://img.b2bpic.net/free-photo/close-up-doctor-using-digital-tablet-with-touch-screen_482257-26983.jpg",
},
{
id: "4",
name: "Robert Chen",
role: "Patient",
testimonial: "Secure, reliable, and professional. I highly recommend this for busy professionals.",
imageSrc: "http://img.b2bpic.net/free-photo/woman-sits-mat-uses-smartphone-online-workout-concept_169016-47282.jpg",
},
{
id: "5",
name: "Emma Davis",
role: "Patient",
testimonial: "Absolutely the best experience I have had with a digital medical platform.",
imageSrc: "http://img.b2bpic.net/free-photo/african-american-nurse-doing-comforting-gesture-senior-people-web-call_482257-122750.jpg",
},
{ id: "1", name: "Sarah Miller", role: "Patient", testimonial: "The video quality is excellent, and having all my prescriptions saved automatically in one place is a lifesaver.", imageSrc: "http://img.b2bpic.net/free-photo/beautiful-young-woman-using-her-digital-tablet-home_1301-4039.jpg" },
{ id: "2", name: "James Anderson", role: "Patient", testimonial: "Very easy to use, and I really appreciate the secure document management.", imageSrc: "http://img.b2bpic.net/free-photo/sick-man-having-video-call-with-doctor_23-2148944838.jpg" },
{ id: "3", name: "Lisa Wang", role: "Patient", testimonial: "My doctor was thorough, and getting the prescription directly saved to my profile was so convenient.", imageSrc: "http://img.b2bpic.net/free-photo/close-up-doctor-using-digital-tablet-with-touch-screen_482257-26983.jpg" },
{ id: "4", name: "Robert Chen", role: "Patient", testimonial: "Secure, reliable, and professional. I highly recommend this for busy professionals.", imageSrc: "http://img.b2bpic.net/free-photo/woman-sits-mat-uses-smartphone-online-workout-concept_169016-47282.jpg" },
{ id: "5", name: "Emma Davis", role: "Patient", testimonial: "Absolutely the best experience I have had with a digital medical platform.", imageSrc: "http://img.b2bpic.net/free-photo/african-american-nurse-doing-comforting-gesture-senior-people-web-call_482257-122750.jpg" },
]}
title="Patient Success Stories"
description="See why thousands trust our platform for their primary healthcare needs."
@@ -215,21 +124,9 @@ export default function LandingPage() {
<FaqSplitText
useInvertedBackground={true}
faqs={[
{
id: "f1",
title: "Are my prescriptions secure?",
content: "Yes, we use bank-grade encryption to ensure your health records and prescriptions are perfectly secure.",
},
{
id: "f2",
title: "Can I consult anytime?",
content: "Our platform supports 24/7 access, allowing you to schedule consults at your convenience.",
},
{
id: "f3",
title: "How do I access saved prescriptions?",
content: "All prescriptions are saved automatically in your account dashboard under the prescriptions tab.",
},
{ id: "f1", title: "Are my prescriptions secure?", content: "Yes, we use bank-grade encryption to ensure your health records and prescriptions are perfectly secure." },
{ id: "f2", title: "Can I consult anytime?", content: "Our platform supports 24/7 access, allowing you to schedule consults at your convenience." },
{ id: "f3", title: "How do I access saved prescriptions?", content: "All prescriptions are saved automatically in your account dashboard under the prescriptions tab." },
]}
sideTitle="Frequently Asked Questions"
sideDescription="Find answers to common questions about our platform."
@@ -241,16 +138,12 @@ export default function LandingPage() {
<ContactCTA
useInvertedBackground={false}
background={{
variant: "sparkles-gradient",
}}
variant: "sparkles-gradient"}}
tag="Contact Us"
title="Start Your Health Journey Today"
description="Ready to get professional medical advice? Our team is standing by to help you schedule your first video consultation."
buttons={[
{
text: "Schedule Consultation",
href: "#",
},
{ text: "Schedule Consultation", href: "#" },
]}
/>
</div>
@@ -258,14 +151,8 @@ export default function LandingPage() {
<div id="footer" data-section="footer">
<FooterLogoReveal
logoText="MediConnect"
leftLink={{
text: "Privacy Policy",
href: "#",
}}
rightLink={{
text: "Terms of Service",
href: "#",
}}
leftLink={{ text: "Privacy Policy", href: "#" }}
rightLink={{ text: "Terms of Service", href: "#" }}
/>
</div>
</ReactLenis>

31
src/app/register/page.tsx Normal file
View File

@@ -0,0 +1,31 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ContactForm from '@/components/form/ContactForm';
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
export default function RegisterPage() {
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">
<NavbarLayoutFloatingOverlay
navItems={[
{ name: "Home", id: "/" },
{ name: "Register", id: "/register" },
{ name: "Login", id: "/login" },
]}
brandName="MediConnect"
/>
</div>
<div className="min-h-screen pt-24 flex items-center justify-center">
<ContactForm
title="Create Patient Account"
description="Join MediConnect to manage your health and prescriptions."
tag="Registration"
buttonText="Create Account"
useInvertedBackground={false}
/>
</div>
</ThemeProvider>
);
}