fix(SW-3691): Setup one prettier config for whole repo * Setup prettierrc in root and remove other configs Approved-by: Joakim Jäderberg Approved-by: Linus Flood
63 lines
2.3 KiB
TypeScript
63 lines
2.3 KiB
TypeScript
import { PaymentMethodEnum } from "@scandic-hotels/common/constants/paymentMethod"
|
|
import { GenericCardIcon } from "./Icons/GenericCardIcon"
|
|
import { SwishIcon } from "./Icons/SwishIcon"
|
|
import { VippsIcon } from "./Icons/VippsIcon"
|
|
import { MobilePayIcon } from "./Icons/MobilePayIcon"
|
|
import { ApplePayIcon } from "./Icons/ApplePayIcon"
|
|
import { GooglePayIcon } from "./Icons/GooglePayIcon"
|
|
import { PayPalIcon } from "./Icons/PayPalIcon"
|
|
import { KlarnaIcon } from "./Icons/KlarnaIcon"
|
|
import { AmericanExpressIcon } from "./Icons/AmericanExpressIcon"
|
|
import { DanKortIcon } from "./Icons/DanKortIcon"
|
|
import { DinersClubIcon } from "./Icons/DinersClubIcon"
|
|
import { JcbIcon } from "./Icons/JcbIcon"
|
|
import { MasterCardIcon } from "./Icons/MasterCardIcon"
|
|
import { VisaIcon } from "./Icons/VisaIcon"
|
|
import { MaestroIcon } from "./Icons/MaestroIcon"
|
|
import { ChinaUnionPayIcon } from "./Icons/ChinaUnionPayIcon"
|
|
import { DiscoverIcon } from "./Icons/DiscoverIcon"
|
|
import { PaymentIconProps } from "./Icons/IconProps"
|
|
|
|
const paymentMethods: Partial<
|
|
Record<
|
|
keyof typeof PaymentMethodEnum,
|
|
(props: PaymentIconProps) => React.ReactNode
|
|
>
|
|
> = {
|
|
swish: (props) => <SwishIcon {...props} />,
|
|
vipps: (props) => <VippsIcon {...props} />,
|
|
mobilePay: (props) => <MobilePayIcon {...props} />,
|
|
applePay: (props) => <ApplePayIcon {...props} />,
|
|
googlePay: (props) => <GooglePayIcon {...props} />,
|
|
payPal: (props) => <PayPalIcon {...props} />,
|
|
klarna: (props) => <KlarnaIcon {...props} />,
|
|
americanExpress: (props) => <AmericanExpressIcon {...props} />,
|
|
dankort: (props) => <DanKortIcon {...props} />,
|
|
dinersClub: (props) => <DinersClubIcon {...props} />,
|
|
jcb: (props) => <JcbIcon {...props} />,
|
|
masterCard: (props) => <MasterCardIcon {...props} />,
|
|
visa: (props) => <VisaIcon {...props} />,
|
|
maestro: (props) => <MaestroIcon {...props} />,
|
|
chinaUnionPay: (props) => <ChinaUnionPayIcon {...props} />,
|
|
discover: (props) => <DiscoverIcon {...props} />,
|
|
PartnerPoints: () => null,
|
|
}
|
|
|
|
type PaymentMethodIconProps = {
|
|
paymentMethod: PaymentMethodEnum
|
|
className?: string
|
|
alt?: string
|
|
}
|
|
export const PaymentMethodIcon = ({
|
|
paymentMethod,
|
|
...props
|
|
}: PaymentMethodIconProps) => {
|
|
const Icon = paymentMethods[paymentMethod]
|
|
|
|
if (!Icon) {
|
|
return <GenericCardIcon {...props} role="img" />
|
|
}
|
|
|
|
return <Icon {...props} role="img" />
|
|
}
|