Merged in fix/SW-3283-select-rate-booking-code (pull request #2699)

fix(SW-3283): add booking code when selecting rate and reset state when removing booking code

* fix(SW-3283): add booking code when selecting rate and reset state when removing booking code

* feat: add removeBookingCode action to SelectRateContext

* fix(SW-3283): add booking code when selecting rate and reset state when removing booking code

* fix(SW-3283): merge


Approved-by: Joakim Jäderberg
This commit is contained in:
Bianca Widstam
2025-08-26 13:03:46 +00:00
parent c53e6ef187
commit 4d4c90b800
6 changed files with 25 additions and 12 deletions

View File

@@ -1,5 +1,3 @@
import { usePathname, useRouter, useSearchParams } from "next/navigation"
import { BookingCodeChip } from "@scandic-hotels/design-system/BookingCodeChip"
import { useSelectRateContext } from "@/contexts/SelectRate/SelectRateContext"
@@ -7,10 +5,8 @@ import { useSelectRateContext } from "@/contexts/SelectRate/SelectRateContext"
export function RemoveBookingCodeButton() {
const {
input: { bookingCode },
actions: { removeBookingCode },
} = useSelectRateContext()
const router = useRouter()
const searchParams = useSearchParams()
const pathname = usePathname()
if (!bookingCode) {
return null
@@ -23,12 +19,7 @@ export function RemoveBookingCodeButton() {
withCloseButton={true}
withText={false}
onClose={() => {
const newSearchParams = new URLSearchParams(searchParams)
newSearchParams.delete("bookingCode")
const url = `${pathname}?${newSearchParams.toString()}`
router.replace(url)
removeBookingCode()
}}
/>
)

View File

@@ -66,7 +66,7 @@ function InnerCode({
} = useSelectRateContext()
function handleSelectRate(rateCode: string) {
selectRate({ roomIndex, rateCode, roomTypeCode })
selectRate({ roomIndex, rateCode, roomTypeCode, bookingCode })
}
const bannerText = useBannerText({

View File

@@ -29,6 +29,7 @@ export default function Redemptions({
const intl = useIntl()
const rateTitles = useRateTitles()
const {
input: { bookingCode },
actions: { selectRate },
selectedRates,
} = useSelectRateContext()
@@ -114,6 +115,7 @@ export default function Redemptions({
roomIndex: roomIndex,
rateCode: rateCode,
roomTypeCode: roomTypeCode,
bookingCode: bookingCode,
})
}}
paymentTerm={rateTitles[firstRedemption.rate].paymentTerm}

View File

@@ -243,6 +243,7 @@ function Inner({
rateCode: rateCode,
roomTypeCode: roomTypeCode,
counterRateCode: counterRateCode,
bookingCode: product.bookingCode,
})
}}
isMemberRateActive={isMemberRateActive}