import {useBillingUser} from '../use-billing-user'; import {BillingPlanPanel} from '../billing-plan-panel'; import {Trans} from '../../../i18n/trans'; import {Link} from 'react-router-dom'; import {EditIcon} from '../../../icons/material/Edit'; import {Fragment} from 'react'; import paypalSvg from './paypal.svg'; import {SvgImage} from '../../../ui/images/svg-image/svg-image'; export function PaymentMethodPanel() { const {user, subscription} = useBillingUser(); if (!user || !subscription) return null; const isPaypal = subscription.gateway_name === 'paypal'; const PaymentMethod = isPaypal ? PaypalPaymentMethod : CardPaymentMethod; return ( }> ); } interface PaymentMethodProps { methodClassName: string; linkClassName: string; } function CardPaymentMethod({ methodClassName, linkClassName, }: PaymentMethodProps) { const {user} = useBillingUser(); if (!user) return null; return (
{user.card_brand} •••• {user.card_last_four} {user.card_expires && (
)}
); } function PaypalPaymentMethod({ methodClassName, linkClassName, }: PaymentMethodProps) { const {subscription} = useBillingUser(); return (
); }