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
125 lines
2.7 KiB
TypeScript
125 lines
2.7 KiB
TypeScript
import { FC } from "react"
|
|
|
|
import {
|
|
AccessibilityIcon,
|
|
AccountCircleIcon,
|
|
ArrowRightIcon,
|
|
BarIcon,
|
|
BikingIcon,
|
|
CalendarIcon,
|
|
CameraIcon,
|
|
CellphoneIcon,
|
|
CheckCircleIcon,
|
|
CheckIcon,
|
|
ChevronDownIcon,
|
|
ChevronRightIcon,
|
|
CloseIcon,
|
|
CloseLarge,
|
|
CoffeeIcon,
|
|
ConciergeIcon,
|
|
CrossCircle,
|
|
DoorOpenIcon,
|
|
ElectricBikeIcon,
|
|
EmailIcon,
|
|
FitnessIcon,
|
|
GlobeIcon,
|
|
HouseIcon,
|
|
ImageIcon,
|
|
InfoCircleIcon,
|
|
LocationIcon,
|
|
LockIcon,
|
|
ParkingIcon,
|
|
People2Icon,
|
|
PersonIcon,
|
|
PetsIcon,
|
|
PhoneIcon,
|
|
PlusCircleIcon,
|
|
RestaurantIcon,
|
|
TshirtWashIcon,
|
|
WarningTriangle,
|
|
WifiIcon,
|
|
} from "."
|
|
|
|
import { IconName, IconProps } from "@/types/components/icon"
|
|
|
|
export function getIconByIconName(icon?: IconName): FC<IconProps> | null {
|
|
switch (icon) {
|
|
case IconName.Accessibility:
|
|
return AccessibilityIcon
|
|
case IconName.AccountCircle:
|
|
return AccountCircleIcon
|
|
case IconName.ArrowRight:
|
|
return ArrowRightIcon
|
|
case IconName.Bar:
|
|
return BarIcon
|
|
case IconName.Biking:
|
|
return BikingIcon
|
|
case IconName.Calendar:
|
|
return CalendarIcon
|
|
case IconName.Camera:
|
|
return CameraIcon
|
|
case IconName.Cellphone:
|
|
return CellphoneIcon
|
|
case IconName.Check:
|
|
return CheckIcon
|
|
case IconName.CrossCircle:
|
|
return CrossCircle
|
|
case IconName.CheckCircle:
|
|
return CheckCircleIcon
|
|
case IconName.ChevronDown:
|
|
return ChevronDownIcon
|
|
case IconName.ChevronRight:
|
|
return ChevronRightIcon
|
|
case IconName.Close:
|
|
return CloseIcon
|
|
case IconName.CloseLarge:
|
|
return CloseLarge
|
|
case IconName.Coffee:
|
|
return CoffeeIcon
|
|
case IconName.Concierge:
|
|
return ConciergeIcon
|
|
case IconName.DoorOpen:
|
|
return DoorOpenIcon
|
|
case IconName.ElectricBike:
|
|
return ElectricBikeIcon
|
|
case IconName.Email:
|
|
return EmailIcon
|
|
case IconName.Fitness:
|
|
return FitnessIcon
|
|
case IconName.Globe:
|
|
return GlobeIcon
|
|
case IconName.House:
|
|
return HouseIcon
|
|
case IconName.Image:
|
|
return ImageIcon
|
|
case IconName.InfoCircle:
|
|
return InfoCircleIcon
|
|
case IconName.Location:
|
|
return LocationIcon
|
|
case IconName.Lock:
|
|
return LockIcon
|
|
case IconName.Parking:
|
|
return ParkingIcon
|
|
case IconName.Person:
|
|
return PersonIcon
|
|
case IconName.People2:
|
|
return People2Icon
|
|
case IconName.Pets:
|
|
return PetsIcon
|
|
case IconName.Phone:
|
|
return PhoneIcon
|
|
case IconName.PlusCircle:
|
|
return PlusCircleIcon
|
|
case IconName.Restaurant:
|
|
return RestaurantIcon
|
|
case IconName.TshirtWash:
|
|
return TshirtWashIcon
|
|
case IconName.WarningTriangle:
|
|
return WarningTriangle
|
|
case IconName.Wifi:
|
|
return WifiIcon
|
|
default:
|
|
return null
|
|
}
|
|
}
|