Commit Graph

901 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
Linus Flood
8a564274c5 Merged in fix/bookingwidget-skeleton (pull request #1409)
fix: bookingwidget skeleton - hide if not enabled

* fix: bookingwidget skeleton - hide if not enabled


Approved-by: Michael Zetterberg
2025-02-25 12:46:18 +00:00
Michael Zetterberg
82ba219e2b feat(SW-1389): refactor page settings 2025-02-25 10:37:32 +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
204bbbbcd4 Merged in fix/sas-link-flow-links (pull request #1389)
Set correct links in SAS link flow

Approved-by: Joakim Jäderberg
2025-02-21 12:26:38 +00:00
Linus Flood
15dbeb9d46 Merged in feat/mypages-parallel-routes (pull request #1388)
feat: my profile - removed all parallel routes

* Removed all parallel routes on my-profile

* Fixed suspense

* Moved components into myprofile folder

* Turn off browser cache on myprofile

* Clear router cache when editing profile

* Clear route cache when adding new credit card

* PR fixes


Approved-by: Joakim Jäderberg
2025-02-21 11:24:46 +00:00
Pontus Dreij
a0286603db Merged in feat(SW-1275)-cancel-booking-my-stay (pull request #1376)
Feat(SW-1275) cancel booking my stay

* 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) fixed translations

* feat(SW-1275) cancel modal

* feat(SW-1275): Mutate cancel booking

* feat(SW-1275) added translations

* feat(SW-1275) match current cancellationReason

* feat(SW-1275) Added modal for manage stay

* feat(SW-1275) Added missing icon

* feat(SW-1275) New Dont cancel button

* feat(SW-1275) Added preperation for Cancellation number

* feat(SW-1275): added --modal-box-shadow

* feat(SW-1718) Add to calendar

* feat(SW-1718) general add to calendar


Approved-by: Niclas Edenvin
2025-02-21 09:06:15 +00:00
Anton Gunnarsson
340f6d1714 Merged in feat/SW-1488-unlink-sas-account (pull request #1349)
Implement unlink SAS flow

Approved-by: Joakim Jäderberg
2025-02-20 15:09:06 +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
Linus Flood
21e564934d Merged in fix/preview-contentstack (pull request #1380)
* fix: preview in contentstack now works again


Approved-by: Joakim Jäderberg
2025-02-20 08:55:00 +00:00
Anton Gunnarsson
e75c714148 Merged in fix/SW-1695-clear-otp-password-on-error (pull request #1375)
Clear and focus OTP input on error

Approved-by: Joakim Jäderberg
2025-02-20 07:29:36 +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
Erik Tiekstra
c93381ca80 Merged in feat/SW-550-sitemap (pull request #981)
feat(SW-550): added sync functionality and sitemap generation

* feat(SW-550): added sync functionality and sitemap generation

* feat(SW-550): Added support for splitting and saving multiple sitemaps when there are 50000+ urls

* feat(SW-550): Updates after PR

* feat(SW-550): Added locale to sitemap data

* feat(SW-550): Added support for locale based sitemapData

* feat(SW-550): Saving alternates of sitemap entries

* feat(SW-550): Refactoring to use sitemap utils file

* feat(SW-550): Using Netlify.env to get environment variables

* feat(SW-550): clarify use of functions


Approved-by: Michael Zetterberg
2025-02-17 10:35:11 +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
Joakim Jäderberg
2791f07f67 Merged in fix/mypages-clientside-menu (pull request #1344)
Fix/mypages clientside menu

* feat: move mypages menu to client side

* Merge branch 'master' of bitbucket.org:scandic-swap/web into fix/mypages-clientside-menu

* wip

* wip

* wip

* refactor: reorganize MyPages navigation logic and improve type definitions

* refactor: enhance MyPagesMobileDropdown with loading states and skeletons

* refactor: clean up header component and improve myPagesNavigation query structure

* Merge branch 'master' of bitbucket.org:scandic-swap/web into fix/mypages-clientside-menu


Approved-by: Linus Flood
2025-02-17 07:47:33 +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
Anton Gunnarsson
419d21b3d0 Merged in feat/remove-date-input-from-sas-link-flow (pull request #1328)
Remove date input from SAS link flow

Approved-by: Linus Flood
2025-02-13 13:30:46 +00:00
Joakim Jäderberg
6f51130e48 Merged in feature/hardcoded-mypages-links (pull request #1325)
Feature/hardcoded mypages links

* feat: wip use hardcoded links

* Merge branch 'master' of bitbucket.org:scandic-swap/web into feature/hardcoded-mypages-links

* feat: use hardcoded links for my pages to support dynamic links

* cleanup

* code fixes

* refactor: restructure MyPagesMobileDropdown component for improved readability

* use util timeout function


Approved-by: Christian Andolf
Approved-by: Linus Flood
2025-02-13 09:28:30 +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
Linus Flood
019a5db549 Merged in fix/unify-gethotel-input (pull request #1319)
feat: getHotel - unify input to make sure we can use the same cache response

* feat: getHotel - unify input to make sure we can use the same cache response


Approved-by: Simon.Emanuelsson
2025-02-12 11:35:39 +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
Joakim Jäderberg
38da263cb3 Merged in fix/sas-link (pull request #1317)
SAS Handle redirects from server actions on the client

* fix: return values instead of doing redirect in server action

* Merge branch 'master' of bitbucket.org:scandic-swap/web into fix/sas-link

* fix: SAS use client side redirects since netlify doesn't seem to support redirects inside server actions


Approved-by: Linus Flood
2025-02-12 09:42:15 +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
Joakim Jäderberg
3d11cfb50a Merged in feature/sas-mypages (pull request #1302)
Feature/sas mypages

* feat: Add SAS partner page under my pages
* fix: feature toggle SAS Partner page in my pages
* add translations for SAS account page
* use 'flex-start' instead of 'start'
* fix: flatten css
* fix: don't use <SectionContainer /> on linkedAccounts page
2025-02-11 12:55:00 +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
Anton Gunnarsson
18288cb849 Merged in feat/sas-otp-error-handling (pull request #1272)
Feat/sas otp error handling

* Improve error handling for SAS OTP
* Remove failing and deprecated test

Approved-by: Joakim Jäderberg
2025-02-07 14:18:00 +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