Commit Graph

52 Commits

Author SHA1 Message Date
Joakim Jäderberg
a95ef65d02 Merged in feat/use-hash-for-graphql-cache (pull request #2251)
Feature: Use hash of query+variables for graphql cache instead of gitsha

* feature: use a hash of query+variables as part of the cache key instead of gitsha

* .

* Merge branch 'master' of bitbucket.org:scandic-swap/web into feat/use-hash-for-graphql-cache

* use correct json stringify

* merge

* remove edgeRequest in favor of request

* add more indicative logging


Approved-by: Linus Flood
2025-06-03 06:39:04 +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
Erik Tiekstra
09879d2f4a feat(SW-2134): Added support for images inside accordions
Approved-by: Matilda Landström
2025-06-02 09:37:20 +00:00
Joakim Jäderberg
26b005d72a Merged in fix/cache-graphql-data (pull request #2248)
fix: add missing cache for cms data

* fix: cache cms data


Approved-by: Linus Flood
2025-05-28 08:28:21 +00:00
Simon Emanuelsson
5ca30d02a0 feat: keep inventory of bedselections 2025-05-22 09:37:52 +00:00
Joakim Jäderberg
ec29664a60 Merged in fix/capture-errors-in-trpc (pull request #2103)
Fix/capture errors in trpc

* fix: import @sentry/nextjs, not @sentry/node

* add sentry logging for errors in trpc


Approved-by: Linus Flood
2025-05-16 11:44:25 +00:00
Joakim Jäderberg
31d75ffa74 Merged in fix/default-page-settings (pull request #2076)
fix: default page settings when invalid or missing

* fix: default page settings when invalid or missing since most pages don't have pageSettings


Approved-by: Anton Gunnarsson
2025-05-15 10:41:16 +00:00
Chuma Mcphoy (We Ahead)
7af4d3be1e Merged in LOY-188-employee-benefit-call-to-actions (pull request #1954)
feat(LOY-188): dynamic content support in content pages headers & use in DTMC employee benefits page

* feat(LOY-188): add dynamic content handling for DTMC employee benefits page header

* fix(LOY-188): change section to div in EmployeeBenefitsCallToActions component

* refactor(LOY-188): switch to ButtonLink

* refactor(LOY-188): replace enum with as const objects in DynamicContentEnum

* chore(LOY-188): change ComponentValue type exports to internal scope in DynamicContentEnum

* fix(EmployeeBenefitsCallToActions): replace div with fragment

* chore(LOY-188): update translations


Approved-by: Christian Andolf
2025-05-08 15:24:22 +00:00
Michael Zetterberg
b910b6a313 feat(SW-2116): Use refId instead of confirmationNumber 2025-05-05 12:26:37 +00:00
Linus Flood
d49ecdae1f Merged in feat/sw-2323-find-booking3 (pull request #1928)
Feat/sw-2323 New Find booking endpoint

* wip

* wip


Approved-by: Anton Gunnarsson
2025-05-02 13:21:00 +00:00
Linus Flood
6979ac0c3b Merged in revert-pr-1925 (pull request #1927)
Revert "Feat/sw 2323 find booking (pull request #1925)"

Approved-by: Anton Gunnarsson
2025-05-02 13:05:42 +00:00
Linus Flood
f450f2a5db Merge master 2025-05-02 14:01:50 +02:00
Arvid Norlin
74d37dad93 feat(SW-2116): RefId instead of confirmationNumber 2025-05-02 12:44:07 +02:00
Linus Flood
7c26e2955e wip 2025-05-02 12:17:18 +02:00
Christian Andolf
43bdd80dff Merged in fix/SW-2508-new-api-cancel-booking-contract (pull request #1906)
Ending up doing some extra things:

Consolidated booking queries: We had both cancel and cancelMany, but functionally they’re the same, only one accepts an array and the other doesn’t. Didn’t see much point in keeping the single cancel as it wasn’t used anywhere. Thus, I could rename cancelMany to be the one stop method.

remove method for API now properly supports body so we don’t have to hijack the typing in certain places

* fix(SW-2508): now sending additional params to cancel api for new contract


Approved-by: Niclas Edenvin
2025-05-02 07:37:23 +00:00
Erik Tiekstra
4ae5da8a04 Feat/SW-2152 seo descriptions
* feat(SW-2152): Added improved meta descriptions for hotel pages
* feat(SW-2152): Added improved meta descriptions for destination pages
* feat(SW-2152): Refactoring metadata description functionality
* feat(SW-2152): Improved truncate function and added cities check to country page description

Approved-by: Michael Zetterberg
Approved-by: Matilda Landström
2025-04-29 06:52:04 +00:00
Simon Emanuelsson
ec087a3d15 feat: refactor of my stay 2025-04-28 12:40:52 +00:00
Michael Zetterberg
af65fbf7f4 fix: rename trpc route for get booking 2025-04-15 05:20:24 +00:00
Simon Emanuelsson
d72c84d949 feat: filters work together 2025-04-14 06:51:44 +00:00
Linus Flood
40f18c915b Merged in fix/hide-bookingwidget-flag (pull request #1764)
fix: bookingwidget - hide BW if either pageSettings or siteConfig wants to hide it

* fix: bookingwidget - hide BW if either pageSettings or siteConfig wants to hide it

* Refactor


Approved-by: Michael Zetterberg
2025-04-14 05:37:46 +00:00
Simon Emanuelsson
afb37d0cc5 feat: bedtypes is selectable again 2025-04-12 08:32:42 +00:00
Anton Gunnarsson
5cb19dfccd Merged in feat/sw-1313-show-sas-points (pull request #1682)
SW-1313 - Add support for getting SAS EB points

Approved-by: Joakim Jäderberg
2025-04-08 11:03:38 +00:00
Anton Gunnarsson
c56a0b8ce9 Merged in feat/sw-1975-get-profile-v2 (pull request #1651)
Use get Profile V2 endpoint

Approved-by: Linus Flood
2025-04-08 06:26:00 +00:00
Michael Zetterberg
4aeb5b071d fix(SW-1446): use existing functions for url data 2025-04-08 05:52:10 +00:00
Michael Zetterberg
9e84da45bc feat(SW-1446): add Jump to functionality to Destination Overview Page 2025-04-08 05:52:10 +00:00
Simon Emanuelsson
2abd4c5c12 fix: display modify dates for already guaranteed changeable rates 2025-04-04 08:46:47 +00:00
Linus Flood
e4907d4b47 Merged in fix/destinations-speed-test (pull request #1704)
Feat(destination pages): Performance improvements

* fix/destinations: try cache full response

* Added more caching

* Removed unsed env car

* wip

* merge master

* wip

* wip

* wip

* Renaming


Approved-by: Michael Zetterberg
2025-04-02 11:37:22 +00:00
Joakim Jäderberg
87d97db324 Merged in fix/pageview-tracking (pull request #1687)
Fix/pageview tracking

* Restructure pageview tracking

* Update trpc version and turn off batching

* Remove unused state and remove logs

* cleanup

* remove unused code and console.logs


Approved-by: Linus Flood
2025-04-01 06:43:54 +00:00
Tobias Johansson
7434f30c20 Merged in feat/SW-2033-implement-new-room-feature-request (pull request #1665)
feat(SW-2033): Added new route for fetching room features, and merged the data with existing availability data

* feat(SW-2033): Added new route for fetching room features, and merged the data with existing availability data

* fix: issue with total price not including room features

* fix: add return null

* fix

* fix

* fixes from PR feedback


Approved-by: Arvid Norlin
2025-03-31 11:20:49 +00:00
Simon Emanuelsson
ebaea78fb3 feat(SW-1717): rewrite select-rate to show all variants of rate-cards 2025-03-28 17:07:54 +00:00
Anton Gunnarsson
df2fb49d1e Merged in fix/sw-1980-sas-comparison-block-link (pull request #1641)
Update link in SASTierComparison to use pageLink reference

* Update link in SASTierComparison to use pageLink reference


Approved-by: Linus Flood
2025-03-27 15:27:12 +00:00
Michael Zetterberg
65f75c11ef fix: improve loading on destination overview page
- Only load data from Contentstack
- Use static JSON for destination list
- Some logic improvements to data handling and types
2025-03-27 13:49:28 +00:00
Linus Flood
f010a6869a Merged in fix/preview-cache (pull request #1655)
feat(contentstack): use no cache if preview

* feat(contentstack): use no cache if preview


Approved-by: Anton Gunnarsson
2025-03-27 12:54:07 +00:00
Linus Flood
3456235dd0 Merged in fix/destination-pages-cache-keys (pull request #1642)
Fix/destination pages cache keys

* fix(destionationpages): add tag to citydatabycityidentifier that should invalidate when publishing city

* Fixed building tag the same way and added comment why we need this extra tag


Approved-by: Erik Tiekstra
2025-03-26 13:04:18 +00:00
Christian Andolf
0ae4c5db17 chore(LOY-175): remove references to old reward endpoints 2025-03-26 09:55:26 +01:00
Erik Tiekstra
2c08b141b2 feat(SW-1534): Added booking code functionality from either searchParams or pageSettings
Approved-by: Christian Andolf
2025-03-25 07:36:43 +00:00
Hrishikesh Vaipurkar
c5e294c7ea Merged in feat/SW-1356-reward-night-booking-2- (pull request #1559)
feat: SW-1356 Reward night bookingflow

* feat: SW-1356 Reward night bookingflow

* feat: SW-1356 Removed extra param booking call

* feat: SW-1356 Optimized as review comments

* feat: SW-1356 Schema validation updates

* feat: SW-1356 Fix after rebase

* feat: SW-1356 Optimised price.redemptions check

* feat: SW-1356 Updated Props naming


Approved-by: Arvid Norlin
2025-03-24 08:54:02 +00:00
Erik Tiekstra
91e26e30af feat/SW-1756-meeting-package-content-pages
* feat(SW-1230): Changes to script to be able to reload after soft navigation
* feat(SW-1756): Added meeting package widget on content pages

Approved-by: Matilda Landström
2025-03-21 13:31:33 +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
Anton Gunnarsson
29f0eb4f21 Merged in feat/sw-1732-trigger-tier-match (pull request #1408)
SW-1732 Trigger SAS tier match

* Add endpoint for SAS tier match

* Add comment about future fix

* Move tier match to background request on my-pages/*

* Log result from tier match

* Clean up name etc

* Fix tier matched toast

Approved-by: Joakim Jäderberg
2025-03-13 14:12:31 +00:00
Erik Tiekstra
a1303d3dae feat(SW-1846): Added query to fetch metadata on start page
* feat(SW-1846): Added query to fetch metadata on start page


Approved-by: Matilda Landström
2025-03-13 09:11:30 +00:00
Erik Tiekstra
19bb965298 Merged in feat/SW-1745-language-switcher-non-contentstack-pages (pull request #1501)
feat(SW-1745): Query for language switcher returns just current pathname for non-contentstack pages except for hotelreservation paths

* feat(SW-1745): Query for language switcher returns just current pathname for non-contentstack pages except for hotelreservation paths


Approved-by: Linus Flood
2025-03-10 09:06:19 +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
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
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
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
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
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