import { Text, HStack, Link, Spinner, Stack, Button, Heading, } from '@chakra-ui/react' import { PlanTag } from 'components/shared/PlanTag' import { Plan } from 'db' import React, { useState } from 'react' import { cancelSubscriptionQuery } from './queries/cancelSubscriptionQuery' type CurrentSubscriptionContentProps = { plan: Plan stripeId?: string | null onCancelSuccess: () => void } export const CurrentSubscriptionContent = ({ plan, stripeId, onCancelSuccess, }: CurrentSubscriptionContentProps) => { const [isCancelling, setIsCancelling] = useState(false) const [isRedirectingToBillingPortal, setIsRedirectingToBillingPortal] = useState(false) const cancelSubscription = async () => { if (!stripeId) return setIsCancelling(true) await cancelSubscriptionQuery(stripeId) onCancelSuccess() setIsCancelling(false) } const isSubscribed = (plan === Plan.STARTER || plan === Plan.PRO) && stripeId if (isCancelling) return return ( Subscription Current workspace subscription: {isSubscribed && ( Cancel my subscription )} {isSubscribed && ( <> Need to change payment method or billing information? Head over to your billing portal: )} ) }