fix: SW-2838 Use of city identifier instead of city name
* fix: SW-2838 Updated selection to city identifier instead of city name
Approved-by: Christian Andolf
Approved-by: Linus Flood
Feature: Use hash of query+variables for graphql cache instead of gitsha
* feature: use a hash of query+variables as part of the cache key instead of gitsha
* .
* Merge branch 'master' of bitbucket.org:scandic-swap/web into feat/use-hash-for-graphql-cache
* use correct json stringify
* merge
* remove edgeRequest in favor of request
* add more indicative logging
Approved-by: Linus Flood
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: handle when content has copied divs from episervers RTE
* fix: handle when content has copied divs from episervers RTE
Approved-by: Matilda Landström
fix(SW-2764): Tracking - remove ancillaries array if no breakfast selected
* fix(SW-2764): remove ancillaries array if no breakfast selected
Approved-by: Tobias Johansson
Approved-by: Joakim Jäderberg
fix: add noindex+nofollow to contentpages
* fix: add noindex+nofollow to contentpages
* fix: move no-index/no-follow to the shared generateMetadata function instead
* remove comment
Approved-by: Erik Tiekstra
fix(SW-2438): change to breakfast buffet always and replace dash with empty string
* fix(SW-2438): change to breakfast buffet always and replace dash with empty string
* fix(SW-2438): remove none from ageOfChildren
Approved-by: Tobias Johansson
Approved-by: Matilda Landström
fix: SW-1879 Updated values in tracking
* fix: SW-1879 Updated bed type value in tracking
* fix: SW-1879 Updated breakfast price to indicate total price
Approved-by: Michael Zetterberg
fix(SW-1997): productPoints and productPrice should be the total
* fix(SW-1997): productPoints and productPrice should be the total
Approved-by: Matilda Landström
fix(SW-1997): only add points or card if payed with
* fix(SW-1997): only add points or card if payed with
* fix(SW-1997): use buildAncillaries function
Approved-by: Michael Zetterberg
fix(SW-1755): Handle facility card images left or right side
* fix(SW-1755): handle facility card images
Approved-by: Erik Tiekstra
Approved-by: Christian Andolf
Fix(LOY-222): Find my booking url handling
* fix(LOY-222): adapt findMyBooking url based on HIDE_FOR_NEXT_RELEASE
* feat(LOY-222): add current web paths for findMyBooking in multiple languages
* refactor(LOY-222): better env and new url constructions
* refactor(LOY-222): decouple env var handling from getCurrentWebUrl
* fix(LOY-222): update findMyBooking URL construction to use baseUrl
* fix(LOY-222): simplify findMyBooking URL handling for new web urls
* fix(LOY-222): Update Finnish path for hotel reservation lookup
* refactor(LOY-222): rename PUBLIC_URL to NEXT_PUBLIC_PUBLIC_URL for consistency
Approved-by: Christian Andolf
Approved-by: Linus Flood
Feat(SW-1943): add new design for pay ancillaries with points
* fix: hide card and payment info if only quantity with points is selected
* feat(SW-1943): add new design for pay ancillaries with points
* feat(SW-1943): add missing translation
* feat(SW-1943): fix rebase
* feat(SW-1943): remove console log
Approved-by: Linus Flood
Approved-by: Matilda Landström
Feature/SW-1736 floating booking widget
* feature: Add floating booking widget on start page SW-1736
* fix: Make sure we don't try to use IntersectionObserver on the server
* fix: make sure that we disconnect the intersectionobserver when dismounting
* fix: pass searchparams to floating bookingwidget
Approved-by: Michael Zetterberg
feat(SW-2068): Link to Correct Public URL from within My Stays Overview Page
* feat(SW-2068): Link to Correct Public URL from within My Stays Overview Page
- Added language parameter to previous and upcoming stays queries.
- Updated Client components to utilize the new language hook.
- Refactored EmptyUpcomingStays component to dynamically generate links based on the current language.
- Adjusted user input validation to include optional language parameter.
* refactor(SW-2068): Update EmptyUpcomingStays components to use PUBLIC_URL + add utility to handle TLD based on language
* chore(SW-2068): Clarify TLD
* feat(SW-2068): documentation for getTldForLanguage
* refactor(SW-2068): Simplify booking URL construction in updateStaysBookingUrl
* refactor(SW-2068): Remove incorrect TLD update logic from booking URL construction
* refactor(SW-2068): Centralize booking URL paths using myBookingPath constant
* refactor(SW-2068): Streamline search params in booking URL construction logic in updateStaysBookingUrl
Approved-by: Christian Andolf
Feat/SW-1997 tracking gla my stay ancillaries
* feat(SW-1996): tracking gla my stay
* feat(SW-1996): update gla tracking
* feat(SW-1996): fix comment
* feat(SW-1997): add tracking for gla my stay and ancillaries
* feat(SW-1997): rebase master
* feat(SW-1997): fix duplicate import
* feat(SW-1997): add hotelId and category for ancillaries, and add more tracking
* feat(SW-1997): remove commments and fix spelling mistake
* feat(SW-1997): if addAncillary failed, but guarantee is successful, default to card in booking
Approved-by: Niclas Edenvin
feat(SW-2033): Added new route for fetching room features, and merged the data with existing availability data
* feat(SW-2033): Added new route for fetching room features, and merged the data with existing availability data
* fix: issue with total price not including room features
* fix: add return null
* fix
* fix
* fixes from PR feedback
Approved-by: Arvid Norlin