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
fix(SW-2887): don't disable the booking button
The complete button shouldn’t be disabled based on validation. This was already correct in desktop, but now it’s also correct in mobile.
* fix(SW-2887): don't disable the booking button
Approved-by: Tobias Johansson
Approved-by: Christian Andolf
fix(SW-2501): validation trigger
* fix(SW-2501): validation trigger
On enter details, when submitting we want to trigger the validation for
the details forms for each room. This will display error messages for
the form fields with errors if they are not already displayed, so the
user knows which fields has errors.
Approved-by: Tobias Johansson
fix(sw-2501): remove the continue buttons on enter details
This removes the continue buttons on the enter details page.
This is only that, not the refactoring of the whole enter details page with changing to one form etc. Since I just didn’t complete that refactor today I decided to do this light variant for now.
A quick explanation is that the continue buttons are removed and instead the form is submitted (meaning saving the form data to the store) on blur on the input elements IF the form is valid. If it’s invalid we change the isComplete flag in the store to false. This will hopefully also fix a bug where you were able to submit old data if the new data is invalid.
When clicking the submit button and a room is incomplete/invalid the browser scrolls to the first invalid room.
Approved-by: Erik Tiekstra
fix(sw-1897): show member price modal immediately
* fix(sw-1897): show member price modal immediately
* Make checkbox fully controlled
* Remove action in the store that wasn't used
Approved-by: Hrishikesh Vaipurkar
fix: SW-2375 Tracking on booking-flow soft navigations based on query params
* fix: SW-2375 Tracking on booking-flow soft navigations based on query params
* fix: SW-2375 Restricted query params check to booking widget params
* fix: SW-2375 Moved empty check before other regex check
Approved-by: Tobias Johansson
Feat/SW-1549 map improvements
* fix: imported new icon
* refactor: rename component and set map handling to 'greedy'
* fix: show cards for 3s after hover
* refactor: update styles and added HotelPin component
* fix: change from close to back icon
* refactor: update to only use 1 state value for active pin and card
* fix: add click handler when dialog is opened
* fix: performance fixes for the dialog carousel
* fix: added border
* fix: clear timeout on mouseenter
* fix: changed to absolute import
* fix: moved hover state into the store
* fix: renamed store actions
Approved-by: Michael Zetterberg
Feat/SW-2113 allow feature combinations
* feat(SW-2113): Refactor features data to be fetched on filter room filter change
* feat(SW-2113): added loading state
* fix: now clear room selection when applying filter and room doesnt exists. And added room features to mobile summary
* fix
* fix: add package to price details
* feat(SW-2113): added buttons to room filter
* fix: active room
* fix: remove console log
* fix: added form and close handler to room package filter
* fix: add restriction so you cannot select pet room with allergy room and vice versa
* fix: fixes from review feedback
* fix
* fix: hide modify button if on nextcoming rooms if no selection is made, and adjust filter logic in togglePackage
* fix: forgot to use roomFeatureCodes from input..
* fix: naming
Approved-by: Simon.Emanuelsson
The number of breakfasts and total sums weren’t correctly calculated. This fixes that.
Also changes display logic of when the ancillaries sections are shown
Approved-by: Bianca Widstam