import { Stack, Heading, HStack, Button, Text, Input, useToast, } from '@chakra-ui/react' import { NextChakraLink } from 'components/nextChakra/NextChakraLink' import { UpgradeButton } from 'components/shared/buttons/UpgradeButton' import { useUser } from 'contexts/UserContext' import { Plan } from 'db' import { useRouter } from 'next/router' import React, { useState } from 'react' import { redeemCoupon } from 'services/coupons' import { SubscriptionTag } from './SubscriptionTag' export const BillingSection = () => { const { reload } = useRouter() const [isLoading, setIsLoading] = useState(false) const { user } = useUser() const toast = useToast({ position: 'top-right', }) const handleCouponCodeRedeem = async (e: React.FormEvent) => { e.preventDefault() const target = e.target as typeof e.target & { coupon: { value: string } } setIsLoading(true) const { data, error } = await redeemCoupon(target.coupon.value) if (error) toast({ title: error.name, description: error.message }) else { toast({ description: data?.message }) setTimeout(reload, 1000) } setIsLoading(false) } return ( Billing Your subscription {user?.stripeId && ( )} {user?.plan === Plan.FREE && } {user?.plan === Plan.FREE && ( )} ) }