Commit Graph

113 Commits

Author SHA1 Message Date
Hrishikesh Vaipurkar
706f2d8dfe Merged in fix/SW-3208-webviews-change-dates-on-my- (pull request #2638)
fix(SW-3208): Fixed webview for change date in MyStay

* fix(SW-3208): Fixed webview for change date in MyStay


Approved-by: Linus Flood
2025-08-13 12:37:04 +00:00
Anton Gunnarsson
a2213d0169 Merged in feat/sw-3228-move-image-to-design-system (pull request #2616)
feat(SW-3228): Move Image to design-system

* Move Image to design-system

* Merge branch 'master' into feat/sw-3228-move-image-to-design-system


Approved-by: Linus Flood
2025-08-12 12:58:05 +00:00
Anton Gunnarsson
800dc5c3c1 Merged in feat/sw-3225-move-parking-information-to-booking-flow (pull request #2614)
feat(SW-3225): Move ParkingInformation to design-system

* Inline ParkingInformation types to remove trpc dependency

* Move ParkingInformation to design-system

* Move numberFormatting to common package

* Add deps to external

* Fix imports and i18n script

* Add common as dependency

* Merge branch 'master' into feat/sw-3225-move-parking-information-to-booking-flow


Approved-by: Linus Flood
2025-08-12 12:36:31 +00:00
Bianca Widstam
b704aa7936 Merged in fix/SW-3194-cross-validation-enter-details (pull request #2604)
fix(SW-3194): crossvalidation for multiroom enter details

* fix(SW-3194): crossvalidation for multiroom enter details

* fix(SW-3194): use getValues


Approved-by: Hrishikesh Vaipurkar
2025-08-08 11:50:14 +00:00
Anton Gunnarsson
1bd8fe6821 Merged in feat/sw-2879-booking-widget-to-booking-flow-package (pull request #2532)
feat(SW-2879): Move BookingWidget to booking-flow package

* Fix lockfile

* Fix styling

* a tiny little booking widget test

* Tiny fixes

* Merge branch 'master' into feat/sw-2879-booking-widget-to-booking-flow-package

* Remove unused scripts

* lint:fix

* Merge branch 'master' into feat/sw-2879-booking-widget-to-booking-flow-package

* Tiny lint fixes

* update test

* Update Input in booking-flow

* Clean up comments etc

* Merge branch 'master' into feat/sw-2879-booking-widget-to-booking-flow-package

* Setup tracking context for booking-flow

* Add missing use client

* Fix temp tracking function

* Pass booking to booking-widget

* Remove comment

* Add use client to booking widget tracking provider

* Add use client to tracking functions

* Merge branch 'master' into feat/sw-2879-booking-widget-to-booking-flow-package

* Move debug page

* Merge branch 'master' into feat/sw-2879-booking-widget-to-booking-flow-package

* Merge branch 'master' into feat/sw-2879-booking-widget-to-booking-flow-package

* Merge branch 'master' into feat/sw-2879-booking-widget-to-booking-flow-package


Approved-by: Bianca Widstam
2025-08-05 09:20:20 +00:00
Hrishikesh Vaipurkar
f5531e8238 Merged in fix/SW-3001-select-hotel-booking-code- (pull request #2576)
Fix/SW-3001 select hotel booking code

* fix(SW-3001): Fixed booking code filter store to reset to default state when new search triggered, Removed state as using useState resets the value on every filter change

* fix: Route tracking parsing error in select-hotel page

* fix(SW-3001): Optimized code


Approved-by: Matilda Landström
2025-07-30 09:39:58 +00:00
Erik Tiekstra
876a9cab7f fix: only checking last part of filter on destination pages to create basePathWithoutFilters
Approved-by: Hrishikesh Vaipurkar
2025-07-17 13:07:37 +00:00
Erik Tiekstra
fa7214cb58 Feat/SW-2271 hotel list filtering
* feat(SW-2271): Changes to hotel data types in preperation for filtering
* feat(SW-2271): Added filter and sort functionality

Approved-by: Matilda Landström
2025-07-04 09:27:20 +00:00
Joakim Jäderberg
daf765f3d5 Merged in feature/wrap-logging (pull request #2511)
Feature/wrap logging

* feat: change all logging to go through our own logger function so that we can control log levels

* move packages/trpc to using our own logger

* merge


Approved-by: Linus Flood
2025-07-03 12:37:04 +00:00
Bianca Widstam
45f80263ff Merged in fix/SW-3109-mobile-hide-side-menu-after-language-switch (pull request #2491)
fix(SW-3109): hide side menu after switching language

* fix(SW-3109): hide side menu after switching language


Approved-by: Linus Flood
2025-07-02 06:48:40 +00:00
Hrishikesh Vaipurkar
67ebef4fa0 Merged in fix/SW-2905-select-rate-page-multi- (pull request #2465)
fix: SW-2905 Fixed room auto close after filter changes

* fix: SW-2905 Fixed room auto close after filter changes


Approved-by: Linus Flood
2025-07-01 09:28:23 +00:00
Simon Emanuelsson
9eff04f987 fix: summary showed 0 CC for approx value 2025-06-30 12:59:57 +00:00
Anton Gunnarsson
4e1cb01b84 Merged in chore/cleanup-after-trpc-migration (pull request #2457)
Chore/cleanup after trpc migration

* Clean up TODOs

* Rename REDEMPTION constant to SEARCH_TYPE_REDEMPTION

* Update dependencies

Remove unused deps from scandic-web
Add missing deps to trpc package

* Update self-referencing imports

* Remove unused variables from scandic-web env

* Fix missing graphql-tag package

* Actually fix

* Remove unused env var


Approved-by: Christian Andolf
Approved-by: Linus Flood
2025-06-30 12:08:19 +00:00
Simon Emanuelsson
59f4a27cb1 feat: translate Voucher everywhere during booking flow 2025-06-30 10:57:00 +00:00
Linus Flood
15c85163fd Merged in fix/SW-3122-destionations-sort (pull request #2471)
fix(SW-3122): copy array before sorting since it can be immutible

* fix(SW-3122): copy array before sorting since it can be immutible


Approved-by: Matilda Landström
2025-06-30 08:44:11 +00:00
Bianca Widstam
fe75018a46 Merged in fix/SW-3117-filter-default-zero (pull request #2464)
fix(SW-3117): default filter count on mobile number of hotels

* fix(SW-3117): default filter should be hotel count


Approved-by: Tobias Johansson
2025-06-27 13:07:01 +00:00
Anton Gunnarsson
e572d9e7e9 Merged in feat/sw-2862-move-booking-router-to-trpc-package (pull request #2421)
feat(SW-2861): Move booking router to trpc package

* Use direct imports from trpc package

* Add lint-staged config to trpc

* Move lang enum to common

* Restructure trpc package folder structure

* WIP first step

* update internal imports in trpc

* Fix most errors in scandic-web

Just 100 left...

* Move Props type out of trpc

* Fix CategorizedFilters types

* Move more schemas in hotel router

* Fix deps

* fix getNonContentstackUrls

* Fix import error

* Fix entry error handling

* Fix generateMetadata metrics

* Fix alertType enum

* Fix duplicated types

* lint:fix

* Merge branch 'master' into feat/sw-2863-move-contentstack-router-to-trpc-package

* Fix broken imports

* Move booking router to trpc package

* Move partners router to trpc package

* Move autocomplete router to trpc package

* Move booking router to trpc package

* Merge branch 'master' into feat/sw-2862-move-booking-router-to-trpc-package


Approved-by: Linus Flood
2025-06-26 13:21:16 +00:00
Anton Gunnarsson
bbcabfa0ba Merged in feat/sw-2864-move-hotels-router-to-trpc-package (pull request #2410)
feat (SW-2864): Move booking router to trpc package

* 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

* WIP first step

* update internal imports in trpc

* Fix most errors in scandic-web

Just 100 left...

* Move Props type out of trpc

* Fix CategorizedFilters types

* Move more schemas in hotel router

* Fix deps

* fix getNonContentstackUrls

* Fix import error

* Fix entry error handling

* Fix generateMetadata metrics

* Fix alertType enum

* Fix duplicated types

* lint:fix

* Merge branch 'master' into feat/sw-2863-move-contentstack-router-to-trpc-package

* Fix broken imports

* Move booking router to trpc package

* Merge branch 'master' into feat/sw-2864-move-hotels-router-to-trpc-package


Approved-by: Linus Flood
2025-06-26 09:02:59 +00:00
Anton Gunnarsson
002d093af4 Merged in feat/sw-2863-move-contentstack-router-to-trpc-package (pull request #2389)
feat(SW-2863): Move contentstack router to trpc package

* 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

* WIP first step

* update internal imports in trpc

* Fix most errors in scandic-web

Just 100 left...

* Move Props type out of trpc

* Fix CategorizedFilters types

* Move more schemas in hotel router

* Fix deps

* fix getNonContentstackUrls

* Fix import error

* Fix entry error handling

* Fix generateMetadata metrics

* Fix alertType enum

* Fix duplicated types

* lint:fix

* Merge branch 'master' into feat/sw-2863-move-contentstack-router-to-trpc-package

* Fix broken imports

* Merge branch 'master' into feat/sw-2863-move-contentstack-router-to-trpc-package


Approved-by: Linus Flood
2025-06-26 07:53:01 +00:00
Erik Tiekstra
2f38bdf0b1 fix(SW-3075): Fixed issue where URLs rendered differently in source HTML in compared to client
Approved-by: Matilda Landström
2025-06-18 12:07:32 +00:00
Erik Tiekstra
1e039febaf fix(SW-2933): Making the hotels/city listing render correctly with active filter on page load
Approved-by: Christian Andolf
Approved-by: Matilda Landström
2025-06-18 08:42:16 +00:00
Simon.Emanuelsson
85acd3453d Merged in feat/SW-1719-strikethrough-rates (pull request #2266)
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
2025-06-13 12:01:16 +00:00
Tobias Johansson
e645b15c6e Merged in fix/SW-2841-filter-popup-closing-on-select (pull request #2289)
Fix/SW-2841 filter popup closing on select

* fix(SW-2841): refactored so that filter modal is not closed when selecting filters

* fix(SW-2841): rename component

* fix: review feedback

* fix: move font-family

* fix: change init value of filteredHotelIds

* fix

* fix: add Typography tag


Approved-by: Michael Zetterberg
Approved-by: Christian Andolf
2025-06-13 07:41:31 +00:00
Linus Flood
ad3be1b4f4 Merged in fix/breakfast-currency (pull request #2358)
fix: default price from initialPrice instead of breakfast package

* fix: default price from initialPrice instead of breakfast package
2025-06-12 16:03:20 +00:00
Anton Gunnarsson
bff34b034e Merged in feat/sw-2857-refactor-booking-flow-url-updates (pull request #2302)
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
2025-06-09 09:16:22 +00:00
Erik Tiekstra
a8f167025d fix(SW-2933): Making the hotels/city listing render correct for SEO purposes
Approved-by: Matilda Landström
2025-06-04 09:05:05 +00:00
Simon Emanuelsson
9580281421 fix: allow any type of phone number 2025-06-03 11:54:05 +00:00
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
Anton Gunnarsson
cbf9e7b7c2 Merged in chore/next15 (pull request #1999)
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
2025-06-02 11:11:50 +00:00
Anton Gunnarsson
7e97b74c18 Merged in chore/remove-unused-code (pull request #2229)
Remove unused code

* Remove unused scandic-web files

* Remove unused exports


Approved-by: Joakim Jäderberg
2025-05-30 12:41:18 +00:00
Niclas Edenvin
1d733c5ca3 Merged in fix/SW-2887-complete-booking-button-always-enabled (pull request #2227)
fix(SW-2887): don't disable the booking button
The complete button shouldn’t be disabled based on validation. This was already correct in desktop, but now it’s also correct in mobile.

* fix(SW-2887): don't disable the booking button


Approved-by: Tobias Johansson
Approved-by: Christian Andolf
2025-05-28 08:11:29 +00:00
Simon Emanuelsson
39855d3c8a fix: trigger memberPrice modal for membership number too 2025-05-27 10:22:31 +02:00
Simon Emanuelsson
a849c48edd fix: when logged in, only checking isMember caused room 2-4 to get memberPrice as well 2025-05-26 14:21:38 +00:00
Tobias Johansson
f77202f58b Merged in fix/SW-2249-missing-currency (pull request #2159)
fix(SW-2249): Added default currency to summary and price details modal

* fix(SW-2249): Added default currency to summary and price details modal


Approved-by: Hrishikesh Vaipurkar
2025-05-26 06:51:57 +00:00
Simon Emanuelsson
5ca30d02a0 feat: keep inventory of bedselections 2025-05-22 09:37:52 +00:00
Simon Emanuelsson
1f1bcd480b feat: prevent users from selecting the same room when there is no vacancy for it 2025-05-16 13:04:45 +00:00
Simon Emanuelsson
0b960200b9 fix: make sure ancillaries also listen to invalidate requests 2025-05-15 07:49:28 +00:00
Simon Emanuelsson
1a28bcdc4c feat: use correct key for searchParams check 2025-05-14 15:10:18 +00:00
Simon Emanuelsson
9322a7385a fix: we shouldn't check if is regular rate on public rate since its not guaranteed to exist 2025-05-14 07:58:37 +00:00
Tobias Johansson
4d16f66605 Merged in fix/SW-2662-select-rate-pageview-bookingcode (pull request #2009)
fix(SW-2662): remove bookingCode from booking comparison

* fix: remove bookingCode from booking comparison


Approved-by: Michael Zetterberg
2025-05-08 10:57:12 +00:00
Simon Emanuelsson
a99e434d84 feat: move room charge to top in price details modal 2025-05-08 10:38:44 +00:00
Niclas Edenvin
09a4637556 Nullcheck of rooms 2025-05-06 14:17:39 +02:00
Tobias Johansson
25ae368210 Merged in fix/SW-1353-and-SW-2497-tracking-fixes (pull request #1977)
fix: tracking fixes SW-1353 and SW-2497

* fix: tracking fixes

* fix: remove console log and rename variable


Approved-by: Michael Zetterberg
Approved-by: Arvid Norlin
2025-05-06 11:15:52 +00:00
Simon Emanuelsson
7213bde423 feat: make sure we update status for when public rates are fetched 2025-05-06 04:19:10 +00:00
Michael Zetterberg
b910b6a313 feat(SW-2116): Use refId instead of confirmationNumber 2025-05-05 12:26:37 +00:00
Tobias Johansson
f56a1ece0f feat(SW-1255): Added loading state to submit button in enter details 2025-05-03 22:18:50 +02:00
Simon Emanuelsson
db289b80b1 feat: refactor NewDates, clean up legacy code
This reverts commit 0c7836fa59.
2025-05-03 21:45:45 +02:00
Tobias Johansson
ffb29ddaad Merged in fix/tracking-issue-pageview (pull request #1931)
fix: tracking issues

* fix: tracking issues


Approved-by: Hrishikesh Vaipurkar
2025-05-03 09:21:14 +00:00
Arvid Norlin
0c7836fa59 Merged in fix/SW-2553-sidepeeks (pull request #1919)
Fix/SW-2553 sidepeeks

* fix(SW-2553): apply sidepeek display logic

* chore: move convertToChildType and getPriceType utils

* fix: apply PR requested changes

* fix(SW-2553): fix roomNumber for multiroom

* fix(SW-2553): fix sidepeek for my-stay page


Approved-by: Michael Zetterberg
Approved-by: Bianca Widstam
Approved-by: Matilda Landström
2025-05-02 15:10:34 +00:00
Niclas Edenvin
fb44990777 Merged in fix/SW-2501-validation-trigger (pull request #1924)
fix(SW-2501): validation trigger

* fix(SW-2501): validation trigger

On enter details, when submitting we want to trigger the validation for
the details forms for each room. This will display error messages for
the form fields with errors if they are not already displayed, so the
user knows which fields has errors.


Approved-by: Tobias Johansson
2025-05-02 13:59:23 +00:00