From eb4e7eed0a7fd0215d3844d2e203a2109540c7bc Mon Sep 17 00:00:00 2001 From: Roba Boru Date: Fri, 31 Jul 2026 20:44:20 +0300 Subject: [PATCH 1/2] Add nationality selection on package --- .../portal/src/app/packages/[id]/page.tsx | 610 ++++++++++++++---- 1 file changed, 483 insertions(+), 127 deletions(-) diff --git a/apps/edr-passenger-web/portal/src/app/packages/[id]/page.tsx b/apps/edr-passenger-web/portal/src/app/packages/[id]/page.tsx index 9180bfa2f..af884f59a 100644 --- a/apps/edr-passenger-web/portal/src/app/packages/[id]/page.tsx +++ b/apps/edr-passenger-web/portal/src/app/packages/[id]/page.tsx @@ -95,7 +95,7 @@ interface PackageDetail { busTransferRoute: string | null; validFrom: string; validUntil: string; - journeyType: 'ONE_WAY' | 'ROUND_TRIP'; + journeyType: "ONE_WAY" | "ROUND_TRIP"; priceTiers: PriceTier[]; outboundSchedule: Schedule; returnSchedule: Schedule | null; @@ -109,17 +109,28 @@ interface PackageDetail { function fmt(iso: string, opts?: Intl.DateTimeFormatOptions): string { try { return new Date(iso).toLocaleDateString("en-US", { - weekday: "short", month: "short", day: "numeric", + weekday: "short", + month: "short", + day: "numeric", ...opts, timeZone: "Africa/Addis_Ababa", }); - } catch { return iso; } + } catch { + return iso; + } } function fmtTime(iso: string): string { try { - return new Date(iso).toLocaleTimeString("en-US", { hour: "numeric", minute: "2-digit", hour12: true, timeZone: "Africa/Addis_Ababa" }); - } catch { return iso; } + return new Date(iso).toLocaleTimeString("en-US", { + hour: "numeric", + minute: "2-digit", + hour12: true, + timeZone: "Africa/Addis_Ababa", + }); + } catch { + return iso; + } } function durationLabel(minutes: number): string { @@ -138,7 +149,13 @@ function formatPrice(minor: number, currency: string): string { // ─── Journey Card ───────────────────────────────────────────────────────────── -function JourneyCard({ schedule, label }: { schedule: Schedule; label: string }) { +function JourneyCard({ + schedule, + label, +}: { + schedule: Schedule; + label: string; +}) { const dep = new Date(schedule.departureAt); const arr = new Date(schedule.arrivalAt); const isSameDay = dep.toDateString() === arr.toDateString(); @@ -147,8 +164,12 @@ function JourneyCard({ schedule, label }: { schedule: Schedule; label: string })
- {label} - {schedule.train.number} + + {label} + + + {schedule.train.number} +
@@ -156,11 +177,15 @@ function JourneyCard({ schedule, label }: { schedule: Schedule; label: string })
{/* Origin */}
-

From

+

+ From +

{schedule.originStation.code}

-

{schedule.originStation.name.trim()}

+

+ {schedule.originStation.name.trim()} +

{/* Center: duration + arrow */} @@ -172,31 +197,53 @@ function JourneyCard({ schedule, label }: { schedule: Schedule; label: string })
- {schedule.stopsCount} stops + + {schedule.stopsCount} stops +
{/* Destination */}
-

To

+

+ To +

{schedule.destinationStation.code}

-

{schedule.destinationStation.name.trim()}

+

+ {schedule.destinationStation.name.trim()} +

{/* Times */}
-

{fmtTime(schedule.departureAt)}

-

{fmt(schedule.departureAt, { weekday: "short", month: "short", day: "numeric" })}

+

+ {fmtTime(schedule.departureAt)} +

+

+ {fmt(schedule.departureAt, { + weekday: "short", + month: "short", + day: "numeric", + })} +

{fmtTime(schedule.arrivalAt)} - {!isSameDay && +1} + {!isSameDay && ( + +1 + )} +

+

+ {fmt(schedule.arrivalAt, { + weekday: "short", + month: "short", + day: "numeric", + })}

-

{fmt(schedule.arrivalAt, { weekday: "short", month: "short", day: "numeric" })}

@@ -215,7 +262,16 @@ function groupTiersByCoachType(tiers: PriceTier[]): Array<{ minPrice: number; currency: string; }> { - const map = new Map(); + const map = new Map< + string, + { + coachTypeId: string; + coachTypeName: string; + coachTypeCode: string; + coachTypeType: string; + tiers: PriceTier[]; + } + >(); for (const tier of tiers) { const ct = tier.seatClass?.coachType; const key = ct?.id ?? `__ungrouped__${tier.seatType}`; @@ -223,8 +279,8 @@ function groupTiersByCoachType(tiers: PriceTier[]): Array<{ map.set(key, { coachTypeId: ct?.id ?? key, coachTypeName: ct?.name ?? tier.label ?? tier.seatType, - coachTypeCode: ct?.code ?? '', - coachTypeType: ct?.type ?? 'passenger', + coachTypeCode: ct?.code ?? "", + coachTypeType: ct?.type ?? "passenger", tiers: [], }); } @@ -233,20 +289,20 @@ function groupTiersByCoachType(tiers: PriceTier[]): Array<{ return Array.from(map.values()).map((g) => ({ ...g, minPrice: Math.min(...g.tiers.map((t) => t.priceMinor)), - currency: g.tiers[0]?.currency ?? 'ETB', + currency: g.tiers[0]?.currency ?? "ETB", })); } function getCoachIcon(coachTypeType: string) { const lower = coachTypeType.toLowerCase(); - if (lower.includes('sleeper')) return Star; - if (lower.includes('bed') || lower.includes('sleep')) return Bed; + if (lower.includes("sleeper")) return Star; + if (lower.includes("bed") || lower.includes("sleep")) return Bed; return Armchair; } // Capitalise first letter of each word, replace underscores with spaces function formatCoachTypeLabel(type: string): string { - return type.replace(/_/g, ' ').replace(/\b\w/g, (c) => c.toUpperCase()); + return type.replace(/_/g, " ").replace(/\b\w/g, (c) => c.toUpperCase()); } function PriceTiersPanel({ @@ -265,14 +321,18 @@ function PriceTiersPanel({ if (!tiers?.length) { return (
-

No price tiers available

+

+ No price tiers available +

); } return (
-

Choose Coach Type

+

+ Choose Coach Type +

{groups.map((group, index) => { const CoachIcon = getCoachIcon(group.coachTypeType); @@ -283,37 +343,58 @@ function PriceTiersPanel({ key={group.coachTypeId} role="button" tabIndex={allSoldOut ? -1 : 0} - onClick={() => !allSoldOut && setSelectedId(isSelected ? null : group.coachTypeId)} + onClick={() => + !allSoldOut && + setSelectedId(isSelected ? null : group.coachTypeId) + } onKeyDown={(e) => { - if (!allSoldOut && (e.key === 'Enter' || e.key === ' ')) { + if (!allSoldOut && (e.key === "Enter" || e.key === " ")) { e.preventDefault(); setSelectedId(isSelected ? null : group.coachTypeId); } }} - className={`group relative w-full p-2 rounded-2xl border-2 text-left transition-all duration-200 ${allSoldOut - ? 'border-gray-200 dark:border-gray-700 opacity-50 cursor-not-allowed' + className={`group relative w-full p-2 rounded-2xl border-2 text-left transition-all duration-200 ${ + allSoldOut + ? "border-gray-200 dark:border-gray-700 opacity-50 cursor-not-allowed" : isSelected - ? 'border-primary bg-gradient-to-br from-primary/8 to-primary/3 dark:from-primary/15 dark:to-primary/5 shadow-lg shadow-primary/20 scale-[1.02] cursor-pointer' - : 'border-gray-200 dark:border-gray-700 shadow-sm hover:border-primary/40 hover:shadow-md hover:scale-[1.01] bg-white dark:bg-gray-800/50 cursor-pointer' - }`} - style={{ animation: `fade-in-up 0.3s ease-out ${index * 0.08}s both` }} + ? "border-primary bg-gradient-to-br from-primary/8 to-primary/3 dark:from-primary/15 dark:to-primary/5 shadow-lg shadow-primary/20 scale-[1.02] cursor-pointer" + : "border-gray-200 dark:border-gray-700 shadow-sm hover:border-primary/40 hover:shadow-md hover:scale-[1.01] bg-white dark:bg-gray-800/50 cursor-pointer" + }`} + style={{ + animation: `fade-in-up 0.3s ease-out ${index * 0.08}s both`, + }} > {/* Radio indicator */} {!allSoldOut && ( - - {isSelected && } + + {isSelected && ( + + )} )}
-
- +
+
@@ -321,15 +402,26 @@ function PriceTiersPanel({ {formatCoachTypeLabel(group.coachTypeType)}

{allSoldOut && ( - Sold out + + Sold out + )}
- From - + + From + + {((group.minPrice * priceMultiplier) / 100).toFixed(2)} - {group.currency} + + {group.currency} +
@@ -343,17 +435,26 @@ function PriceTiersPanel({ return (
- {tier.seatType.trim()} + + {tier.seatType.trim()} + {soldOut ? ( - Sold out + + Sold out + ) : (
- {((tier.priceMinor * priceMultiplier) / 100).toFixed(2)} + {( + (tier.priceMinor * priceMultiplier) / + 100 + ).toFixed(2)} + + + {tier.currency} - {tier.currency}
)}
@@ -372,7 +473,10 @@ function PriceTiersPanel({ {isSelected && !allSoldOut && (
-

Coach type

-

{tier.seatClass?.coachType?.name ?? tier.label.trim()}

-

{remaining} seats remaining · from {formatPrice(tier.priceMinor * priceMultiplier, tier.currency)} per adult · 1st child per adult free (no seat)

+

+ Coach type +

+

+ {tier.seatClass?.coachType?.name ?? tier.label.trim()} +

+

+ {remaining} seats remaining · from{" "} + {formatPrice(tier.priceMinor * priceMultiplier, tier.currency)}{" "} + per adult · 1st child per adult free (no seat) +

{[ - { label: "Adults", sub: `Age 5+ · max ${PKG_MAX_ADULTS}`, value: adultCount, min: 1, max: Math.min(PKG_MAX_ADULTS, remaining), set: (v: number) => { setAdultCount(v); const newMax = Math.min(v * PKG_CHILDREN_PER_ADULT, v + Math.max(0, remaining - v)); setChildCount(c => Math.min(c, newMax)); } }, - { label: "Children", sub: `Under 5 · max ${PKG_CHILDREN_PER_ADULT} per adult · 1st per adult FREE (no seat)`, value: childCount, min: 0, max: Math.min(adultCount * PKG_CHILDREN_PER_ADULT, adultCount + Math.max(0, remaining - adultCount)), set: setChildCount }, + { + label: "Adults", + sub: `Age 5+ · max ${PKG_MAX_ADULTS}`, + value: adultCount, + min: 1, + max: Math.min(PKG_MAX_ADULTS, remaining), + set: (v: number) => { + setAdultCount(v); + const newMax = Math.min( + v * PKG_CHILDREN_PER_ADULT, + v + Math.max(0, remaining - v), + ); + setChildCount((c) => Math.min(c, newMax)); + }, + }, + { + label: "Children", + sub: `Under 5 · max ${PKG_CHILDREN_PER_ADULT} per adult · 1st per adult FREE (no seat)`, + value: childCount, + min: 0, + max: Math.min( + adultCount * PKG_CHILDREN_PER_ADULT, + adultCount + Math.max(0, remaining - adultCount), + ), + set: setChildCount, + }, ].map(({ label, sub, value, min, max, set }) => (
-

{label}

+

+ {label} +

{sub}

- - {value} -
@@ -467,22 +642,64 @@ function PassengerCountModal({ {freeChildren > 0 && (
- {freeChildren} child{freeChildren > 1 ? 'ren' : ''} travel free (no seat) + + {freeChildren} child{freeChildren > 1 ? "ren" : ""} travel + free (no seat) + ETB 0.00
)}
- Total{priceMultiplier === 2 ? ' (round-trip) from:' : ''} - {formatPrice(totalMinor, tier.currency)} + + Total{priceMultiplier === 2 ? " (round-trip) from:" : ""} + + + {formatPrice(totalMinor, tier.currency)} +
{error && (
-

{error}

+

+ {error} +

)} + {/* Nationality */} +
+

+ Nationality +

+
+ {natOptions.map((opt) => ( + + ))} +
+ {showNationalityError && !nationality && ( +

+ Please select a nationality to continue. +

+ )} +
+ {/* Departure Station */}
-

For informational purposes — pricing remains fixed regardless of boarding point.

+

+ For informational purposes — pricing remains fixed regardless of + boarding point. +

{showStationError && !departureStationId && ( -

Please select your boarding station to continue.

+

+ Please select your boarding station to continue. +

)} -
@@ -528,14 +784,30 @@ export default function PackageDetailPage() { const params = useParams(); const router = useRouter(); const id = params?.id as string; - const { clearBooking, setSearchCriteria, setSelectedSchedule, setOutboundSchedule, setInboundSchedule, setPassengers, setPackageContext } = useBookingStore(); + const { + clearBooking, + setSearchCriteria, + setSelectedSchedule, + setOutboundSchedule, + setInboundSchedule, + setPassengers, + setPackageContext, + } = useBookingStore(); - const [selectedCoachTypeId, setSelectedCoachTypeId] = useState(null); + const [selectedCoachTypeId, setSelectedCoachTypeId] = useState( + null, + ); const [passengerModalOpen, setPassengerModalOpen] = useState(false); const [bookingContextLoading, setBookingContextLoading] = useState(false); - const [bookingContextError, setBookingContextError] = useState(null); + const [bookingContextError, setBookingContextError] = useState( + null, + ); - const { data: pkg, isLoading, isError } = useQuery({ + const { + data: pkg, + isLoading, + isError, + } = useQuery({ queryKey: ["package", id], queryFn: async () => (await apiClient.get(`/packages/${id}`)) as PackageDetail, @@ -549,15 +821,26 @@ export default function PackageDetailPage() { // For the passenger modal, use the cheapest available tier in the selected coach type group const groups = pkg ? groupTiersByCoachType(pkg.priceTiers) : []; - const selectedGroup = groups.find((g) => g.coachTypeId === selectedCoachTypeId); + const selectedGroup = groups.find( + (g) => g.coachTypeId === selectedCoachTypeId, + ); // Representative tier for the modal: cheapest available in the selected group - const representativeTier = selectedGroup?.tiers - .filter((t) => t.availableSeats > 0) - .sort((a, b) => a.priceMinor - b.priceMinor)[0] ?? selectedGroup?.tiers[0] ?? null; + const representativeTier = + selectedGroup?.tiers + .filter((t) => t.availableSeats > 0) + .sort((a, b) => a.priceMinor - b.priceMinor)[0] ?? + selectedGroup?.tiers[0] ?? + null; - const isRoundTripPkg = pkg?.journeyType === 'ROUND_TRIP'; + const isRoundTripPkg = pkg?.journeyType === "ROUND_TRIP"; - const handleBookNow = async (adultCount: number, childCount: number, departureStationId: string, departureStationName: string) => { + const handleBookNow = async ( + adultCount: number, + childCount: number, + departureStationId: string, + departureStationName: string, + nationality: "ETHIOPIAN" | "DJIBOUTIAN" | "OTHER", + ) => { if (!representativeTier || !pkg) return; setBookingContextLoading(true); setBookingContextError(null); @@ -577,10 +860,13 @@ export default function PackageDetailPage() { origin: s.originStation?.name ?? "", destination: s.destinationStation?.name ?? "", originStationId: s.originStationId ?? s.originStation?.id ?? "", - destinationStationId: s.destinationStationId ?? s.destinationStation?.id ?? "", + destinationStationId: + s.destinationStationId ?? s.destinationStation?.id ?? "", departureTime: s.departureAt, arrivalTime: s.arrivalAt, - duration: s.durationMinutes ? `${Math.floor(s.durationMinutes / 60)}h ${s.durationMinutes % 60}m` : "", + duration: s.durationMinutes + ? `${Math.floor(s.durationMinutes / 60)}h ${s.durationMinutes % 60}m` + : "", baseFareAdult: Math.round(ctx.totalMinor / passengerCount), baseFareChild: 0, displayCurrency: representativeTier.currency, @@ -590,19 +876,27 @@ export default function PackageDetailPage() { selectedCoachTypeId: ctx.coachTypeId ?? "", selectedCoachTypeCode: ctx.coachTypeCode ?? "", selectedCoachTypeName: ctx.coachTypeName ?? "", - coachTypes: Array.isArray(ctx.coachTypes) ? ctx.coachTypes : groups.map((g) => ({ - coachId: g.coachTypeId, - coachTypeId: g.coachTypeId, - coachTypeName: g.coachTypeName, - coachTypeCode: g.coachTypeCode, - classes: g.tiers.map((t) => ({ name: t.label, baseFareMinor: t.priceMinor })), - })), + coachTypes: Array.isArray(ctx.coachTypes) + ? ctx.coachTypes + : groups.map((g) => ({ + coachId: g.coachTypeId, + coachTypeId: g.coachTypeId, + coachTypeName: g.coachTypeName, + coachTypeCode: g.coachTypeCode, + classes: g.tiers.map((t) => ({ + name: t.label, + baseFareMinor: t.priceMinor, + })), + })), }); // booking-context returns flat originStationId/destinationStationId, not nested objects. // Use the user's selected departure station as the true origin for both the // search criteria and the schedule objects so hold/booking APIs get the right segment. - const outboundDestId = ctx.outboundSchedule.destinationStationId ?? ctx.outboundSchedule.destinationStation?.id ?? ""; + const outboundDestId = + ctx.outboundSchedule.destinationStationId ?? + ctx.outboundSchedule.destinationStation?.id ?? + ""; const outboundSched = { ...toSchedule(ctx.outboundSchedule), @@ -618,7 +912,16 @@ export default function PackageDetailPage() { tripType: isRoundTrip ? "ROUND_TRIP" : "ONE_WAY", adultCount, childCount, - nationality: "ETHIOPIAN", + // Must be the real picked value, not hardcoded — /booking/passengers' form + // only reads a passenger's own stored nationality when resuming a session + // with a name already filled in; for a brand-new booking (every package + // passenger starts with an empty name) it falls back to searchCriteria's + // nationality only, so a hardcoded value here would silently override + // whatever was actually picked and always show the Fayda gate. Safe for + // amount/currency: package schedules always carry their own fixed + // displayCurrency (set below in toSchedule()), which takes priority over + // any nationality-based fallback, so this has no effect on price/currency. + nationality, }); if (isRoundTrip) { @@ -643,8 +946,16 @@ export default function PackageDetailPage() { name: "", // Free children travel without a seat — give them a synthetic DOB that // makes isChild() return true so seat eligibility logic excludes them. - dateOfBirth: isFreeChild ? new Date(Date.now() - 2 * 365.25 * 24 * 60 * 60 * 1000).toISOString().slice(0, 10) : "", - nationality: "ETHIOPIAN", + dateOfBirth: isFreeChild + ? new Date(Date.now() - 2 * 365.25 * 24 * 60 * 60 * 1000) + .toISOString() + .slice(0, 10) + : "", + // Drives Fayda verification show/hide on /booking/passengers (existing + // logic there) — searchCriteria.nationality above is deliberately left + // as "ETHIOPIAN" since package pricing/currency is fixed per tier and + // must not change based on this. + nationality, isPrimaryPassenger: i === 0, }; }), @@ -653,12 +964,20 @@ export default function PackageDetailPage() { // Store per-adult tier price (×1 leg); review page applies round-trip multiplier and child pricing // Store the group's cheapest tier price as a placeholder — the actual berth fare // (Upper/Middle/Lower) will be resolved and saved when the user picks a seat. - setPackageContext(id, representativeTier.id, representativeTier.priceMinor, pkg.name, departureStationId, departureStationName); + setPackageContext( + id, + representativeTier.id, + representativeTier.priceMinor, + pkg.name, + departureStationId, + departureStationName, + ); router.push("/booking/passengers"); } catch (err: any) { setBookingContextError( - err?.response?.data?.message ?? "Failed to load booking context. Please try again.", + err?.response?.data?.message ?? + "Failed to load booking context. Please try again.", ); } finally { setBookingContextLoading(false); @@ -681,7 +1000,9 @@ export default function PackageDetailPage() {
-

Unable to load package details.

+

+ Unable to load package details. +

)} @@ -763,7 +1089,6 @@ export default function PackageDetailPage() {
{/* ── Main content ── */}
- {/* Description */} {pkg.description && (
@@ -778,12 +1103,18 @@ export default function PackageDetailPage() { {/* Outbound journey */} {pkg.outboundSchedule && ( - + )} {/* Return journey */} {pkg.returnSchedule && ( - + )} {/* Bus transfer */} @@ -814,23 +1145,42 @@ export default function PackageDetailPage() { Travel Information
- } label="Boarding Time"> + } + label="Boarding Time" + > {fmtTime(pkg.boardingTime)} · {fmt(pkg.boardingTime)} - } label="Departure Time"> + } + label="Departure Time" + > {fmtTime(pkg.departureTime)} · {fmt(pkg.departureTime)} - } label="Arrival"> + } + label="Arrival" + > {fmtTime(pkg.arrivalTime)} · {fmt(pkg.arrivalTime)} {pkg.coachConfiguration && ( - } label="Coach Config"> + } + label="Coach Config" + > {pkg.coachConfiguration.trim()} )} - } label="Valid Period"> + } + label="Valid Period" + > {fmt(pkg.validFrom, { month: "short", day: "numeric" })} –{" "} - {fmt(pkg.validUntil, { month: "short", day: "numeric", year: "numeric" })} + {fmt(pkg.validUntil, { + month: "short", + day: "numeric", + year: "numeric", + })}
@@ -859,7 +1209,10 @@ export default function PackageDetailPage() {
{ setSelectedCoachTypeId(coachTypeId); setPassengerModalOpen(true); }} + onBookNow={(coachTypeId) => { + setSelectedCoachTypeId(coachTypeId); + setPassengerModalOpen(true); + }} isRoundTrip={isRoundTripPkg} />
@@ -870,7 +1223,10 @@ export default function PackageDetailPage() {
{ setSelectedCoachTypeId(coachTypeId); setPassengerModalOpen(true); }} + onBookNow={(coachTypeId) => { + setSelectedCoachTypeId(coachTypeId); + setPassengerModalOpen(true); + }} isRoundTrip={isRoundTripPkg} />
From 932f4ad2ba718b4e06b37a411ef3001b2f1b3b06 Mon Sep 17 00:00:00 2001 From: Roba Boru Date: Fri, 31 Jul 2026 21:17:53 +0300 Subject: [PATCH 2/2] Update package image --- .../portal/public/packages/package.jpeg | Bin 0 -> 76366 bytes .../portal/src/app/packages/[id]/page.tsx | 11 ++++++++--- .../portal/src/components/PackagesSection.tsx | 17 ++++++++++------- 3 files changed, 18 insertions(+), 10 deletions(-) create mode 100644 apps/edr-passenger-web/portal/public/packages/package.jpeg diff --git a/apps/edr-passenger-web/portal/public/packages/package.jpeg b/apps/edr-passenger-web/portal/public/packages/package.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..6b42468aec2e322a3a200ccd6855902d880b3ba6 GIT binary patch literal 76366 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 literal 0 HcmV?d00001 diff --git a/apps/edr-passenger-web/portal/src/app/packages/[id]/page.tsx b/apps/edr-passenger-web/portal/src/app/packages/[id]/page.tsx index af884f59a..3c8e66b98 100644 --- a/apps/edr-passenger-web/portal/src/app/packages/[id]/page.tsx +++ b/apps/edr-passenger-web/portal/src/app/packages/[id]/page.tsx @@ -531,9 +531,14 @@ function PassengerCountModal({ // uses) — package pricing/currency is fixed per tier and is never affected by // this. No default: nationality is a deliberate choice, same as the normal // flow's search-step picker. - const [nationality, setNationality] = useState<"" | "ETHIOPIAN" | "DJIBOUTIAN" | "OTHER">(""); + const [nationality, setNationality] = useState< + "" | "ETHIOPIAN" | "DJIBOUTIAN" | "OTHER" + >(""); const [showNationalityError, setShowNationalityError] = useState(false); - const natOptions: Array<{ value: "ETHIOPIAN" | "DJIBOUTIAN" | "OTHER"; label: string }> = [ + const natOptions: Array<{ + value: "ETHIOPIAN" | "DJIBOUTIAN" | "OTHER"; + label: string; + }> = [ { value: "ETHIOPIAN", label: "🇪🇹 Ethiopian" }, { value: "DJIBOUTIAN", label: "🇩🇯 Djiboutian" }, { value: "OTHER", label: "🌍 Other" }, @@ -1037,7 +1042,7 @@ export default function PackageDetailPage() { {/* Hero */}
{pkg.name} (a.priceMinor < b.priceMinor ? a : b)); - return { amount: (min.priceMinor * multiplier) / 100, currency: min.currency }; + return { + amount: (min.priceMinor * multiplier) / 100, + currency: min.currency, + }; } function fmtPrice(minor: number, currency: string): string { @@ -148,7 +152,7 @@ function AvailBar({ booked, total }: { booked: number; total: number }) { // ─── Featured Card (first package — full-width, image left) ─────────────────── function FeaturedCard({ pkg }: { pkg: HolidayPackage }) { - const multiplier = pkg.journeyType === 'ROUND_TRIP' ? 2 : 1; + const multiplier = pkg.journeyType === "ROUND_TRIP" ? 2 : 1; const price = minPrice(pkg.priceTiers, multiplier); const origin = pkg.outboundSchedule?.originStation; const dest = pkg.outboundSchedule?.destinationStation; @@ -161,7 +165,7 @@ function FeaturedCard({ pkg }: { pkg: HolidayPackage }) { {/* ── Left: Image ── */}
{pkg.name}
)} -
{/* ── Right: Content ── */} @@ -319,7 +322,7 @@ function FeaturedCard({ pkg }: { pkg: HolidayPackage }) { // ─── Regular Package Card ───────────────────────────────────────────────────── function PackageCard({ pkg }: { pkg: HolidayPackage }) { - const multiplier = pkg.journeyType === 'ROUND_TRIP' ? 2 : 1; + const multiplier = pkg.journeyType === "ROUND_TRIP" ? 2 : 1; const price = minPrice(pkg.priceTiers, multiplier); const origin = pkg.outboundSchedule?.originStation; const dest = pkg.outboundSchedule?.destinationStation;