fix(LOY-280): phone number validation
* fix(LOY-280): phone number validation
* Return formatted phonenumber even though its not valid
Approved-by: Christian Andolf
fix(SW-3083): alternative hotels compare locations with cityIdentifier
* fix(SW-3083): alternative hotels compare locations with cityIdentifier
* fix(SW-3083): rename cityName
* fix(SW-3083): rename to cityIdentifier
Approved-by: Anton Gunnarsson
feat(SW-2859): Create trpc package
* Add isEdge, safeTry and dataCache to new common package
* Add eslint and move prettier config
* Clean up tests
* Create trpc package and move initialization
* Move errors and a few procedures
* Move telemetry to common package
* Move tokenManager to common package
* Add Sentry to procedures
* Clean up procedures
* Fix self-referencing imports
* Add exports to packages and lint rule to prevent relative imports
* Add env to trpc package
* Add eslint to trpc package
* Apply lint rules
* Use direct imports from trpc package
* Add lint-staged config to trpc
* Move lang enum to common
* Restructure trpc package folder structure
* Fix lang imports
Approved-by: Linus Flood
fix(SW-3078): change to string instead of Date in Zod schema
* fix(SW-3078): change to string instead of Date in Zod schema
Approved-by: Michael Zetterberg
Approved-by: Linus Flood
feat: SW-2993 Removed pagename and pagetype from bed & breakfast selection tracking
* feat: SW-2993 Removed pagename and pagetype from bed & breakfast selection tracking
Approved-by: Tobias Johansson
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
feat(SW-2679): Added form tracking for checkout and signup
* feat(SW-2679): Added form tracking for checkout and signup
* fix(SW-2679): fixes from review
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
feat: SW-2653 Implemented click tracking on Search btn and lang switch
* feat: SW-2653 Implemented click tracking on Search btn and lang switch
Approved-by: Erik Tiekstra
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