From f77520cd04c6bfc8c30957359eb45c62746bb55b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20J=C3=A4derberg?= Date: Tue, 2 Sep 2025 11:58:37 +0000 Subject: [PATCH] Merged in chore/remove-unused-useRoomContext (pull request #2747) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit chore: delete unused useRoomContext * chore: delete unused useRoomContext * merge Approved-by: Matilda Landström --- .../SelectRate/Tracking/tracking.ts | 1 - .../providers/SelectRate/RoomProvider.tsx | 91 ------------------- .../stores/enter-details/helpers.ts | 3 - .../lib/contexts/SelectRate/Room.ts | 13 --- .../lib/types/contexts/selectRate/room.ts | 16 ---- 5 files changed, 124 deletions(-) delete mode 100644 apps/scandic-web/providers/SelectRate/RoomProvider.tsx delete mode 100644 packages/booking-flow/lib/contexts/SelectRate/Room.ts delete mode 100644 packages/booking-flow/lib/types/contexts/selectRate/room.ts diff --git a/apps/scandic-web/components/HotelReservation/SelectRate/Tracking/tracking.ts b/apps/scandic-web/components/HotelReservation/SelectRate/Tracking/tracking.ts index 4d1b58dd2..8ab41e2f5 100644 --- a/apps/scandic-web/components/HotelReservation/SelectRate/Tracking/tracking.ts +++ b/apps/scandic-web/components/HotelReservation/SelectRate/Tracking/tracking.ts @@ -12,7 +12,6 @@ import type { Room } from "@scandic-hotels/booking-flow/types/components/selectR import type { Lang } from "@scandic-hotels/common/constants/language" import type { Child } from "@scandic-hotels/trpc/types/child" - type ChildrenInRoom = (Child[] | null)[] | null type SelectRateTrackingInput = { diff --git a/apps/scandic-web/providers/SelectRate/RoomProvider.tsx b/apps/scandic-web/providers/SelectRate/RoomProvider.tsx deleted file mode 100644 index f3d85aafe..000000000 --- a/apps/scandic-web/providers/SelectRate/RoomProvider.tsx +++ /dev/null @@ -1,91 +0,0 @@ -"use client" - -import { RoomContext } from "@scandic-hotels/booking-flow/contexts/SelectRate/Room" -import { RoomPackageCodeEnum } from "@scandic-hotels/trpc/enums/roomFilter" -import { AvailabilityEnum } from "@scandic-hotels/trpc/enums/selectHotel" -import { sortRoomConfigs } from "@scandic-hotels/trpc/utils/sortRoomConfigs" - -import { useRatesStore } from "@/stores/select-rate" - -import type { RoomProviderProps } from "@/types/providers/select-rate/room" - -export default function RoomProvider({ - children, - idx, - room, -}: RoomProviderProps) { - const { activeRoom, rateSummary, roomAvailability, roomPackages } = - useRatesStore((state) => ({ - activeRoom: state.activeRoom, - rateSummary: state.rateSummary, - roomPackages: state.roomsPackages[idx], - roomAvailability: state.roomsAvailability?.[idx], - })) - const roomNr = idx + 1 - - const petRoomPackage = roomPackages.find( - (pkg) => pkg.code === RoomPackageCodeEnum.PET_ROOM - ) - - const selectedRoomsCount = rateSummary.reduce>( - (roomsCount, selectedRoom) => { - if (selectedRoom) { - if (!roomsCount[selectedRoom.roomTypeCode]) { - roomsCount[selectedRoom.roomTypeCode] = 0 - } - roomsCount[selectedRoom.roomTypeCode] = - roomsCount[selectedRoom.roomTypeCode] + 1 - } - return roomsCount - }, - {} - ) - - const rooms = room.rooms - .map((r) => { - // Need to copy (shallow) since using immer with - // Zustand uses Proxy objects which results in - // properties being read-only thus causing errors - // when trying to modify roomsLeft etc. - const rCopy = { ...r } - if (selectedRoomsCount[r.roomTypeCode]) { - rCopy.roomsLeft = - rCopy.roomsLeft - selectedRoomsCount[rCopy.roomTypeCode] - - const selectedRoom = rateSummary[idx] - const isCurrentlySelectedRoom = - selectedRoom && selectedRoom.roomTypeCode === rCopy.roomTypeCode - if (isCurrentlySelectedRoom) { - // Need to add 1 roomsLeft back to tally since - // our selectedRoom was included in selectedRoomsCount - rCopy.roomsLeft = rCopy.roomsLeft + 1 - } - - if (rCopy.roomsLeft <= 0) { - rCopy.status = AvailabilityEnum.NotAvailable - rCopy.roomsLeft = 0 - } - } - - return rCopy - }) - .sort(sortRoomConfigs) - - return ( - - {children} - - ) -} diff --git a/apps/scandic-web/stores/enter-details/helpers.ts b/apps/scandic-web/stores/enter-details/helpers.ts index c70b144c8..0a45c61a5 100644 --- a/apps/scandic-web/stores/enter-details/helpers.ts +++ b/apps/scandic-web/stores/enter-details/helpers.ts @@ -1,4 +1,3 @@ -import isEqual from "fast-deep-equal" import { parsePhoneNumberFromString } from "libphonenumber-js" import { @@ -11,8 +10,6 @@ import { logger } from "@scandic-hotels/common/logger" import { detailsStorageName } from "." -import type { BookingWidgetSearchData } from "@scandic-hotels/booking-flow/BookingWidget" -import type { SelectRateBooking } from "@scandic-hotels/booking-flow/types/components/selectRate/selectRate" import type { Packages } from "@scandic-hotels/trpc/types/packages" import type { CorporateChequeProduct, diff --git a/packages/booking-flow/lib/contexts/SelectRate/Room.ts b/packages/booking-flow/lib/contexts/SelectRate/Room.ts deleted file mode 100644 index 336f6b629..000000000 --- a/packages/booking-flow/lib/contexts/SelectRate/Room.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { createContext, useContext } from "react" - -import type { RoomContextValue } from "../../types/contexts/selectRate/room" - -export const RoomContext = createContext(null) - -export function useRoomContext() { - const ctx = useContext(RoomContext) - if (!ctx) { - throw new Error("Missing context value [RoomContext]") - } - return ctx -} diff --git a/packages/booking-flow/lib/types/contexts/selectRate/room.ts b/packages/booking-flow/lib/types/contexts/selectRate/room.ts deleted file mode 100644 index d69a2bf8e..000000000 --- a/packages/booking-flow/lib/types/contexts/selectRate/room.ts +++ /dev/null @@ -1,16 +0,0 @@ -import type { Package } from "@scandic-hotels/trpc/types/packages" - -import type { RatesState, SelectedRoom } from "../../stores/rates" - -export interface RoomContextValue extends SelectedRoom { - isActiveRoom: boolean - isFetchingAdditionalRate: boolean - isMainRoom: boolean - petRoomPackage: Package | undefined - roomAvailability: - | NonNullable[number] - | undefined - roomPackages: Package[] - roomNr: number - totalRooms: number -}