Commit Graph
100 Commits
Author SHA1 Message Date
Chuma Mcphoy (We Ahead) 914871607d Merged in feat/LOY-315-Membership-Status-Card (pull request #2712)
Feat(LOY-315): Membership Overview Card

* fix(LOY-315): new divider variants

* feat(LOY-315): Add MembershipOverviewCard

* refactor(LOY-315): abstract sasbooststatus

* fix(LOY-315): correct space vars

* fix(LOY-315): date formatting fixes


Approved-by: Erik Tiekstra
2025-09-01 13:42:50 +00:00
Chuma Mcphoy (We Ahead) 7561e996c6 Merged in feat/LOY-311-New-Avatar-Component (pull request #2694)
Feat(LOY-311) Create avatar design system component

* feat(LOY-311): Creat & use New Avatar Design System Component

* refactor(LOY-311): replace avatar used in app header with design system component

* fix(LOY-311): use correct space vars


Approved-by: Erik Tiekstra
2025-08-25 14:41:50 +00:00
Chuma Mcphoy (We Ahead) 6a0675525d Merged in fix/dtmc-debugging (pull request #2683)
Chore: DTMC Logging

* chore: DTMC debugging

* fix: prune dtmc logging

* fix: Add id's from azure in error logging


Approved-by: Linus Flood
Approved-by: Matilda Landström
2025-08-21 13:12:56 +00:00
Chuma Mcphoy (We Ahead) 720a1c2734 Merged in feat/LOY-264-My-Pages-Overview-Shortcuts (pull request #2672)
Feat(LOY-264): My Pages Overview Shortcuts

* feat(LOY-264): Add My Pages Shortcuts Overview Dynamic Content Component

* fix(LOY-264): more semantic naming + remove comments

* fix(LOY-264): new space variables

* fix(LOY-264): remove unused prop


Approved-by: Matilda Landström
2025-08-20 09:06:25 +00:00
Chuma Mcphoy (We Ahead) b644d5591a Merged in fix/account-banner-z-index (pull request #2673)
fix: remove z-index from linkaccount banner

* fix: remove z-index from linkaccount banner


Approved-by: Matilda Landström
2025-08-20 07:52:58 +00:00
Chuma Mcphoy (We Ahead) 12381f26e7 Merged in fix/LOY-287-Telemetry-DTMC (pull request #2631)
fix(LOY-287): telemetry logging for DTMC flow

* fix(LOY-287): telemetry logging for DTMC flow


Approved-by: Erik Tiekstra
Approved-by: Matilda Landström
2025-08-14 13:05:32 +00:00
Chuma Mcphoy (We Ahead) be752059ee Merged in fix/LOY-307-button-link-external-link-support (pull request #2630)
fix(LOY-307): disable prefetch on DTMC Link employment button

* fix(LOY-307): Add external link support to ButtonLink component

* fix(LOY-307): set prefetch to false in dtmc link btn cta


Approved-by: Anton Gunnarsson
2025-08-13 07:12:54 +00:00
Chuma Mcphoy (We Ahead) 3cca4ff394 Merged in chore/LOY-293-table-header-updates (pull request #2611)
chore(LOY-293): earn and burn table header update

* chore(LOY-293): earn and burn table header update


Approved-by: Anton Gunnarsson
2025-08-11 09:40:15 +00:00
Chuma Mcphoy (We Ahead) 1d785a40a5 Merged in feat/update-earn-burn-description-for-non-transactional-types (pull request #2555)
feat(LOY-294): Empty Stay description if 0 nights and and non-transactional confirmationNumber

* feat(LOY-294): Empty Stay description if 0 nights and and non-transactional confirmationNumber


Approved-by: Matilda Landström
2025-07-11 13:00:13 +00:00
Chuma Mcphoy (We Ahead) a7689405da Merged in LOY-293-earn-burn-table-headings (pull request #2553)
fix(LOY-293): update earn and burn table column headings

* fix(LOY-293): update earn and burn table column headings


Approved-by: Matilda Landström
2025-07-11 12:20:48 +00:00
Chuma Mcphoy (We Ahead) 960787f82c Merged in feat/LOY-285-SAS-marketing-banner-my-pages (pull request #2544)
feat(LOY-285): SAS Link Account Banner for My Pages (Part 1)

* feat(LOY-285): SAS Link Account Banner for My Pages

* fix(LOY-285): )use new space variable

* fix(LOY-285): add alt to images


Approved-by: Matilda Landström
2025-07-11 08:37:25 +00:00
Chuma Mcphoy (We Ahead) 5d9006bfdc Merged in fix/dtmc-link-button-spelling (pull request #2537)
fix: update dtmc link button copy

* fix: update dtmc link button copy


Approved-by: Matilda Landström
2025-07-08 11:23:42 +00:00
Chuma Mcphoy (We Ahead) df7b8ca7dd Merged in fix/use-image-component-for-dtmc-link-error (pull request #2515)
Use component image for dtmc error page bg

* Use component image for dtmc error page bg


Approved-by: Joakim Jäderberg
Approved-by: Anton Gunnarsson
Approved-by: Matilda Landström
2025-07-03 13:23:32 +00:00
Chuma Mcphoy (We Ahead) d32b8c4333 Merged in chore/remove-show-signup-flag (pull request #2507)
chore: Remove no longer needed SHOW_SIGNUP_FLOW flag

* chore: Remove no longer needed SHOW_SIGNUP_FLOW flag


Approved-by: Anton Gunnarsson
2025-07-03 07:56:50 +00:00
Chuma Mcphoy (We Ahead) a9868dac9c Merged in feat/LOY-203-connected-state-employee-benefits (pull request #2496)
feat(LOY-203): Enable Opening Team Member Card from Employee Benefits Page When Connected

* feat(LOY-203): add support for opening team member card modal from employee benefits page when connected

* fix(LOY-203): add id_card to  material symbol icons

* fix(LOY-203): remove uneeded dtmc btb style


Approved-by: Erik Tiekstra
Approved-by: Linus Flood
2025-07-02 11:50:27 +00:00
Chuma Mcphoy (We Ahead) 7eb8deb208 Merged in feat/LOY-232-DTMC-API-INTEGRATION (pull request #2454)
feat(LOY-232): DTMC API Integration

* feat(LOY-232): DTMC API Integration

* feat(LOY-232): use employment data in team member card

* refactor(LOY-232): remove static data, return employment details in parsed response & fix tests

* refactor(LOY-232): improve DTMC API Linking error control flow + make res type safe

* fix(LOY-232): remove unused utils

* fix(LOY-232): error vars


Approved-by: Christian Andolf
Approved-by: Erik Tiekstra
2025-07-01 07:03:59 +00:00
Chuma Mcphoy (We Ahead) 6965effcc2 Merged in feat/LOY-261-Remove-Sidebar-From-MyPages (pull request #2380)
Feat/LOY-261 Remove Sidebar From MyPages

* feat(LOY-261): remove sidebar from my pages

* refactor(LOY-261): move SASLevelUpgradeCheck to my-pages layout and remove unused code

* chore(LOY-261): remove console logs

* fix(LOY-261): remove sidebar and center content in Loyalty Pages when logged in

* fix(LOY-261): better class naming for content width


Approved-by: Christian Andolf
Approved-by: Erik Tiekstra
2025-06-26 14:25:17 +00:00
Chuma Mcphoy (We Ahead) 2101b79db1 Merged in feat/LOY-230-Microsoft-Entra-ID-Auth (pull request #2113)
Feat(LOY-230): DTMC Routes with Entra ID Auth & Error Page Handling

* feat(LOY-230): Link Scandic Friends and Azure accounts

* fix(LOY-230): remove employee id param setting

* fix(LOY-230): return token in jwt callback for auth.dtmc.ts


Approved-by: Michael Zetterberg
Approved-by: Christian Andolf
2025-06-18 10:22:04 +00:00
Chuma Mcphoy (We Ahead) 4f75c4a60f Merged in fix/employee-benefits-cta-text (pull request #2343)
fix: spelling error in employee benefits CTA text

* fix: spelling error in employee benefits CTA text


Approved-by: Christian Andolf
2025-06-12 07:20:36 +00:00
Chuma Mcphoy (We Ahead) 144a33fa30 Merged in feat/LOY-233-success-banner-for-dtmc-linking (pull request #2328)
feat(LOY-233): create success banner for successful DTMC linking

* feat(LOY-233): create success banner for successful DTMC linking

* fix(LOY-233): code cleanup

* fix(LOY-233): use new design vars for alert bg colors


Approved-by: Erik Tiekstra
2025-06-11 08:52:28 +00:00
Chuma Mcphoy (We Ahead) 1b8688c7ee Merged in fix/LOY-105-correct-translation-for-signup-tc (pull request #2167)
fix(LOY-105): use existing translation for t&c text 

* fix(LOY-105): use existing translation for t&c text in signup


Approved-by: Christian Andolf
2025-05-20 14:53:23 +00:00
Chuma Mcphoy (We Ahead) abf48c4152 Merged in fix/LOY-105-signupform-error-messages (pull request #2121)
feat(LOY-105): update signup form validation messages

* feat(LOY-105): improve signup form validation messages


Approved-by: Erik Tiekstra
2025-05-19 07:12:45 +00:00
Chuma Mcphoy (We Ahead) d489bc7aed Merged in chore/navigation-router-spelling-error (pull request #2115)
chore: correct spelling of navigationRouter

* chore: correct spelling of navigationRouter


Approved-by: Erik Tiekstra
2025-05-16 07:41:49 +00:00
Chuma Mcphoy (We Ahead) 81e4150cb3 Merged in fix/nullish-check-on-dynamic-content-headers (pull request #2069)
fix: Allow component to be nullish in dynamic content schemas

* fix: Allow component to be nullish in dynamic content schemas


Approved-by: Erik Tiekstra
2025-05-13 08:41:25 +00:00
Chuma Mcphoy (We Ahead) 8530c2cc93 Merged in fix/nullable-dynamic-content-in-static-page-header (pull request #2058)
fix: update header  dynamic_content schema to allow null values

* fix: update header  dynamic_content schema to allow null values

* fix: update to use nullish


Approved-by: Erik Tiekstra
2025-05-12 12:57:40 +00:00
Chuma Mcphoy (We Ahead) 9ac5e43f0f Merged in feat/link-employment-route (pull request #2012)
feat(LOY-229): New Link Employment page

* feat(LOY-229): Ship Link Employment page

* fix(LOY-229): review fixes

* fix(LOY-229): update Button component props for better styling consistency

* fix(LOY-229): update ButtonLink href to use linkEmployment route


Approved-by: Christian Andolf
2025-05-09 07:51:27 +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
Chuma Mcphoy (We Ahead) 87efb72ff2 Merged in fix/LOY-235-repeated-stays-when-clicking-show-more (pull request #1926)
fix(LOY-235): update pagination params for getPreviousStays and getUpcomingStays

* fix(LOY-235): update pagination parameters for getPreviousStays and getUpcomingStays functions


Approved-by: Erik Tiekstra
2025-05-02 12:49:58 +00:00
Chuma Mcphoy (We Ahead) d2e99d2c45 Merged in feat/LOY-201-Employee-benefits-auth-card-sidebar (pull request #1891)
Feat(LOY-201): Employee benefits auth card sidebar

* feat(LOY-201): WIP - add EmployeeBenefitsAuthCard component to Sidebar and update dynamic content enum

* feat(LOY-201): reorganize EmployeeBenefitsAuthCard

* chore: remove debug console logs from DynamicContent handling


Approved-by: Christian Andolf
2025-04-29 09:56:56 +00:00
Chuma Mcphoy (We Ahead) 035653349a Merged in chore/add-rel-no-follow-to-language-switcher-links (pull request #1865)
chore(SW-2369): dont index language switcher links

* chore(SW-2177): dont index language switcher links


Approved-by: Linus Flood
2025-04-25 12:58:46 +00:00
Chuma Mcphoy (We Ahead) 169094fc37 Merged in refactor/SW-2476-use-react-aria-radio-group-for-payment-options (pull request #1849)
Refactor(SW-2177): Use react aria RadioGroup & Radio for payment options

* fix(SW-SW-2177): enhance accessibility for payment options

* Added keyboard navigation support to payment options.
* Updated CSS to improve focus styles for payment option labels.

* refactor: use RadioGroup & Radio from react aria for payment options

* refactor(SW-2177): replace setValue and watch with useController for payment method handling

* fix(SW-2177): remove comment and use cx for styles on PaymentOption

* fix(SW-2177): Add keyboard focus indicator to payment option


Approved-by: Michael Zetterberg
Approved-by: Erik Tiekstra
2025-04-24 11:22:36 +00:00
Chuma Mcphoy (We Ahead) 8a68a79ac4 Merged in fix/LOY-227-password-input-validation-crash (pull request #1835)
fix(LOY-227): use new getErrorMessage for PasswordInput

* fix(LOY-227): improve error message handling in PasswordInput component


Approved-by: Christian Andolf
Approved-by: Linus Flood
2025-04-22 08:13:30 +00:00
Chuma Mcphoy (We Ahead) 27aef3982e Merged in fix/LOY-222-find-my-booking-urls-for-prod (pull request #1817)
Fix(LOY-222): Find my booking url handling

* fix(LOY-222): adapt findMyBooking url based on HIDE_FOR_NEXT_RELEASE

* feat(LOY-222): add current web paths for findMyBooking in multiple languages

* refactor(LOY-222): better env and new url constructions

* refactor(LOY-222): decouple env var handling from getCurrentWebUrl

* fix(LOY-222): update findMyBooking URL construction to use baseUrl

* fix(LOY-222): simplify findMyBooking URL handling for new web urls

* fix(LOY-222): Update Finnish path for hotel reservation lookup

* refactor(LOY-222): rename PUBLIC_URL to NEXT_PUBLIC_PUBLIC_URL for consistency


Approved-by: Christian Andolf
Approved-by: Linus Flood
2025-04-22 07:03:23 +00:00
Chuma Mcphoy (We Ahead) 57cd2f6a7f Merged in fix/SW-2197-properly-hide-benefits-badge-element (pull request #1798)
fix(SW-2197): Properly hide benefits message element when isMemberRate is false

* fix(SW-2197): correct hiding of benefit text


Approved-by: Christian Andolf
2025-04-15 07:56:33 +00:00
Chuma Mcphoy (We Ahead) 31370fe711 Merged in fix/SW-2197-dont-show-benefits-not-applied-text (pull request #1776)
fix(SW-2197): remove no membership benefits message

* fix(SW-2197): remove no membership benefits message


Approved-by: Christian Andolf
Approved-by: Matilda Landström
2025-04-14 06:40:40 +00:00
Chuma Mcphoy (We Ahead) e6a7e921bb Merged in fix/SW-2243-RateCard-Icon-UI (pull request #1770)
fix(SW-2243): update RateCard checkIcon UI

* fix(SW-2243): update RateCard checkIcon UI


Approved-by: Christian Andolf
2025-04-09 12:38:19 +00:00
Chuma Mcphoy (We Ahead) 7e6abe1f03 Merged in fix/SW-2166-fix-filtercheckbox-focus-state (pull request #1765)
fix(SW-2166): enhance FilterCheckbox accessibility

* fix(SW-2166): enhance FilterCheckbox accessibility

- Added cursor pointer to the checkbox container.
- Introduced focus outline for when the checkbox is focused.
- Wrapped checkbox name in Typography component.


Approved-by: Christian Andolf
2025-04-09 09:52:56 +00:00
Chuma Mcphoy (We Ahead) c069b7cd9d Merged in fix/SW-2222-next-stay-url-handling (pull request #1756)
fix(SW-2222): update next stay url to use PUBLIC_URL and adapt based on release flag

* fix(SW-2222): update next stay url to use PUBLIC_URL and adapt based on release flag

* refactor(SW-2222): change promoUrl variable to const


Approved-by: Michael Zetterberg
Approved-by: Christian Andolf
2025-04-08 12:03:04 +00:00
Chuma Mcphoy (We Ahead) a9c6901752 Merged in fix/SW-2204-check-icon-centering (pull request #1746)
fix(SW-2204): Fix Checkmark Alignment in RadioCard Component

* fix(SW-2204): add wrapper to fix checkmark alignment

* chore(SW-2204): update RadioCard check icon class naming


Approved-by: Christian Andolf
2025-04-07 13:55:23 +00:00
Chuma Mcphoy (We Ahead) 2de8295ca5 Merged in fix/SW-2204-selected-room-section-alignment (pull request #1748)
fix(SW-2204): Selected room alignment

* refactor(SW-2204): remove unused icon wrapper and related styles from SelectedRoom component


Approved-by: Christian Andolf
2025-04-07 12:32:56 +00:00
Chuma Mcphoy (We Ahead) 02cae62e57 Merged in fix/SW-2138-include-hotel-content-in-destination-city-page (pull request #1733)
fix(SW-2138): include hotel content descriptions in hotel data retrieval

* fix(SW-2138): include hotel content descriptions in hotel data retrieval

* fix(SW-2136 ): simplify hotel description handling

* refactor(SW-2136): replace Body component with Typography for hotel descriptions in HotelListingItem


Approved-by: Christian Andolf
2025-04-04 12:18:06 +00:00
Chuma Mcphoy (We Ahead) 780ed6c525 Merged in fix/Scandic-friends-logo (pull request #1722)
fix: Fix SVG placement of DoubleRow and SingleRow ScandicFriends icons

* fix: Fix SVG placement of DoubleRow and SingleRow ScandicFriends components


Approved-by: Christian Andolf
2025-04-04 07:37:01 +00:00
Chuma Mcphoy (We Ahead) 56d5ad77d1 Merged in fix/SW-2068-correct-public-url-from-my-stays-overview-page (pull request #1694)
feat(SW-2068): Link to Correct Public URL from within My Stays Overview Page

* feat(SW-2068): Link to Correct Public URL from within My Stays Overview Page

- Added language parameter to previous and upcoming stays queries.
- Updated Client components to utilize the new language hook.
- Refactored EmptyUpcomingStays component to dynamically generate links based on the current language.
- Adjusted user input validation to include optional language parameter.

* refactor(SW-2068): Update EmptyUpcomingStays components to use PUBLIC_URL + add utility to handle TLD based on language

* chore(SW-2068): Clarify TLD

* feat(SW-2068): documentation for getTldForLanguage

* refactor(SW-2068): Simplify booking URL construction in updateStaysBookingUrl

* refactor(SW-2068): Remove incorrect TLD update logic from booking URL construction

* refactor(SW-2068): Centralize booking URL paths using myBookingPath constant

* refactor(SW-2068): Streamline search params in booking URL construction logic in updateStaysBookingUrl


Approved-by: Christian Andolf
2025-04-02 12:44:02 +00:00
Chuma Mcphoy (We Ahead) e45fea6de4 Merged in feat/SW-1890-New-Breakfast-Component (pull request #1666)
Feat/SW-1890 New Breakfast Component Design

* refactor(SW-1890): Replace BreakfastChoiceCard with RadioCard component and update styles

- Removed BreakfastChoiceCard component and its associated styles.
- extemded RadioCard component to additional UI.
- Updated breakfast.module.css to adjust container width.
- Added new properties for subtitleSecondary and description in RadioCard.
- Updated translations for breakfast-related messages in en.json.

* feat(SW-1890): Add hover state to RadioCard

* chore(SW1890): Update translation for breakfast cost message to clarify age range

* chore(SW-1890): Updated breakfast cost display to use formatPrice utility

* fix(SW-1890): Set fixed size for CoffeeIcon component

* fix(SW-1890): Add missing translations for breakfast-related messages

* feat(SW-1890): Introduce new breakfast icons and update Breakfast component

- Replaced CoffeeIcon with BreakfastBuffetIcon and NoBreakfastBuffetIcon in the Breakfast component.
- Added new BreakfastBuffetIcon and NoBreakfastBuffetIcon components to the design system.
- Updated imports in the Breakfast component to reflect the new icons.


Approved-by: Christian Andolf
2025-04-01 10:03:18 +00:00
Chuma Mcphoy (We Ahead) 8b00cfe609 Merged in fix/LOY-209-render-material-icons-in-webviews (pull request #1685)
fix(LOY-209): add react-material-symbols package to webviews layout

* fix(LOY-209): add react-material-symbols package to webviews layout


Approved-by: Christian Andolf
2025-03-31 13:37:54 +00:00
Chuma Mcphoy (We Ahead) c4f8ff8bb5 Merged in fix/LOY-173-membership-id-translations (pull request #1593)
fix(LOY-173): update membership ID label translations

* fix(LOY-173): update membership ID label translations


Approved-by: Christian Andolf
2025-03-24 07:49:05 +00:00
Chuma Mcphoy (We Ahead) 7ca8c97738 Merged in fix/LOY-181-contentpage-sidebar-horizontal-padding-tablet (pull request #1592)
fix(LOY-181): add max-width to sidebar on tablet layouts in static pages

* fix(LOY-181): add max-width to sidebar in static pages


Approved-by: Christian Andolf
2025-03-21 08:16:34 +00:00
Chuma Mcphoy (We Ahead) 85cd247f79 Merged in feat/LOY-183-Make-Other-Password-Inputs-Maskable (pull request #1569)
feat(LOY-183): Make Current & Retype Password Inputs Maskable in My Profile Edit Form

* feat(LOY-183): implement PasswordInput and PasswordToggleButton components

- Added PasswordInput component for password fields with visibility toggle.
- Introduced PasswordToggleButton for toggling password visibility.
- Updated NewPassword component to utilize the new PasswordInput.

* refactor(LOY-183): replace NewPassword component with PasswordInput


Approved-by: Christian Andolf
2025-03-21 08:15:55 +00:00
Chuma Mcphoy (We Ahead) b0aea68ee5 Merged in fix/LOY-180-hide-filter-modal (pull request #1568)
fix(LOY-180): remove use of FilterRewardsModal

* fix(LOY-180): remove use of FilterRewardsModal


Approved-by: Christian Andolf
2025-03-19 12:07:02 +00:00
Chuma Mcphoy (We Ahead) 1ed6dc4e08 Merged in fix/LOY-173-membercard-translations (pull request #1577)
fix(LOY-173): update translations for "next level" in multiple languages

* fix(LOY-173): update translations for "next level" in multiple languages


Approved-by: Christian Andolf
2025-03-19 11:55:10 +00:00
Chuma Mcphoy (We Ahead) 0a150a4eca Merged in fix/remove-deafult-centering-behaviour-in-carousels (pull request #1543)
refactor(SW-1941): clean up custom Carousel component centering

* refactor: clean up custom Carousel component centering

- Removed unused centerContent class from carousel.module.css.
- Simplified CarouselContent component by eliminating unnecessary state and effect hooks.
- Updated HotelCardCarousel to include responsive breakpoints for scrolling behavior.

* refactor: simplify scrolling options in HotelCardCarousel

- Updated the HotelCardCarousel component to streamline scrolling options by removing responsive breakpoints and setting containScroll to false.


Approved-by: Matilda Landström
2025-03-17 15:28:24 +00:00
Chuma Mcphoy (We Ahead) e530905d8d Merged in fix/filter-modal-translations (pull request #1527)
Fix(LOY-55): Add missing reward filter modal translations

* fix(SW-1842): Add translations for reward categories

* fix: update Norwegian translation for copyright notice


Approved-by: Christian Andolf
2025-03-17 12:12:53 +00:00
Chuma Mcphoy (We Ahead) 550474dffe Merged in feat/SW-1909-update-adobe-on-language-change (pull request #1526)
feat(SW-1909): Fix Adobe Data Layer not updating during language changes

* feat(SW-1909): Update Tracking on language changes


Approved-by: Linus Flood
2025-03-13 08:25:50 +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
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
Chuma Mcphoy (We Ahead) 4db75057f2 Merged in feat/LOY-155-localize-language-options-in-edit-profile-form (pull request #1490)
feat(LOY-155): Localize language options in edit profile form

* feat(LOY-155): Localize language options in edit profile form

* feat(LOY-155): Capitalize first letter of localized language options


Approved-by: Christian Andolf
2025-03-06 14:57:26 +00:00
Chuma Mcphoy (We Ahead) 8b8d883b0d Merged in fix/LOY-146-make-modal-content-scrollable (pull request #1488)
fix(LOY-146): Make Tier redeem modal content scrollable

* fix(LOY-146): improve modal layout and scrolling in rewards tier redeem component


Approved-by: Christian Andolf
2025-03-06 14:23:05 +00:00
Chuma Mcphoy (We Ahead) bba76e7707 Merged in fix/LOY-171-password-reveal-icon-edge (pull request #1476)
fix(LOY-171): Hide password reveal icons in Microsoft Edge

* fix(LOY-171): Hide password reveal icons in Microsoft Edge


Approved-by: Christian Andolf
2025-03-05 12:57:41 +00:00
Chuma Mcphoy (We Ahead) bbbfe48634 Merged in fix/SW-1801-return-not-found-on-non-existing-routes (pull request #1462)
fix(SW-1801): Prevent resolving subpages for start page

* fix(SW-1801): Prevent resolving subpages for start page


Approved-by: Linus Flood
2025-03-04 08:02:16 +00:00
Chuma Mcphoy (We Ahead) 738c0e223f Merged in feat/LOY-156-localize-user-languages (pull request #1452)
feat(LOY-156): Improve language handling and localization in profile page

* feat(LOY-156): Improve language handling and localization in profile page

* refactor(LOY-156): Improve language display using Intl.DisplayNames

* feat(LOY-156): Enhance country display with localized country names

* refactor(LOY-156): Move countries data to a dedicated constants file & more type safe country mapping

* feat(LOY-156): Update isValidLang to use languageSchema + German translation for membership terms and conditions

* chore(LOY-156): language handling in profile component


Approved-by: Christian Andolf
2025-03-03 12:55:05 +00:00
Chuma Mcphoy (We Ahead) c04bb20021 Merged in fix/LOY-158-signup-translations (pull request #1457)
fix(LOY-158): Update account creation error message translations

* fix(LOY-158): Improve account creation error message translations


Approved-by: Christian Andolf
2025-03-03 12:54:28 +00:00
Chuma Mcphoy (We Ahead) 8061ab63a8 Merged in feat/LOY-158-signup-with-existing-email-error-handling (pull request #1441)
Feat/LOY-158 signup with existing email error handling

* feat(LOY-158): Add handling for email conflict during signup

- Implement specific error handling for email conflict in signup form
- Add localized error message for existing email accounts across language dictionaries
- Introduce new error type `conflictError` in trpc error handling

* fix(LOY-158): revert translation changes

* fix(LOY-158): Correct Finnish translation for cancellation message


Approved-by: Christian Andolf
2025-02-27 14:30:03 +00:00
Chuma Mcphoy (We Ahead) 341f0c54ed Merged in fix/SW-1733-start-page-enhancements-and-fixes (pull request #1415)
Fix/SW-1733 start page enhancements and fixes

* fix: simplify carousel navigation and grid layout styling and fix padding issue

* refactor(SW-1733): replace Preamble with Body component in JoinScandicFriends

* refactor(SW-1733): update FullWidthCampaign button width styling

* feat(SW-1733): Add gradient overlay to FullWidthCampaign component

* refactor(SW-1733): Simplify FullWidthCampaign button props

* refactor(SW-1733): Remove redundant button wrapper divs in FullWidthCampaign

* refactor(SW-1733): Adjust FullWidthCampaign button wrapper min-width responsively


Approved-by: Christian Andolf
2025-02-25 16:41:02 +00:00
Chuma Mcphoy (We Ahead) fc720b1dbc Merged in fix/carousel-tablet-scroll-behaviour (pull request #1382)
feat(SW-1699): Update Carousel component alignment to start

* feat(SW-1699): Update Carousel component alignment to start


Approved-by: Christian Andolf
2025-02-20 15:04:13 +00:00
Chuma Mcphoy (We Ahead) 6e12756ab5 Merged in fix/SW-1697-BAP-text (pull request #1384)
feat(SW-1697): more tilted scripted text for FullWidthCampaign component

* feat(SW-1697): more tilted scripted text for FullWidthCampaign component

* feat(SW-1697): add text transform to FullWidthCampaign title


Approved-by: Christian Andolf
2025-02-20 14:57:05 +00:00
Chuma Mcphoy (We Ahead) b6bf1b3ded Merged in refactor/SW-1669-carousel-cards-shadow (pull request #1370)
Refactor(SW-1669): Carousel Cards Enhancements

* feat(SW-1669): Enhance Filters component with scroll shadows and heart icon

* feat(SW-1669): Carousel peek next card

* fix(SW-1669): carousel review comments

* feat(SW-1669): Add left scroll shadow to TabFilters component

* refactor(SW-1669): Simplify TabFilters shadow styling

* refactor(SW-1669): Adjust TabFilters shadow width

* refactor(SW-1699): Remove unused import from enter details store


Approved-by: Christian Andolf
2025-02-19 12:46:22 +00:00
Chuma Mcphoy (We Ahead) 9ca7330d74 Merged in refactor/SW-1679-reset-scroll-state-on-new-filter-selections (pull request #1367)
feat(SW-1679): Add key prop to Carousel to reset on filter change

* feat(SW-1679): Enhance SectionHeader and Carousel component in CarouselCards

* Add headingLevel and headingAs props to SectionHeader
* Add key prop to Carousel to reset on filter change


Approved-by: Christian Andolf
2025-02-18 10:22:44 +00:00
Chuma Mcphoy (We Ahead)andChristian Andolf f5c5172555 Merged in fix/carousel-card-gap (pull request #1343)
refactor: Adjust default carousel card gap

Approved-by: Christian Andolf
2025-02-17 08:49:36 +00:00
Chuma McPhoyandChristian Andolf 7c519979bb refactor: Adjust carousel card gap 2025-02-17 09:41:58 +01:00
Chuma Mcphoy (We Ahead) b2add701e5 Merged in fix/LOY-143-hide-see-all-link (pull request #1341)
fix(LOY-143): properly hide see all link for carosel cards

* fix(LOY-143): Improve link handling in CarouselCards schema


Approved-by: Christian Andolf
2025-02-14 12:19:46 +00:00
Chuma Mcphoy (We Ahead) 38cce4b136 Merged in feat/SW-1542-carousel-functionality (pull request #1311)
feat(SW-1542): Carousel component

* feat(SW-1542): add Embla Carousel component and use in CarouselCards

* fix(SW-1542): remove max-width constraint for card on ipad

* fix(SW-1542): Add padding to start page content container

* refactor(SW-1542): Improve Embla Carousel type imports

* refactor(SW-1542): Remove unnecessary carousel wrapper div

* refactor(SW-1542): Modularize Carousel component structure

* refactor(SW-1542): Remove carousel dots display

* feat(SW-1542): Add carousel dots navigation

* refactor(SW-1542): Update Carousel component styling and types

* refactor(SW-1542): Remove uneeded useCallback from Carousel navigation methods

* refactor(SW-1542): Modify CarouselContextProps type to exclude className

* refactor(SW-1542): Optimize React imports in Carousel components

* refactor(SW-1542): Consolidate Carousel component and remove CarouselRoot

* refactor(SW-1542): Update Carousel navigation methods to use function-based scroll checks

* refactor(SW-1542): Add explicit children prop support to CarouselContent component

* refactor(SW-1542): Add children prop support to CarouselItem component


Approved-by: Christian Andolf
2025-02-14 10:53:14 +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
Chuma Mcphoy (We Ahead) 3c4d08a894 Merged in feat/1525-info-card-themes (pull request #1300)
feat(SW-1525): Add theme support for InfoCard component

* feat(1525): Add theme support for InfoCard component

* refactor(1525): Update InfoCard theme typing


Approved-by: Christian Andolf
2025-02-11 10:40:23 +00:00
Chuma Mcphoy (We Ahead) bd779a15a4 Merged in fix/add-mobile-variant-section-link-in-carousel-cards (pull request #1281)
feat: add mobile section link to CarouselCards

* feat: add mobile section link to CarouselCards


Approved-by: Christian Andolf
2025-02-07 15:06:22 +00:00
Chuma Mcphoy (We Ahead) 7c8d6cbc2e Merged in feat/SW-1384-filter-functionality (pull request #1262)
feat(SW-1384): Implement filtering for CarouselCards component

* feat(SW-1384): Implement filtering for CarouselCards component

* fix(SW-1384): Simplify CarouselCards filters scrolling styles

* refactor(SW-1384): Simplify CarouselCards filtering logic


Approved-by: Christian Andolf
2025-02-06 14:32:55 +00:00
Chuma Mcphoy (We Ahead) f3e6318d49 Merged in feat/SW-1383-content-card-start-page (pull request #1252)
feat(SW-1383): Implement ContentCard for the Start Page

* feat(SW-1383): Implement ContentCard

- Add ContentCard component
- Use within CarouselCards component

* fix(SW-1383): adjust carousel and content card styling

* refactor(SW-1383): optimize ContentCard component styling and props

* feat(SW-1383): move ContentCard image check out of component

* feat(SW-1383): Add optional link prop to ContentCard component

* refactor(SW-1383): Make ContentCard component linkable


Approved-by: Christian Andolf
Approved-by: Erik Tiekstra
2025-02-05 11:29:53 +00:00
Chuma Mcphoy (We Ahead) 2e311be924 Merged in feat/SW-1384-filterable-carousel-cards (pull request #1235)
feat(SW-1384): add CarouselCards block to start page

* feat(SW-1384): add filterable carousel cards block to start page

* fix(SW-1384): remove unnecessary link prop from SectionHeader

* fix(SW-1384): remove uneeded undefined

* fix(SW-1384): better type safety

* feat(SW-1384): Add see all link to filterable carousel cards section header

* refactor(SW-1384): Replace FilterableCarouselCards with CarouselCards block

* fix(SW-1384): Remove CardsEnumType type definition

* fix(SW-1384):Implement code review feedback to CarouselCards

* refactor(SW-1384): Convert CarouselCardFilterEnum to const enum with type


Approved-by: Christian Andolf
2025-02-04 10:59:17 +00:00
Chuma Mcphoy (We Ahead) 09011a2484 Merged in fix/extended-page-link-schema (pull request #1241)
fix: handle optional web property in extended page link schema

* fix: handle optional web property in page link transformation


Approved-by: Christian Andolf
2025-02-03 13:02:13 +00:00
Chuma Mcphoy (We Ahead) f9d1736195 Merged in fix/remove-infocardblock-from-content-page (pull request #1238)
fix: remove InfoCardBlock references from Content Page CardsGrid fragment

* fix: remove InfoCardBlock references from CardsGrid fragment


Approved-by: Erik Tiekstra
2025-02-03 07:20:37 +00:00
Chuma Mcphoy (We Ahead) b57174647f Merged in SW-1382-start-page-offers-section (pull request #1221)
SW-1382 start page offers section

* feat(SW-1382): Add InfoCard component to CardsGrid and StartPage

* feat(SW-1382): Add dynamic image positioning for InfoCard in CardsGrid

* refactor(SW-1382): Update InfoCard data transformation and prop naming

* fix(SW-1382): Add flex display to InfoCard image container


Approved-by: Christian Andolf
Approved-by: Erik Tiekstra
2025-01-29 10:21:33 +00:00
Chuma McPhoy c976d187be fix(LOY-62): conditionally render ScriptedRewardText based on showRedeem flag 2025-01-14 10:17:22 +01:00
Chuma McPhoy 655103a0b5 refactor(LOY-62): revert to switch case for ScriptedRewardText label text 2025-01-14 10:17:22 +01:00
Chuma McPhoy da31539610 refactor(LOY-62): implement code review feedback 2025-01-14 10:17:22 +01:00
Chuma McPhoy e0d8315565 fix(LOY-62): use correct voucher rewardType value 2025-01-14 10:17:22 +01:00
Chuma McPhoy dc7e6df006 chore(LOY-62): Add case and translations for vouchers 2025-01-14 10:17:22 +01:00
Chuma McPhoy 0edd615925 feat(LOY-62): Add ScriptedRewardText component 2025-01-14 10:17:22 +01:00
Chuma McPhoy 1cd400a977 fix: add "Member-voucher" to rewardType enum in CouponReward schema 2025-01-10 09:19:42 +01:00
Chuma McPhoy cc7461bf3c fix: update breadcrumbs styling for full width variants 2025-01-07 16:33:11 +01:00
Chuma McPhoy 07fc8357c1 fix: update breadcrumbs max width for loyalty pages 2025-01-07 15:56:15 +01:00
Chuma McPhoy f2e29ae049 refactor(LOY-48): update date property names in tracking data across contentstack queries 2025-01-03 15:51:16 +01:00
Chuma McPhoy 61f3c8ecd3 fix(LOY-48): unify domainLanguage assignment across all contentstack queries 2024-12-20 14:30:58 +01:00
Chuma McPhoy 78094b7c10 fix(contentPage): update domainLanguage assignment to use lang variable 2024-12-20 14:22:41 +01:00
Chuma McPhoy ea27bb01e2 refactor(LOY-48): add signup specific content page tracking 2024-12-20 10:10:55 +00:00
Chuma McPhoy 528652d603 fix(LOY-90): remove duplicate country value 2024-12-18 17:52:43 +01:00
Chuma McPhoy dddd93a98a fix(LOY-90): use double qutes for object keys + country fixes 2024-12-18 14:43:08 +01:00
Chuma McPhoy 6168e0a034 fix(LOY-44): signup flow translations fixes 2024-12-18 09:26:52 +01:00
Chuma McPhoy 01c0d5c35e fix(LOY-64): lowercase s on membershipbadge 2024-12-13 14:57:16 +01:00
Chuma McPhoy 9d9084f60d fix(LOY-64): memoize getCurrentRewards call 2024-12-13 14:57:16 +01:00
Chuma McPhoy 079d8dbf33 fix(LOY-64): lint fix 2024-12-13 14:57:16 +01:00
Chuma McPhoy 9247ea0e9c fix(LOY-64): abstract membershipbadge to its own component 2024-12-13 14:57:16 +01:00