import { Text, HStack, Link, Spinner, Stack, Flex, Button, } 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) } if (isCancelling) return return ( Current workspace subscription: {(plan === Plan.STARTER || plan === Plan.PRO) && stripeId && ( <> Need to change payment method or billing information? Head over to your billing portal: Cancel my subscription )} ) }