Commit Graph

477 Commits

Author SHA1 Message Date
Christian Andolf
85cd815968 feat(SW-1273): find my booking page with rudimentary validation and redirect 2025-02-27 09:57:17 +01:00
Anton Gunnarsson
80100e7631 Merged in monorepo-step-1 (pull request #1080)
Migrate to a monorepo setup - step 1

* Move web to subfolder /apps/scandic-web

* Yarn + transitive deps

- Move to yarn
- design-system package removed for now since yarn doesn't
support the parameter for token (ie project currently broken)
- Add missing transitive dependencies as Yarn otherwise
prevents these imports
- VS Code doesn't pick up TS path aliases unless you open
/apps/scandic-web instead of root (will be fixed with monorepo)

* Pin framer-motion to temporarily fix typing issue

https://github.com/adobe/react-spectrum/issues/7494

* Pin zod to avoid typ error

There seems to have been a breaking change in the types
returned by zod where error is now returned as undefined
instead of missing in the type. We should just handle this
but to avoid merge conflicts just pin the dependency for
now.

* Pin react-intl version

Pin version of react-intl to avoid tiny type issue where formatMessage
does not accept a generic any more. This will be fixed in a future
commit, but to avoid merge conflicts just pin for now.

* Pin typescript version

Temporarily pin version as newer versions as stricter and results in
a type error. Will be fixed in future commit after merge.

* Setup workspaces

* Add design-system as a monorepo package

* Remove unused env var DESIGN_SYSTEM_ACCESS_TOKEN

* Fix husky for monorepo setup

* Update netlify.toml

* Add lint script to root package.json

* Add stub readme

* Fix react-intl formatMessage types

* Test netlify.toml in root

* Remove root toml

* Update netlify.toml publish path

* Remove package-lock.json

* Update build for branch/preview builds


Approved-by: Linus Flood
2025-02-26 10:36:17 +00:00
Erik Tiekstra
3867baadd6 Merged in feat/SW-1452-city-page-filter-2 (pull request #1392)
feat(SW-1452): Added filtering and sorting to destination city pages

* feat(SW-1452): Added filtering and sorting to destination city pages

* feat(SW-1452): Added temporary component for country pages to avoid Context issues


Approved-by: Matilda Landström
2025-02-25 13:02:38 +00:00
Simon Emanuelsson
4c23700d52 feat: adjust select rate ui to latest design 2025-02-25 10:45:45 +01:00
Linus Flood
e2749f5593 Merged in feat/refactor-select-rate (pull request #1402)
Select-rate: refactor - converted RoomsContainer into a client component

* feat/select-rate - refactor and fixed duplicate key warning

* Rooms as client component

* Fixed lang in input

* It works

* Cleanup

* Cleanup

* PR fixes


Approved-by: Joakim Jäderberg
2025-02-25 08:40:36 +00:00
Arvid Norlin
cf3268bda3 Merged in feat/SW-910-membershipnumber-non-happy-path (pull request #1358)
fix(SW-910): handle MembershipFailedError

* fix(SW-910): handle MembershipFailedError


Approved-by: Tobias Johansson
2025-02-24 15:55:31 +00:00
Anton Gunnarsson
7155165360 Merged in feat/SW-1266-implement-sas-link-account-endpoint (pull request #1332)
Implement API call to link SAS account

* Add endpoint to actually link SAS account linking

* add logging of error

* Refactor tocDate to getCurrentDateWithoutTime

Approved-by: Joakim Jäderberg
2025-02-20 08:55:10 +00:00
Tobias Johansson
59eefb877e Merged in feat/SW-1077-enter-details-edit-room (pull request #1360)
Feat/SW-1077 enter details edit room

* feat(SW-1077): persist state when changing rooms

* fix: issue with step state when closing accordion and transition to correct room when modifying step


Approved-by: Pontus Dreij
2025-02-19 10:03:11 +00:00
Joakim Jäderberg
873183ec2f * move setLang() to a root layout
* fix: findLang only returns acceptable languages
* fix: fallback to use header x-lang if we haven't setLang yet
* fix: languageSchema, allow uppercase

Approved-by: Linus Flood
2025-02-19 09:06:37 +00:00
Linus Flood
7c0f9084b6 Merged in feat/refactor-header-footer-sitewidealert (pull request #1374)
Refactor: removed parallel routes for header, footer and sidewidealert. Langswitcher and sidewidealert now client components

* feat - removed parallel routes and made sidepeek and sitewidealerts as client components

* Langswitcher as client component

* Fixed lang switcher for current header

* Passing lang when fetching siteconfig

* Merge branch 'master' into feat/refactor-header-footer-sitewidealert

* Refactor

* Removed dead code

* Show only languages that has translation

* Refetch sitewidealert every 60 seconds

* Merge branch 'master' into feat/refactor-header-footer-sitewidealert

* Removed sidepeek parallel route from my-stay

* Added missing env.var to env.test

* Removed console.log


Approved-by: Joakim Jäderberg
2025-02-19 08:59:24 +00:00
Pontus Dreij
8616e4ab76 Merged in feat/SW-1276-implement-design (pull request #1348)
Feat/SW-1276 implement design

* feat(SW-1276) UI implementation Desktop part 1 for MyStay

* feat(SW-1276) UI implementation Desktop part 2 for MyStay

* feat(SW-1276) UI implementation Mobile part 1 for MyStay

* refactor: move files from MyStay/MyStay to MyStay

* feat(SW-1276) Sidepeek implementation

* feat(SW-1276): Refactoring

* feat(SW-1276) UI implementation Mobile part 2 for MyStay

* feat(SW-1276): translations

* feat(SW-1276) fixed skeleton

* feat(SW-1276): Added missing translations

* feat(SW-1276): Removed console log

* feat(SW-1276) fixed translations

* feat(SW-1276): Added translations

* feat(SW-1276) fix dynamic ID:s

* feat(SW-1276) removed createElement

* feat(SW-1276): Fixed build errors

* feat(SW-1276): Updated label

* feat(SW-1276): Rewrite SummaryCard


Approved-by: Niclas Edenvin
2025-02-18 14:20:54 +00:00
Christian Andolf
06d861fb6f chore: add no unused vars lint rule 2025-02-17 10:43:54 +01:00
Linus Flood
1116bdafa8 Merged in fix/suspense-key (pull request #1356)
feat: suspense key - use json-stable-stringify for suspense key

* feat: suspense key - use json-stable-stringify for suspense key


Approved-by: Joakim Jäderberg
2025-02-17 09:42:54 +00:00
Fredrik Thorsson
22111eb7d2 Merged in feat/SW-1418-destination-page-map-data (pull request #1347)
feat/SW-1418 destination page map data

* feat(SW-1418): implement dynamic map on overview page

* feat(SW-1418): update folder structure

* feat(SW-1418): use getHotelsByHotelIds


Approved-by: Erik Tiekstra
Approved-by: Matilda Landström
2025-02-17 08:59:50 +00:00
Simon Emanuelsson
051bc54e6c chore: cleaning up select-rate 2025-02-14 14:20:54 +01:00
Tobias Johansson
53b6628b25 Merged in feat/SW-965-select-rate-modify-room (pull request #1326)
Feat/SW-965 select rate modify room

* feat(SW-965): added new state for modify room and smaller fixes

* feat(SW-965): update state handling of modifyRateIndex

* fix: adjust scroll animation to handle modifyRateIndex

* fix: room state logic and removed unused css class


Approved-by: Pontus Dreij
Approved-by: Arvid Norlin
2025-02-14 07:48:30 +00:00
Chuma Mcphoy (We Ahead)
7fac673fbc Merged in feat/LOY-116-remove-cta-from-signup-verify-page (pull request #1335)
refactor(LOY-116): consolidate signup auth & remove SignUpVerification component

* refactor(LOY-116): simplify signup authentication and remove SignUpVerification component

- Remove SignUpVerification component and its related files
- Move authentication checks to page-level components
- Consolidate signup flow authentication logic
- Remove unused signup verification link variant

* refactor(LOY-116): remove "sign up verification" from TrackingPosition type


Approved-by: Christian Andolf
2025-02-13 15:28:39 +00:00
Hrishikesh Vaipurkar
eabe45b73c Merged in feat/SW-1557-implement-booking-code-select (pull request #1304)
feat: SW-1577 Implemented booking code city search

* feat: SW-1577 Implemented booking code city search

* feat: SW-1557 Strict comparison

* feat: SW-1557 Review comments fix


Approved-by: Michael Zetterberg
Approved-by: Pontus Dreij
2025-02-13 09:24:47 +00:00
Pontus Dreij
ea9d68a191 Merged in feat/SW-1540-fetch-updated-data-booking (pull request #1316)
feat(SW-1540): Fetch data from API for MyStay

* feat(SW-1540): Fetch data from API for MyStay

* feat(SW-1540): Moved myStaySkeleton

* feat(SW-1540) used memoized getBookingConfirmation instead


Approved-by: Michael Zetterberg
Approved-by: Linus Flood
2025-02-12 10:22:54 +00:00
Linus Flood
a8ec845273 Merged in fix/ratecodetype-tracking-2 (pull request #1314)
fix/ratecode-tracking-fix

* fix/ratecode-tracking-fix
2025-02-12 08:38:26 +00:00
Tobias Johansson
b394d54c3f Merged in feat/enter-details-multiroom (pull request #1280)
feat(SW-1259): Enter details multiroom

* refactor: remove per-step URLs

* WIP: map multiroom data

* fix: lint errors in details page

* fix: made useEnterDetailsStore tests pass

* fix: WIP refactor enter details store

* fix: WIP enter details store update

* fix: added room index to select correct room

* fix: added logic for navigating between steps and rooms

* fix: update summary to work with store changes

* fix: added room and total price calculation

* fix: removed unused code and added test for breakfast included

* refactor: move store selectors into helpers

* refactor: session storage state for multiroom booking

* feat: update enter details accordion navigation

* fix: added room index to each form component so they select correct room

* fix: added unique id to input to handle case when multiple inputs have same name

* fix: update payment step with store changes

* fix: rebase issues

* fix: now you should only be able to go to a step if previous room is completed

* refactor: cleanup

* fix: if no availability just skip that room for now

* fix: add select-rate Summary and adjust typings


Approved-by: Arvid Norlin
2025-02-11 14:24:24 +00:00
Michael Zetterberg
967c776ab8 feat(SW-1562): enable ContentPage, except signup pages. 2025-02-11 12:40:10 +01:00
Michael Zetterberg
e874cd9b9c feat(SW-1562): enable CollectionPage 2025-02-11 12:39:01 +01:00
Pontus Dreij
c863294919 Merged in feat/SW-1055-Accordion-for-summary-bar-in-mobile-on-Select-Rate (pull request #1283)
Feat/SW-1055 Accordion for summary bar in mobile on Select Rate

* feat(SW-1055) created mobile summary for select rate

* feat(SW-1055) Added summary for mobile (accordion)


Approved-by: Tobias Johansson
2025-02-10 15:11:31 +00:00
Linus Flood
5a0edc9187 Merged in fix/hoteinfocard-pass-hotel (pull request #1295)
feat:hotel info card - pass hoteldata since we already fetching it on page level

* feat:hotel info card - pass hoteldata since we already fetching it on page level
2025-02-10 14:31:41 +00:00
Linus Flood
2522cd7752 Merged in feat/hotelinfocard-skeleton (pull request #1291)
feat: added skeleton to hotelinfo card

* feat: added skeleton to hotelinfo card


Approved-by: Simon.Emanuelsson
2025-02-10 12:49:27 +00:00
Pontus Dreij
fbe05eb456 Merged in feat/SW-717-multiroom-select-hotel-api (pull request #1225)
Feat/SW-717 multiroom select hotel api
2025-02-07 13:15:07 +00:00
Simon.Emanuelsson
c204532acc Merged in feat/SW-1261 (pull request #1263)
feat: only show member price when logged in

* feat: only show member price when logged in


Approved-by: Michael Zetterberg
2025-02-07 08:51:50 +00:00
Pontus Dreij
7424ecf2bf feat(SW-717) fixed issues after rebase 2025-02-07 08:37:57 +01:00
Pontus Dreij
d5bc2b3c57 feat(SW-717) Multiple requests if adult differ between rooms 2025-02-07 08:37:53 +01:00
Linus Flood
c0f5c0278b Merged in feat/skeletons-and-cache (pull request #1273)
feat: skeleton key bullet proof. 10 min cache on city search response

* feat: skeleton key bullet proof. 10 min cache on city search response

* Refactor server.ts


Approved-by: Michael Zetterberg
2025-02-07 07:02:53 +00:00
Michael Zetterberg
1d822dad5a Merged in fix/labels-english (pull request #1249)
fix(i18n): validated English messages

Approved-by: Bianca Widstam
Approved-by: Christian Andolf
2025-02-06 20:54:25 +00:00
Linus Flood
da31897835 Merged in fix/hotelreservation-skeletons (pull request #1271)
Fix/hotelreservation skeletons

* fix: skeletons in hotelreservation key includes all search params

* fix: skeletons in hotelreservation key includes all search params

* fix: skeletons in hotelreservation key includes all search params
2025-02-06 13:39:54 +00:00
Linus Flood
9ad8d39712 Merged in fix/hotelreservation-skeletons (pull request #1270)
fix: skeletons in hotelreservation key includes all search params

* fix: skeletons in hotelreservation key includes all search params


Approved-by: Joakim Jäderberg
2025-02-06 13:30:18 +00:00
Niclas Edenvin
86a7650813 Merged in feat/sw-1523-my-stay-page (pull request #1227)
feat(SW-1523): foundation for my stay page

* feat(SW-1523): foundation for my stay page

This is the base page for the my stay page. It is very much hard coded
and all components need to get a design update afterwards. But this is
to get the page going!

* fix(i18n): messages


Approved-by: Michael Zetterberg
Approved-by: Christian Andolf
2025-02-05 10:16:32 +00:00
Erik Tiekstra
dd4a2d8120 Merged in feat/SW-1296-hotel-subpages (pull request #1233)
feat(SW-1296): added Subpage for hotel pages and its routing

* feat(SW-1296): added Subpage for hotel pages and its routing


Approved-by: Fredrik Thorsson
2025-02-03 10:58:53 +00:00
Anton Gunnarsson
fc866c0e4d Merged in feat/sw-1493-revised-comparison-block (pull request #1236)
feat(SW-1493): Revised SAS comparison block

* Base of new TierDetails for SAS tier comparison

* Add backgrounds and content to TierDetails

* Implement new cms schema for SasTierComparison

* Override gap in jsontohtml styling to 0

* Add animations to comparison details

* Redesign again

* Update content model to new design

* Add border to bottom item in tier match list

* Wrap interpolate-size in @supports to be safe

* Merge branch 'master' into feat/sw-1493-revised-comparison-block


Approved-by: Joakim Jäderberg
2025-02-03 08:42:16 +00:00
Tobias Johansson
f82de5aad7 Merged in feat/price-details-modal-multiroom (pull request #1232)
feat: adjust price detail modal to handle multi room and removed dependency of enter details store

* feat: adjust price detail modal to handle multi room and removed dependency of enter details store

* fix: remove div from table

* fix: added room translation


Approved-by: Pontus Dreij
2025-01-31 09:13:21 +00:00
Simon Emanuelsson
1deab000bd fix: cache hotel response 2025-01-30 13:51:47 +01:00
Simon Emanuelsson
13a164242f fix: clean up hotel and its typings 2025-01-30 13:50:02 +01:00
Niclas Edenvin
ef22fc4627 This creates the alternative hotels page. It is mostly a copy of the select hotel page, and most of the contents of the pages lives under the same component in /components.
Merged in feat/sw-397-alternative-hotels (pull request #1211)

Feat/sw 397 alternative hotels

* fix(SW-397): create alternative hotels page

* update types

* Adapt to new changes for fetching data

* Make bookingcode optional

* Code review fixes


Approved-by: Simon.Emanuelsson
2025-01-28 12:08:40 +00:00
Erik Tiekstra
a88a033e30 Merged in feat/SW-1450-destination-page-cs-components (pull request #1204)
feat(SW-1450): added components in destination pages from cs

* feat(SW-1450): added components in destination pages from cs

* feat(SW-1450): added correct refs and removed classNames


Approved-by: Fredrik Thorsson
2025-01-24 12:06:43 +00:00
Pontus Dreij
7343d873c2 Merged in fix/SW-1103-page-loading (pull request #1181)
Fix/SW-1103 page loading

* feat(SW-1103): Move backend req behinde suspense

* fix/SW-1103 fix merge conflicts


Approved-by: Joakim Jäderberg
2025-01-24 10:16:30 +00:00
Linus Flood
cea4e3f3fe Merged in fix/tracking-requests (pull request #1208)
Added siteversion to all events and fixed payment status

* Added siteversion to all events and fixed payment status

* Fixed bug


Approved-by: Erik Tiekstra
2025-01-24 07:49:00 +00:00
Christian Andolf
127bb6a0a7 Merged in feat/SW-1381-new-startpage-page (pull request #1197)
feat(SW-1381): add initial start page

* feat(SW-1381): add initial start page

* fix: remove unused startpage template

remove translation key for middleware error page

* fix(SW-1381): add tracking SDK and feature flag to hide start page


Approved-by: Erik Tiekstra
Approved-by: Matilda Landström
Approved-by: Chuma Mcphoy (We Ahead)
2025-01-23 10:18:21 +00:00
Erik Tiekstra
f962400474 Merged in feat/SW-1449-destination-page (pull request #1195)
Feat/SW-1449 destination page

* feat(SW-1449): Added destination country page

* feat(SW-1449): added destination city page


Approved-by: Fredrik Thorsson
Approved-by: Matilda Landström
2025-01-21 13:57:19 +00:00
Erik Tiekstra
7ac200bd7c Merged in feat/SW-1442-destination-overview-page (pull request #1188)
feat(SW-1442): added destination overview page

* feat(SW-1442): added destination overview page


Approved-by: Fredrik Thorsson
Approved-by: Matilda Landström
2025-01-20 12:21:04 +00:00
Linus Flood
814b010569 Merged in feat/curity-changes (pull request #1190)
Feat/curity changes

* Changed curity stuff

* Use env.var

* Merge branch 'master' into feat/curity-changes

* Merged master into feat/curity-changes
2025-01-20 11:44:58 +00:00
Linus Flood
69b69af03c Merged in feat/enter-details-tracking (pull request #1185)
Feat/enter details tracking

* feat: fixed bug in enter details tracking

* Sidepeek events, lowestroomPrice and analyticsRateCode

* Cleanup and fixed bug

* Fixed analyticsratecode

* Merge master

* merge master

* Removed console logs

* Added ancillaries tracking to enter details

* Added ancillary on confirmation page

* Removed console log

* Merge branch 'master' into feat/enter-details-tracking

* Refactor searchparams

* Hard code values for breakfast ancillary


Approved-by: Joakim Jäderberg
2025-01-17 07:42:44 +00:00
Christel Westerberg
bcae63e3fc fix: rename children to childrenInRoom 2025-01-14 12:25:17 +01:00