fix: Fix SVG placement of DoubleRow and SingleRow ScandicFriends icons
* fix: Fix SVG placement of DoubleRow and SingleRow ScandicFriends components
Approved-by: Christian Andolf
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
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
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
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
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
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
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
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
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
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
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
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
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
fix: handle optional web property in extended page link schema
* fix: handle optional web property in page link transformation
Approved-by: Christian Andolf
fix: remove InfoCardBlock references from Content Page CardsGrid fragment
* fix: remove InfoCardBlock references from CardsGrid fragment
Approved-by: Erik Tiekstra