Merged in feat/SW-1055-Accordion-for-summary-bar-in-mobile-on-Select-Rate (pull request #1283)

Feat/SW-1055 Accordion for summary bar in mobile on Select Rate

* feat(SW-1055) created mobile summary for select rate

* feat(SW-1055) Added summary for mobile (accordion)


Approved-by: Tobias Johansson
This commit is contained in:
Pontus Dreij
2025-02-10 15:11:31 +00:00
parent 5a0edc9187
commit c863294919
20 changed files with 405 additions and 89 deletions

View File

@@ -102,6 +102,12 @@ export async function RoomsContainer({
)
}
if (!hotelData) {
// TODO: Log hotel data error
console.error("[RoomsContainer] unable to fetch hotel data")
return null
}
return (
<Rooms
availablePackages={packages ?? []}
@@ -109,6 +115,7 @@ export async function RoomsContainer({
isUserLoggedIn={isUserLoggedIn}
roomsAvailability={roomsAvailability}
roomCategories={hotelData?.roomCategories ?? []}
vat={hotelData.hotel.vat}
/>
)
}

View File

@@ -31,6 +31,7 @@ export default function Rooms({
isUserLoggedIn,
roomsAvailability,
roomCategories = [],
vat,
}: SelectRateProps) {
const router = useRouter()
const pathname = usePathname()
@@ -41,8 +42,13 @@ export default function Rooms({
const arrivalDate = searchParams.get("fromDate")
const departureDate = searchParams.get("toDate")
const { selectedRates, rateSummary, calculateRateSummary, initializeRates } =
useRateSelectionStore()
const {
selectedRates,
rateSummary,
calculateRateSummary,
initializeRates,
setGuestsInRooms,
} = useRateSelectionStore()
const {
selectedPackagesByRoom,
@@ -60,6 +66,12 @@ export default function Rooms({
[searchParams]
)
useEffect(() => {
bookingWidgetSearchData.rooms.forEach((room, index) => {
setGuestsInRooms(index, room.adults, room.childrenInRoom)
})
}, [bookingWidgetSearchData.rooms, setGuestsInRooms])
const isMultipleRooms = bookingWidgetSearchData.rooms.length > 1
useEffect(() => {
@@ -265,7 +277,8 @@ export default function Rooms({
isUserLoggedIn={isUserLoggedIn}
packages={availablePackages}
roomsAvailability={roomsAvailability}
rooms={bookingWidgetSearchData.rooms}
booking={bookingWidgetSearchData}
vat={vat}
/>
</form>
)}