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: Add common package
* Add isEdge, safeTry and dataCache to new common package
* Add eslint and move prettier config
* Fix yarn lock
* Clean up tests
* Add lint-staged config to common
* Add missing dependencies
Approved-by: Joakim Jäderberg
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
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
Send SAS OTP referenceId to API
* Send SAS OTP referenceId to API
API needs the referenceId to pass along to SAS
as they use it to verify that OTP was successful.
Approved-by: Joakim Jäderberg
fix(SW-2921): Moved countryName to attributes in locations schema
* fix(SW-2921): Moved countryName to attributes in locations schema
Approved-by: Linus Flood
don't use rateCode to determine if bookingCode should come from the room or the 'big' input
* don't use rateCode to determine if bookingCode should come from the room or the 'big' input
Approved-by: Linus Flood
fix: add error handling for hotel room availability
* fix: add error handling for hotel room availability
* fix: update error codes
* fix: have one error message to rule them all. them as in permutations of invalid dates
Approved-by: Linus Flood
fix: return [] when we get a 404 for meeting rooms for a hotel
* fix: return [] when we get a 404 for meeting rooms for a hotel
Approved-by: Linus Flood
fix: default page settings when invalid or missing
* fix: default page settings when invalid or missing since most pages don't have pageSettings
Approved-by: Anton Gunnarsson
fix: Allow component to be nullish in dynamic content schemas
* fix: Allow component to be nullish in dynamic content schemas
Approved-by: Erik Tiekstra
SW-2526 - Update error handling for link SAS account
* Update error handling for link SAS account
* Capture schema validation error and send to Sentry
* Add cases for unhandled otp errors
Approved-by: Joakim Jäderberg