import { useEffect } from 'react' import { useTranslation } from 'react-i18next' import { Subscription } from '../../../../../../types/subscription/dashboard/subscription' import { ActiveSubsciption } from './states/active/active' import { CanceledSubsciption } from './states/canceled' import { ExpiredSubsciption } from './states/expired' import { useSubscriptionDashboardContext } from '../../context/subscription-dashboard-context' function PastDueSubscriptionAlert({ subscription, }: { subscription: Subscription }) { const { t } = useTranslation() return ( <>
{t('account_has_past_due_invoice_change_plan_warning')}{' '} {t('view_your_invoices')}
) } function PersonalSubscriptionStates({ subscription, state, }: { subscription: Subscription state?: string }) { const { t } = useTranslation() if (state === 'active') { return } else if (state === 'canceled') { return } else if (state === 'expired') { return } else { return <>{t('problem_with_subscription_contact_us')} } } function PersonalSubscription({ subscription, }: { subscription?: Subscription }) { const { t } = useTranslation() const { recurlyLoadError, setRecurlyLoadError } = useSubscriptionDashboardContext() const state = subscription?.recurly?.state useEffect(() => { if (typeof window.recurly === 'undefined' || !window.recurly) { setRecurlyLoadError(true) } }) if (!subscription) return null return ( <> {subscription.recurly.account.has_past_due_invoice._ === 'true' && ( )} {recurlyLoadError && (
{t('payment_provider_unreachable_error')}
)} ) } export default PersonalSubscription