Fix: refactor booking flow search params
* wip: apply codemod and upgrade swc plugin
* wip: design-system to react 19, fix issues from async (search)params
* Prepare new parse function for booking flow search params
* Prepare serialize function for booking flow search params
* Improve handling of comma separated arrays
* Slightly refactor for readability
* Next abstracts URLSearchParams so handle the abstraction instead
* Refactor booking widget to use new search params parsing
* Rename search param functions
* Refactor select-hotel to use new search param parser
* Use new search params parser in select-rate and details
* Fix hotelId type
* Avoid passing down search params into BookingWidget components
* More updates to use new types instead of SearchParams<T>
* Remove types SelectHotelSearchParams and AlternativeSelectHotelSearchParams
* Fix parseBookingWidgetSearchParams return type
* Add error handling to booking search param parsers
* Fix modifyRateIndex handling in details page
* Clean up
* Refactor booking widget search param serializing to util function
* Move start page booking widget search param parsing to page
* Use new search param serializer in HandleErrorCallback
* Delete convertSearchParamsToObj & convertObjToSearchParams
Approved-by: Michael Zetterberg
chore (SW-834): Upgrade to Next 15
* wip: apply codemod and upgrade swc plugin
* wip: design-system to react 19, fix issues from async (search)params
* wip: fix remaining issues from codemod
serverClient is now async because context use headers()
getLang is now async because it uses headers()
* Minor cleanup
* Inline react-material-symbols package
Package is seemingly not maintained any more and doesn't support
React 19. This copies the package source into `design-system`,
makes the necessary changes for 19 and export it for others to use.
* Fix missing awaits
* Disable modal exit animations
Enabling modal exit animations via isExiting prop is causing
modals to be rendered in "hidden" state and never unmount.
Seems to be an issue with react-aria-components,
see https://github.com/adobe/react-spectrum/issues/7563.
Can probably be fixed by rewriting to a solution similar to
https://react-spectrum.adobe.com/react-aria/examples/framer-modal-sheet.html
* Remove unstable cache implementation and use in memory cache locally
* Fix ref type in SelectFilter
* Use cloneElement to add key prop to element
Approved-by: Linus Flood
feat: SW-1232 Implemented disabling of filters and show hotel count
* feat: SW-1232 Implemented disabling of filters and show hotel count
* feat: SW-1232 Optimised code
Approved-by: Niclas Edenvin
fix(SW-2748 and SW-2747): z-index issue with overlapping summary on desktop viewport
* fix: z-index issue with overlapping summary on desktop viewport
* fix: unset z-index on desktop
Approved-by: Niclas Edenvin
feat: make enter details bottom sheet pixed, and add spacing at the bottom of page
* feat: make enter details bottom sheet pixed, and add spacing at the bottom of page
Approved-by: Arvid Norlin
fix(SW-2668): added search term and room details to tracking
* fix(SW-2668): added search term and room details to tracking
* fix: change to optional type
Approved-by: Christian Andolf
Approved-by: Matilda Landström
Fix/SW-2462 room availability error
* fix: added toast error when availability fails and you get redirect to select-rate
* fix: added support for showing alert when availability error happens
* fix: rename PaymentAlert -> BookingAlert
Approved-by: Erik Tiekstra
feat: SW-1355 Added points value in details page tracking
* feat: SW-1355 Added points value in details page tracking
* feat: SW-1355 Updated .flatMap to .map
* feat: SW-1355 Optimized for readability
Approved-by: Michael Zetterberg
fix(SW-1353): enter details tracking fixes
* fix(SW-1353): tracking fixes
* refactor: move code
* fix: use hasPublicPrice
* fix: update calculation for roomPrice and totalPrice
* fix: only include bedtype if it is "preselected"
Approved-by: Michael Zetterberg
feat(SW-1078): mixed rate scenario
* feat(SW-1078): mixed rate scenario
* fix: change from css string modification to array join
* refactor: split out big reduce function into smaller parts
* fix: minor fixes and improvments
* fix: added room index map to localization string
Approved-by: Christian Andolf
Feat/SW-1076 no room availability
* fix: update booking error codes
* feat(SW-1076): handle no room availabilty on enter-details
* fix: parse to json in api mutation instead of expecting json
* fix: remove 'isComplete' state from sectionAccordion because it was not needed
Approved-by: Simon.Emanuelsson
Move more of BookingWidget to client SW-1639
* feat: move getLocations in booking widget to client side so that it's also cached on the client reducing the blinking when switching urls (and reducing duplicate calls)
Approved-by: Linus Flood