Feat/SW-755 price change non happy
* fix(SW-755): dont show field error if checkbox has no children
* feat(SW-755): Price change route + dialog WIP
* fix(SW-755): minor refactoring
* fix(SW-755): added logging to price change route
* fix(SW-755): remove redundant search param logic
* fix(SW-755): moved enum cast to zod instead
* fix(SW-755): move prop type to types folder
* fix(SW-755): Added suspense to Payment and refactored payment options hook
* fix(SW-755): seperated terms and conditions copy from the checkbox label
* fix(SW-755): add currency format and fixed wrong translation
* fix(SW-755): change from undefined to null
* fix(SW-755): added extra type safety to payment options
Approved-by: Christian Andolf
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