diff --git a/apps/scandic-web/stores/select-rate/index.ts b/apps/scandic-web/stores/select-rate/index.ts index 38f4a7d92..f65e8ce29 100644 --- a/apps/scandic-web/stores/select-rate/index.ts +++ b/apps/scandic-web/stores/select-rate/index.ts @@ -31,10 +31,15 @@ export function createRatesStore({ initialActiveRoom, vat, }: InitialState) { - function updateUrl(booking: RatesState["booking"]) { + function updateUrl(booking: RatesState["booking"], activeRoom: number = -1) { const searchParams = serializeBookingSearchParams(booking, { initialSearchParams: new URLSearchParams(window.location.search), }) + if (activeRoom >= 0) { + searchParams.set("modifyRateIndex", activeRoom.toString()) + } else { + searchParams.delete("modifyRateIndex") + } window.history.replaceState({}, "", `${pathname}?${searchParams}`) } @@ -111,7 +116,7 @@ export function createRatesStore({ } let activeRoom = rateSummary.length - if (initialActiveRoom) { + if (initialActiveRoom !== undefined && initialActiveRoom >= 0) { activeRoom = initialActiveRoom } else if (rateSummary.length === booking.rooms.length) { // Finds the first unselected room and sets that to active @@ -274,7 +279,7 @@ export function createRatesStore({ state.booking.rooms[idx].packages = null } - updateUrl(state.booking) + updateUrl(state.booking, state.activeRoom) }) ) }, @@ -293,7 +298,7 @@ export function createRatesStore({ } state.booking.rooms[idx].packages = null - updateUrl(state.booking) + updateUrl(state.booking, state.activeRoom) }) ) }, @@ -433,7 +438,7 @@ export function createRatesStore({ state.booking.rooms[idx].packages = null } - updateUrl(state.booking) + updateUrl(state.booking, state.activeRoom) }) ) },