From 53da760e1c9e5aa40838472b6e7223c05f5f4e67 Mon Sep 17 00:00:00 2001 From: Mahi Sawner Date: Tue, 10 Feb 2026 21:59:12 +0530 Subject: [PATCH 1/4] Update Homepage with diffenent UI(dont merge it for now) --- .DS_Store | Bin 6148 -> 8196 bytes backend/.DS_Store | Bin 0 -> 6148 bytes frontend/{TODO.md => TODO.md 12-30-37-273.md} | 0 frontend/app/globals.css | 57 ++- .../modules/common/components/login-form.jsx | 8 +- .../modules/common/components/signup-form.jsx | 12 +- frontend/modules/common/pages/HomePage.jsx | 378 ++++++++++++++---- .../modules/driver/context/DriverContext.js | 2 +- frontend/modules/driver/pages/Dashboard.jsx | 16 +- frontend/modules/driver/pages/History.jsx | 2 +- frontend/modules/driver/pages/Request.jsx | 8 +- frontend/modules/driver/pages/Trip.jsx | 6 +- frontend/modules/user/components/UserNav.jsx | 7 +- frontend/modules/user/pages/Ambulance.jsx | 2 +- frontend/modules/user/pages/Dashboard.jsx | 22 +- frontend/modules/user/pages/History.jsx | 2 +- frontend/next.config.ts | 4 +- 17 files changed, 397 insertions(+), 129 deletions(-) create mode 100644 backend/.DS_Store rename frontend/{TODO.md => TODO.md 12-30-37-273.md} (100%) diff --git a/.DS_Store b/.DS_Store index afe7793f4e596caa484a4869107bf7edff7238a5..5f5ce444dac15c5f487c4156a38d5736835be3ae 100644 GIT binary patch literal 8196 zcmeHMO>YxN7=Fh|n{^V(CL|D0k(T&^L`Xss^+Tw_F^M1)NED|bApx^%Pn=EGGuG}p zZipiJ+)6!g_JR&;(_t7e3>XFs1BL;^!2f{( z+_OcoPT2RA*0hEJ!@y_BfLI?KtOD~ITMFgUfsH%@AogOnEGXkSK>9cu^BP+Ur7Ol% zrw5{4i9TWw<&Jtsm?P#jwiGINAj%zx9+~J93X!9upCiqIzYPn#usoXck2fsqmWcz{7D!f_X4OWSyZ&4|%td%X< zV@F4`GjkKp?6=4&rDA^bF<$ZA7`!6+|>2e(tc25{1^G$K=jf9r_|>U?XR6# z`Q-zh75O8{>Mz?)^2+uP44(Sxv^_L@W@uz+baeFWxv}#XE__|G&v%d@XMSP{ik#zra#9*DA~g)yH#3w{IP58u#Pq(A3J2MTOp-vs~Y;1<(-{~#v5(& zX30Jsl|vo`D?IXJpR>*F2&rC*X>Ez^a2)XfXomsM%u@KNA; zG+1T@9>=^UEJZX-WF@2`k{r8OcgsGj=5G9}$js$e65+BEY{)4A-!n%NNh8U<+WT9| zYm76R&F1nyYLx|7U>@#35q6;ozrl0(9bUp~cmw~yThdF;l5ui{%#k0+4RV_-k%y#A zc8O2+lz%4qsxRtz8c2jf>gRq?3|YWg6*a=kf*lBf<3(27bvnF2oA&9@VV{cEpNalmX5yc_eUV@(>!lw(doq`%p-d*rfc9AP4`=?+5F~TVwV=i^H znumKhl}oTJEv7KaNu%7?qjc4y-w?)A%Y_S79OWtmIEGk0CSec9MD9}gJxk>`n2K)9xd0l2hTE`TY335($9nAJBT<5GGuQq7p?{2VWM!WuJFc|p4agCS3$DcA>hy}?f;;t*+9ir@z~Bz2mk*~aJH4SezdGlSyg6JF&}w7A z80a!^6uMJ6|1W>O|973NXABqv|B3-O&hE05Thg<&w>dd$BbG-N5wU9n?p@gMM=@>X dC_ZQLLVY9+Vxrgvq=sTY0-gq|jDdqP@BuuBYNr4I diff --git a/backend/.DS_Store b/backend/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..c753349ac03a4a0bc2a0b2c458aa4a94b7201b37 GIT binary patch literal 6148 zcmeHK%TC)s6g`thAvCChU6)pOU66=BFi}__(IW9!r*RyWM~b63fvvxR59mkmgYCI@ zMrb@SU7~{KMl)v~_sqRMV|!u%X1LA|fL#Dx7QyyMRt+ZeQZ}sRMucp1jT@B5^J1FK zi)_O?4nzf_0{@!=^6Yjn!Gga&>d&vt4O#ks)HL-TrYLZS6_&&~e>1lHr(Rf30jq@^ znfGR(kNFb#v>ClX7OrI;1HT@A;hO8^8vB8{FPTG-K}+6Ee%>9j3UX#-g}%$ccZb(! zeaDWq)>r{gwfXI7vqudl)aRD^R{t@BOGFc zZ^S;c&g+p>MW4~p{abS%o3-UZ?vj=$=rg*{jB8&1Mg&pLeDajr!Uay5 z{b^I~qSC*-7pv@KU9KdDuefxPOAM&O1XsLQO5y|eRIXvbD9nd@wBmj&*gvFZLyQ?) zJO;c2?H=^I6ixaeoN8Je+FqNN)5iD4|A7)N&(XzosalQ#zVK+ setEmail(e.target.value)} required - className="h-12 border-gray-300 focus:border-[#D70040] focus:ring-[#D70040]" + className="h-12 border-gray-300 focus:border-[#2563EB] focus:ring-[#2563EB]" /> @@ -70,14 +70,14 @@ export function LoginForm({ value={password} onChange={(e) => setPassword(e.target.value)} required - className="h-12 border-gray-300 focus:border-[#D70040] focus:ring-[#D70040]" + className="h-12 border-gray-300 focus:border-[#2563EB] focus:ring-[#2563EB]" /> {error &&

{error}

} @@ -85,7 +85,7 @@ export function LoginForm({ Don't have an account?{' '} - + Sign up diff --git a/frontend/modules/common/components/signup-form.jsx b/frontend/modules/common/components/signup-form.jsx index c05ef26..a80bdad 100644 --- a/frontend/modules/common/components/signup-form.jsx +++ b/frontend/modules/common/components/signup-form.jsx @@ -77,7 +77,7 @@ export function SignupForm({ value={name} onChange={(e) => setName(e.target.value)} required - className="h-12 border-gray-300 focus:border-[#D70040] focus:ring-[#D70040]" + className="h-12 border-gray-300 focus:border-[#2563EB] focus:ring-[#2563EB]" /> @@ -90,7 +90,7 @@ export function SignupForm({ value={email} onChange={(e) => setEmail(e.target.value)} required - className="h-12 border-gray-300 focus:border-[#D70040] focus:ring-[#D70040]" + className="h-12 border-gray-300 focus:border-[#2563EB] focus:ring-[#2563EB]" /> @@ -103,7 +103,7 @@ export function SignupForm({ value={phone} onChange={(e) => setPhone(e.target.value)} required - className="h-12 border-gray-300 focus:border-[#D70040] focus:ring-[#D70040]" + className="h-12 border-gray-300 focus:border-[#2563EB] focus:ring-[#2563EB]" /> @@ -116,7 +116,7 @@ export function SignupForm({ value={password} onChange={(e) => setPassword(e.target.value)} required - className="h-12 border-gray-300 focus:border-[#D70040] focus:ring-[#D70040]" + className="h-12 border-gray-300 focus:border-[#2563EB] focus:ring-[#2563EB]" /> Must be at least 8 characters long @@ -126,7 +126,7 @@ export function SignupForm({ @@ -134,7 +134,7 @@ export function SignupForm({ Already have an account?{' '} - + Sign in diff --git a/frontend/modules/common/pages/HomePage.jsx b/frontend/modules/common/pages/HomePage.jsx index e0ce6aa..00ce906 100644 --- a/frontend/modules/common/pages/HomePage.jsx +++ b/frontend/modules/common/pages/HomePage.jsx @@ -1,71 +1,65 @@ 'use client'; import React from 'react'; -import { Activity, Users, MapPin, Clock, Shield, Phone } from 'lucide-react'; +import { Activity, Users, MapPin, Clock, Shield, Phone, ArrowRight, CheckCircle2, Mail, Facebook, Twitter, Instagram, Linkedin } from 'lucide-react'; import { useRouter } from 'next/navigation'; const featureCards = [ { title: 'Instant Response', - description: 'Get ambulances to your location within 5 minutes of booking', + description: 'Get ambulances to your location within 5 minutes of booking.', icon: Clock, - gradient: 'from-[#D70040] to-[#D70040]', }, { title: 'Real-Time Tracking', - description: 'Track your ambulance location live on the map until arrival', + description: 'Track your ambulance location live on the map until arrival.', icon: MapPin, - gradient: 'from-blue-500 to-blue-600', }, { title: 'Verified Drivers', - description: 'All drivers are verified medical professionals with proper licenses', + description: 'All drivers are verified medical professionals with proper licenses.', icon: Shield, - gradient: 'from-[#D70040] to-[#D70040]', }, { title: '24/7 Support', - description: 'Emergency assistance available round the clock, every day', + description: 'Emergency assistance available round the clock, every day.', icon: Phone, - gradient: 'from-blue-500 to-blue-600', }, { - title: 'Multiple Ambulance Types', - description: 'Choose from Basic, ICU, Neonatal, or Air Ambulance services', + title: 'Advanced Care', + description: 'Choose from Basic, ICU, Neonatal, or Air Ambulance services.', icon: Activity, - gradient: 'from-[#D70040] to-[#D70040]', }, { - title: 'Smart Navigation', - description: 'Optimized routes to reach hospitals faster during emergencies', + title: 'Smart Routes', + description: 'Optimized routes to reach hospitals faster during emergencies.', icon: MapPin, - gradient: 'from-blue-500 to-blue-600', }, ]; const steps = [ { number: '01', - title: 'Share Location', - description: 'Enable GPS and share your current location or enter pickup address', + title: 'Book Ambulance', + description: 'Enter your pickup and destination locations to book an ambulance.', icon: MapPin, }, { number: '02', title: 'Choose Ambulance', - description: 'Select ambulance type based on emergency and view estimated fare', + description: 'Select ambulance type based on your specific medical emergency needs.', icon: Phone, }, { number: '03', title: 'Track Live', - description: 'Watch ambulance arrival in real-time with live map tracking', + description: 'Watch ambulance arrival in real-time with our live GPS map tracking.', icon: Activity, }, { number: '04', title: 'Get Help', - description: 'Reach hospital safely with professional medical care on the way', + description: 'Reach the hospital safely with professional medical care on the way.', icon: Shield, }, ]; @@ -82,93 +76,309 @@ const HomePage = () => { }; return ( -
-
-
- -
-

Emergency Help

-

Just One Tap Away

-

- Book emergency medical transportation in seconds. Available 24/7 with trained professionals. -

-
- - +
+ + {/* Hero Section with Wave Background */} +
+ {/* Hero Background Elements */} +
+ {/* Top Right Blue Wave */} +
+ + + +
+ + {/* Bottom Left Blue Wave (Rotated) */} +
+ + + +
+ + {/* Soft Blue Gradients focused on Hero */} +
-
- - For immediate emergency: Call 102 + +
+
+ {/* Left Content */} +
+
+ + Emergency Medical Services +
+ +

+ Emergency? We’re On the Way +

+ +

+ Get immediate medical assistance with fast and reliable ambulance services. We ensure safe transport and rapid response when every moment matters. +

+ +
+ + +
+ +
+
+ + Verified Medical Staff +
+
+ + Rapid Response +
+
+ + 24/7 Availability +
+
+
+ + {/* Right Images - Floating Cards with Hover Animation */} +
+ {/* Card 1 - Top Left */} +
+
+
+ Emergency Ambulance +
+
+
+
+ + {/* Card 2 - Top Right */} +
+
+
+ Ambulance Fleet +
+
+
+
+ + {/* Card 3 - Bottom Center */} +
+
+
+ Emergency Response Team +
+
+
+
+ + {/* Decorative Element within Hero Scope */} +
+
+
+
-
-
-

Why Choose AmbuConnect?

-

- Fast, reliable, and professional emergency medical services at your fingertips -

-
- {featureCards.map(({ title, description, icon: Icon, gradient }) => ( + {/* Features Grid - Plain White Background */} +
+
+
+

Our Services

+

Why Choose AmbuConnect

+

+ Advanced technology meets compassionate care to provide the best emergency response. +

+
+ +
+ {featureCards.map(({ title, description, icon: Icon }) => (
-
- + {/* Background Large Icon - Always Visible */} +
+ +
+ +
+
+ +
+

{title}

+

{description}

-

{title}

-

{description}

))}
-
-
-
-

How It Works

-

Getting emergency help is as simple as 1-2-3-4

+ {/* How It Works Steps - Plain White Background */} +
+
+
+

Simple Process

+

How to Book Help

-
-
+ +
+ {/* Connector Line (Desktop) */} +
+ {steps.map(({ number, title, description, icon: Icon }) => ( -
-
- {number} +
+
+
+
+ +
+
+ {number} +
+
+

{title}

+

+ {description} +

-
- -
-

{title}

-

{description}

))}
-