Feat/CJ-17 points expiration table
* feat(CJ-17): Added point expiration table and refactored to use Table component
* feat(CJ-17): Use Table component inside Row
* fix(CJ-117): Added missing css class and update date formatting
* fix(CJ-117): Added copy of membershipLevel route with a protectedProcedure
Approved-by: Christel Westerberg
Feat/SW-196 design fixes
* feat(SW-196): Updated copy My credit cards -> My payment cards
* fix: update design system version
* feat(SW-196): Update Header component to use Preamble instead of Subtitle
* feat(SW-196): Minor design fixes
Approved-by: Christel Westerberg
This updates the select room page according to the new UX. It has different sections on the same page, but with specific URLs per section. Since neither UX, UI nor API is completely done both design and data structures are a bit temporary.
Approved-by: Simon.Emanuelsson
Feat/SW-104 add card
* feat: add api endpoints for adding and removing credit card
* feat(SW-104): Added Sonner toast lib
* feat(SW-104): Add route handlers for add card flow
* feat(SW-104): Added link to route handler and trigger toast when query params from callback is set
* feat(SW-104): Added translations for add card success toast
* feat(SW-104): Refactored to use client request for initiate save card
* fix(SW-104): Return proper status codes when initiating save card fails
* fix(SW-104): remove delete card endpoint because it was added in SW-245
* fix(SW-104): remove console.log
* fix(SW-104): Use api.post for save card request
* fix(SW-104): move function declaration above export
* fix(SW-104): handle response of save card and use Lang enum
* fix(SW-104): added comment for why setTimeout is needed for toast and also removed lang prop
* fix(SW-104): added type for AddCreditCardButton props
* feat: add toasts
* fix(SW-104): start using toasts from ToastHandler and fix problem with duplicate toasts
* fix(SW-104): remove unnecessary wrapping div
Approved-by: Michael Zetterberg