Files
web/apps/scandic-web
Anton Gunnarsson 03468ad824 Merged in fix/refactor-booking-flow-search-params (pull request #2148)
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
2025-06-02 13:38:01 +00:00
..
2025-04-28 12:40:52 +00:00
2025-05-22 14:00:38 +02:00
2025-04-23 22:40:46 +00:00
2025-04-23 22:40:46 +00:00

This is a Next.js project bootstrapped with create-next-app.

Getting Started

  • Firt, make sure you have built the design-system once:
yarn workspace @scandic-hotels/design-system build
  • Create a .env.local file in the root of the scandic-web directory with the keys from the .env.example file.

  • Then run the development server:

yarn dev

Open http://localhost:3000 with your browser to see the result.

Caching

You have the choice to either use redis (via redis-api; a tiny http proxy) or in-memory/unstable_cache (depending on edge or node). Setting REDIS_API_HOST will configure it to use the distributed cache, not providing it will fall back to in-memory/unstable_cache When pointing to the azure hosted variant you also need to provide REDIS_API_KEY

Locally it's easiest is to spin everything up using docker/podman - podman compose up or docker-compose up This will also spin up Redis Insight so that you can debug the cache.

  • Navigate to http://localhost:5540
  • Click 'Add Redis database'
  • Provide Connection URL redis://redis:6379

Icons / Material Symbols

Read the README.md in the monorepo root.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!