Files
web/components/Icons/get-icon-by-icon-name.ts
Tobias Johansson 84f5e74f00 Merged in feat/SW-104-add-card (pull request #410)
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
2024-08-20 15:04:02 +00:00

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
}
}