Commit Graph

44 Commits

Author SHA1 Message Date
Erik Tiekstra
ca93046aad feat/SW-550 sitemap route
* feat(SW-550): Added rewrites to handle sitemap paths

* feat(SW-550): Added sitemap-index generation

* feat(SW-550): Added sitemap xml file generation

* feat(SW-550): Added feature flag 'HIDE_FOR_NEXT_RELEASE' to sitemap routes


Approved-by: Linus Flood
2025-03-17 07:17:08 +00:00
Michael Zetterberg
33239f1f91 feat(SW-1730): add button to room sidepeek on hotelpage to select rate page for the hotel 2025-03-14 13:57:26 +00:00
Arvid Norlin
540402b969 Merged in feat/SW-1813 (pull request #1516)
Feat/SW-1813

* feat(SW-1652): handle linkedReservations fetching

* feat: add linkedReservation retry functionality

* chore: align naming

* feat(SW-1813): Add booking confirmation PriceDetailsModal


Approved-by: Simon.Emanuelsson
2025-03-14 13:49:22 +00:00
Tobias Johansson
c0b543f18d Merged in feat/SW-1437-price-change-scenario (pull request #1532)
Feat/SW-1437 price change scenario

* wip price change scenario

* feat(SW-1437): added updated room prices to summary

* fix: spinner not centered on page

* fix: feedback fixes


Approved-by: Arvid Norlin
Approved-by: Simon.Emanuelsson
2025-03-14 12:39:50 +00:00
Bianca Widstam
abd401c4f4 Merged in feat/SW-1368-1369-Guarantee-late-arrival (pull request #1512)
Feat/SW-1368 1369 Guarantee late arrival

* feat(SW-1368-SW-1369): guarantee late arrival for confirmation page and my stay

* feat(SW-1368-SW-1369): guarantee late arrival updated design

* feat(SW-1368-SW-1369): add translations

* feat(SW-1368-SW-1369): add translations

* feat(SW-1368-SW-1369): fix merge with master

* feat(SW-1368-SW-1369): add translations

* feat(SW-1368-SW-1369): add redirect with refId

* feat(SW-1368-SW-1369): if booking completed redirect to confirmation page

* feat(SW-1368-SW-1369): fix comments pr

* feat(SW-1368-SW-1369): fix comments pr

* feat(SW-1368-SW-1369): fix rebase master

* feat(SW-1368-SW-1369): fix duplicate flex rate check

* feat(SW-1368-SW-1369): if any room is flex, card must be used

* feat(SW-1368-SW-1369): move callback route

* feat(SW-1368-SW-1369): top align checkbox

* feat(SW-1368-SW-1369): top align checkbox


Approved-by: Tobias Johansson
Approved-by: Niclas Edenvin
2025-03-14 10:43:14 +00:00
Joakim Jäderberg
fa63b20ed0 Merged in feature/redis (pull request #1478)
Distributed cache

* cache deleteKey now uses an options object instead of a lonely argument variable fuzzy

* merge

* remove debug logs and cleanup

* cleanup

* add fault handling

* add fault handling

* add pid when logging redis client creation

* add identifier when logging redis client creation

* cleanup

* feat: add redis-api as it's own app

* feature: use http wrapper for redis

* feat: add the possibility to fallback to unstable_cache

* Add error handling if redis cache is unresponsive

* add logging for unstable_cache

* merge

* don't cache errors

* fix: metadatabase on branchdeploys

* Handle when /en/destinations throws
add ErrorBoundary

* Add sentry-logging when ErrorBoundary catches exception

* Fix error handling for distributed cache

* cleanup code

* Added Application Insights back

* Update generateApiKeys script and remove duplicate

* Merge branch 'feature/redis' of bitbucket.org:scandic-swap/web into feature/redis

* merge


Approved-by: Linus Flood
2025-03-14 07:54:21 +00:00
Erik Tiekstra
d50cf829e6 feat(SW-1842): Making the navigation links in the header render in the initial HTML for SEO purposes
* feat(SW-1842): Making the navigation links in the header render in the initial HTML for SEO purposes


Approved-by: Fredrik Thorsson
2025-03-12 15:16:06 +00:00
Erik Tiekstra
689e9d72cb fix(SW-1886): Removed "firstItem" props from blocks as it generates multiple h1 tags on those pages
* feat(SW-1886): Removed "firstItem" props from blocks as it generates multiple h1 tags on those pages


Approved-by: Fredrik Thorsson
Approved-by: Simon.Emanuelsson
2025-03-12 14:09:20 +00:00
Chuma Mcphoy (We Ahead)
1ef6fd02c1 Merged in feat/LOY-55-Filter-Modal (pull request #1509)
feat(LOY-55): Add FilterRewardsModal

* feat(LOY-55): Add rewards filtering functionality

- Implement dynamic rewards filtering by category and membership level
- Create FilterRewardsModal component for filtering rewards
- Add useFilteredRewards hook to handle filtering logic
- Update rewards schema and constants to support new filtering features
- Remove hardcoded page size and replace with constant

* fix(LOY-55): reuse existing tier to friend map

* refactor(LOY-55): fix checkbox onChange type safety

* refactor(LOY-55): Improve rewards filtering type safety and validation

* refactor(LOY-55): Update filter modal border color using design token


Approved-by: Christian Andolf
2025-03-12 13:29:35 +00:00
Tobias Johansson
ad05f792fb Merged in feat/SW-1078-rate-terms-scenarios (pull request #1500)
feat(SW-1078): mixed rate scenario

* feat(SW-1078): mixed rate scenario

* fix: change from css string modification to array join

* refactor: split out big reduce function into smaller parts

* fix: minor fixes and improvments

* fix: added room index map to localization string


Approved-by: Christian Andolf
2025-03-12 10:34:35 +00:00
Tobias Johansson
7c233ab846 Merged in feat/SW-1076-no-room-availability (pull request #1467)
Feat/SW-1076 no room availability

* fix: update booking error codes

* feat(SW-1076): handle no room availabilty on enter-details

* fix: parse to json in api mutation instead of expecting json

* fix: remove 'isComplete' state from sectionAccordion because it was not needed


Approved-by: Simon.Emanuelsson
2025-03-10 12:13:15 +00:00
Chuma Mcphoy (We Ahead)
b6ee3664f0 Merged in feat/SW-394-tracking-start-page (pull request #1499)
fix(SW-394): Tweak start page tracking config

* fix(SW-375): Update start page tracking config

* Rename tracking channel from 'start-page' to 'homepage'
* Simplify tracking properties for start page
* Standardize tracking data structure


Approved-by: Erik Tiekstra
Approved-by: Christian Andolf
2025-03-10 07:34:27 +00:00
Pontus Dreij
2509794d0c Merged in feat/SW-1676-modify-contact-details-my-stay-anonymous (pull request #1468)
Feat/SW-1676 modify contact details my stay anonymous

* feat(SW-1676): Modify guest details step 1

* feat(SW-1676) Integration to api to update guest details

* feat(SW-1676) Reuse of old modal

* feat(SW-1676) updated modify guest

* feat(SW-1676) cleanup

* feat(SW-1676) updated myStayReturnRoute to sessionStorage


Approved-by: Niclas Edenvin
2025-03-07 13:41:25 +00:00
Arvid Norlin
ec60e9abdd Merged in feat/SW-1652-confirmation-page (pull request #1483)
Feat/SW-1652 confirmation page

* feat(SW-1652): handle linkedReservations fetching

* fix: add missing translations

* feat: add linkedReservation retry functionality

* chore: align naming


Approved-by: Simon.Emanuelsson
2025-03-07 12:47:04 +00:00
Erik Tiekstra
7fa86a2077 Merged in feat/SW-1555-jobylon-feed-filter (pull request #1494)
Feat/SW-1555 jobylon feed filter

* feat(SW-1555): Added jobylon feed component

* feat(SW-1555): Added filter functionality for Jobylon feed


Approved-by: Matilda Landström
2025-03-07 11:46:42 +00:00
Hrishikesh Vaipurkar
23eaa772ea feat: SW-1583 City search Map view redemption 2025-03-07 09:08:19 +00:00
Hrishikesh Vaipurkar
5058180c41 feat: SW-1583 Implemented Reward nights on city search 2025-03-07 09:08:18 +00:00
Hrishikesh Vaipurkar
51b70f3032 feat: SW-1583 Enabled reward night in booking widget 2025-03-07 09:08:18 +00:00
Matilda Landström
7ce2ee2922 Merged in fix/remove-cities-without-hotels (pull request #1493)
fix: remove cities that don't have a city page

* fix: remove cities that don't have a city page


Approved-by: Erik Tiekstra
2025-03-07 07:00:35 +00:00
Erik Tiekstra
f045fe4a8a Merged in feat/SW-1555-jobylon-integration (pull request #1484)
Feat/SW-1555 jobylon integration

* feat(SW-1555): Added jobylon feed query

* feat(SW-1555): Added jobylon feed component


Approved-by: Fredrik Thorsson
Approved-by: Matilda Landström
2025-03-06 13:31:37 +00:00
Erik Tiekstra
230b56b3bd Merged in feat/SW-1472-destination-tracking (pull request #1474)
Feat/SW-1472 destination tracking

* feat(SW-1472): Added default tracking for destination overview page

* feat(SW-1472): Added default tracking for destination country/city page

* feat(SW-1472): moved tracking functions to different files for better overview

* feat(SW-1472): added destination page tracking


Approved-by: Fredrik Thorsson
Approved-by: Matilda Landström
2025-03-06 10:15:33 +00:00
Joakim Jäderberg
f36b90e474 Merged in feature/bookingwidget-client-side (pull request #1481)
Move more of BookingWidget to client SW-1639

* feat: move getLocations in booking widget to client side so that it's also cached on the client reducing the blinking when switching urls (and reducing duplicate calls)


Approved-by: Linus Flood
2025-03-05 13:37:33 +00:00
Erik Tiekstra
76c20df8e8 Merged in fix/SW-1819-batching-city-urls (pull request #1477)
fix(SW-1819): Batching fetch for city page urls

* fix(SW-1819): Batching fetch for city page urls


Approved-by: Fredrik Thorsson
Approved-by: Matilda Landström
2025-03-05 10:15:52 +00:00
Hrishikesh Vaipurkar
39b6774269 Merged in feat/SW-1589-implement-booking-code-enter (pull request #1368)
Feat/SW-1589 implement booking code enter

* feat: SW-1589 Booking code rate implementation

* feat: SW-1589 Optimized price display

* feat: SW-1589 Display standard price

* feat: SW-1589 Fixed rate title issue


Approved-by: Niclas Edenvin
2025-03-05 09:32:32 +00:00
Erik Tiekstra
f80c2e9583 Merged in feat/SW-1598-hotel-parking-prices (pull request #1458)
feat(SW-1598): Now only showing "Free parking" when free parking is chosen

* feat(SW-1598): Now only showing "Free parking" when free parking is chosen


Approved-by: Fredrik Thorsson
Approved-by: Matilda Landström
2025-03-04 13:38:35 +00:00
Anton Gunnarsson
00fa7819b4 Merged in feat/membership-schema-update (pull request #1459)
Update membership schema to adapt for API changes

Approved-by: Michael Zetterberg
2025-03-04 08:00:33 +00:00
Michael Zetterberg
b8ad88de1b fix: improve labels 2025-03-03 17:12:10 +01:00
Erik Tiekstra
93187a9c33 Merged in feat/SW-1751-destination-0-results (pull request #1448)
feat(SW-1751): Added alert if no results are found, also implemented default location data from Contentstack

* feat(SW-1751): Added alert if no results are found, also implemented default location data from Contentstack


Approved-by: Matilda Landström
2025-03-03 10:32:40 +00:00
Simon.Emanuelsson
c3e3fa62ec Merged in fix/allow-single-rateCode (pull request #1438)
fix: allow rates that only have either of member or public to be selectable

* fix: allow rates that only have either of member or public to be selectable


Approved-by: Michael Zetterberg
2025-03-03 08:28:55 +00:00
Erik Tiekstra
4ad1799532 Merged in fix/SW-1784-hotel-url-fetching (pull request #1450)
fix(SW-1784): Fixed issue fetching all hotel urls at once.

* fix(SW-1784): Fixed issue fetching all hotel urls at once.


Approved-by: Christian Andolf
2025-03-03 06:37:55 +00:00
Simon Emanuelsson
92c5566c59 feat: add multiroom signup 2025-02-28 11:10:22 +01:00
Pontus Dreij
69139c5230 Merged in feat(SW-1279)-mystay-multirum-cancelling (pull request #1443)
Feat(SW-1279) mystay multirum cancelling

* feat(SW-1279) Cancelation text if non-user on room 2-4

* feat(SW-1279) cancel mystay multiroom

* feat(SW-1279): Added cancellation for multiroom on mystay


Approved-by: Niclas Edenvin
2025-02-28 07:17:25 +00:00
Erik Tiekstra
bee6c6d83a Merged in feat/SW-1451-country-page-sorting (pull request #1426)
Feat/SW-1451 country page filtering and sorting

* feat(SW-1451): implemented sorting and filtering on country pages

* feat(SW-1451): Renamed hotel-data to destination-data because of its multi-purpose use

* feat(SW-1451): Now filtering after change of url instead of inside the store after submit


Approved-by: Fredrik Thorsson
2025-02-28 06:30:16 +00:00
Niclas Edenvin
747201b0f7 Merged in feat/SW-1282-list-added-ancillaries (pull request #1416)
Feat/SW-1282 list added ancillaries

* feat(sw-1282): add icon to accordionItem

* feat(sw-1282): list added ancillaries

* Change translation key to already existing

* Remove duplicate key

* Move new files to the new folder structure


Approved-by: Pontus Dreij
2025-02-27 22:01:11 +00:00
Hrishikesh Vaipurkar
6e9123aca9 feat: SW-1588 Fixed rebase issues 2025-02-27 13:10:05 +00:00
Hrishikesh Vaipurkar
2a51107500 feat: SW-1588 Optimized rate title 2025-02-27 13:10:05 +00:00
Hrishikesh Vaipurkar
fef31237c8 feat: SW-1588 Updated rate selection 2025-02-27 13:10:04 +00:00
Hrishikesh Vaipurkar
8966e56820 feat: SW-1588 Implemented booking code select-rate 2025-02-27 13:10:04 +00:00
Arvid Norlin
2813dc6f84 Merged in fix/linkedReservation-typings (pull request #1431)
fix: linkedReservation typings

* fix: correct rinkedReservation typings


Approved-by: Christian Andolf
Approved-by: Simon.Emanuelsson
2025-02-27 09:10:13 +00:00
Tobias Johansson
895dce2f72 Merged in fix/SW-1686-show-correct-room-number (pull request #1417)
fix(SW-1686): display total rooms and available rooms when filtering

* fix(SW-1686): display total rooms and available rooms when filtering


Approved-by: Arvid Norlin
Approved-by: Simon.Emanuelsson
2025-02-27 09:06:22 +00:00
Pontus Dreij
31a536b1f7 Merged in feat(SW-1722)-mystay-multiroom-view (pull request #1396)
Feat(SW-1722) mystay multiroom view

* feat(SW-1722) View all rooms on my stay

* feat(sW-1722) Show linked reservation

* feat(SW-1722) merged monorepo

* feat(SW-1722) yarn install

* feat(SW-1722) removed unused data

* feat(SW-1722) Streaming data from the server to the client


Approved-by: Niclas Edenvin
2025-02-27 07:24:56 +00:00
Linus Flood
0c498d82ca Merged in feat/trackingsdk-client (pull request #1420)
feat: trackingsdk as client component

* feat: trackingsdk as client component

* Cleanup

* Merge changes from feat/trackingsdk-client

* revert yarn.lock

* Added lcpTime and wait with tracking until we have the values


Approved-by: Joakim Jäderberg
2025-02-27 07:22:58 +00:00
Arvid Norlin
d5e5b9a526 Merged in feat/SW-1652-confirmation-page-multiroom (pull request #1404)
feat(SW-1652): Fetching additional rooms on confirmation page

* feat(SW-1652): Fetching additional rooms on confirmation page


Approved-by: Tobias Johansson
2025-02-26 12:42:54 +00: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