From fc065b50aa2da187bb19df0be14b6c258a3b9b68 Mon Sep 17 00:00:00 2001 From: Roba Boru Date: Thu, 9 Jul 2026 17:20:00 +0300 Subject: [PATCH] design revamp --- .../src/app/booking/confirmation/page.tsx | 43 ++-- .../portal/src/app/booking/results/page.tsx | 16 +- .../portal/src/app/booking/search/page.tsx | 72 ++++-- .../portal/src/app/contact/page.tsx | 7 +- .../portal/src/app/go/page.tsx | 2 +- .../portal/src/app/layout.tsx | 20 +- .../portal/src/components/AppHeader.tsx | 214 ------------------ .../portal/src/components/AppSidebar.tsx | 212 +++++++++++++++++ .../portal/src/components/BottomTabBar.tsx | 69 ++++++ .../portal/src/components/LandingNav.tsx | 163 ------------- .../portal/src/components/MobileTopBar.tsx | 24 ++ .../src/components/ModernDatePicker.tsx | 14 +- .../src/components/ProgressIndicator.tsx | 19 +- 13 files changed, 430 insertions(+), 445 deletions(-) delete mode 100644 apps/edr-passenger-web/portal/src/components/AppHeader.tsx create mode 100644 apps/edr-passenger-web/portal/src/components/AppSidebar.tsx create mode 100644 apps/edr-passenger-web/portal/src/components/BottomTabBar.tsx delete mode 100644 apps/edr-passenger-web/portal/src/components/LandingNav.tsx create mode 100644 apps/edr-passenger-web/portal/src/components/MobileTopBar.tsx diff --git a/apps/edr-passenger-web/portal/src/app/booking/confirmation/page.tsx b/apps/edr-passenger-web/portal/src/app/booking/confirmation/page.tsx index 4189e9240..719e80f18 100644 --- a/apps/edr-passenger-web/portal/src/app/booking/confirmation/page.tsx +++ b/apps/edr-passenger-web/portal/src/app/booking/confirmation/page.tsx @@ -456,26 +456,29 @@ export default function ConfirmationPage() { - {/* Action Buttons */} -
- -
+ {/* Action Buttons — voucher/ticket only makes sense once the booking is + actually confirmed; a pending-payment booking has no real ticket yet. */} + {isConfirmed && ( +
+ +
+ )} {/* New Booking Button */} + {hasInteracted && errors.originStationId && ( +

+ {errors.originStationId.message} +

+ )}
@@ -998,6 +1025,11 @@ export default function SearchPage() {
+ {hasInteracted && errors.destinationStationId && ( +

+ {errors.destinationStationId.message} +

+ )}
+ {errors.departureDate && ( +

+ {errors.departureDate.message} +

+ )} {tripType === "ROUND_TRIP" && (
@@ -1047,6 +1085,7 @@ export default function SearchPage() { : new Date() } placeholder="Select return date" + error={!!errors.returnDate} />
{errors.returnDate && ( @@ -1182,6 +1221,7 @@ export default function SearchPage() { }} minDate={new Date()} placeholder="Departure" + error={!!errors.departureDate} /> {errors.departureDate && ( @@ -1324,6 +1364,7 @@ export default function SearchPage() { }} minDate={new Date()} placeholder="Select date" + error={!!errors.departureDate} /> {errors.departureDate && ( @@ -1357,6 +1398,7 @@ export default function SearchPage() { : new Date() } placeholder="Select date" + error={!!errors.returnDate} /> {errors.returnDate && ( diff --git a/apps/edr-passenger-web/portal/src/app/contact/page.tsx b/apps/edr-passenger-web/portal/src/app/contact/page.tsx index f2c0f4296..669a99d0b 100644 --- a/apps/edr-passenger-web/portal/src/app/contact/page.tsx +++ b/apps/edr-passenger-web/portal/src/app/contact/page.tsx @@ -3,16 +3,18 @@ import { useEffect, useState } from 'react'; import { getTranslation, Language, useLanguage } from '@/lib/i18n'; import { Phone, Mail, MapPin, Send, Loader } from 'lucide-react'; +import { Footer } from '@/components/Footer'; const styles = ` .contact-hero { padding: 60px 20px; - background: linear-gradient(to bottom right, rgb(20, 113, 76), transparent); + background: #ffffff; text-align: center; color: #111827; } - + .dark .contact-hero { + background: #111827; color: #f3f4f6; } @@ -370,6 +372,7 @@ export default function Contact() { +