Feat/SW-1719 strikethrough rates
* feat(SW-1719): Strikethrough rate if logged in on regular rate cards
* feat(SW-1719): Strikethrough rate if logged in on rate summary
* feat(SW-1719): Strikethrough rate if logged in on mobile rate summary
* feat(SW-1719): Strikethrough rate if logged in on enter details
* feat(SW-1719): Strikethrough rate support for multiple rooms
* feat(SW-1719): booking receipt fixes on confirmation page
* feat(SW-1719): improve initial total price calculation
* feat: harmonize enter details total price to use one and the same function
Approved-by: Michael Zetterberg
feat(SW-2857): Refactor booking flow url updates
* Add support for removing parameters when using initial values in serializeSearchParams
* Don't manually write search params in rate store
* Booking is already from live search params so no need
* Fix input type in serializeBookingSearchParams
Approved-by: Linus Flood
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: select-rate didn't update results when switching back to a recent search SW-2890
* fix: select-rate didn't update results when switching back to a recent search
Approved-by: Linus Flood
fix: check if breakfast and refill modal with correct confirmation if cancelled/error payment
* fix: check if breakfast and refill modal with correct confirmation if cancelled/error payment
* fix: only include packages with quantity
Approved-by: Linus Flood
Approved-by: Matilda Landström
fix(sw-1867): Don't allow same name or membno between rooms
* fix(sw-1867): Don't allow same name or membno between rooms
We don't want to allow two different rooms to have the same firstname
and lastname combination or the same membership number.
* Fine tune validation triggers
* Add comments explaining manual validation triggering
* Change to react-hook-form built-in deps instead
Approved-by: Simon.Emanuelsson
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
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
fix: allow rates that only have either of member or public to be selectable
* fix: allow rates that only have either of member or public to be selectable
Approved-by: Michael Zetterberg
Feat/SW-1451 country page filtering and sorting
* feat(SW-1451): implemented sorting and filtering on country pages
* feat(SW-1451): Renamed hotel-data to destination-data because of its multi-purpose use
* feat(SW-1451): Now filtering after change of url instead of inside the store after submit
Approved-by: Fredrik Thorsson
fix(SW-1686): display total rooms and available rooms when filtering
* fix(SW-1686): display total rooms and available rooms when filtering
Approved-by: Arvid Norlin
Approved-by: Simon.Emanuelsson