import { ArrowUpRight } from 'lucide-react' import { useTheme } from 'next-themes' import Image from 'next/image' import Link from 'next/link' import { useRouter } from 'next/router' import { FC } from 'react' import { Button, cn } from 'ui' import CostControlAnimation from './CostControlAnimation' const addons = [ { id: 'addon-cost-control', name: 'Cost Control', price: 'Available on Pro Plan', heroImg: , description: "The Pro Plan has a spend cap enabled by default to keep costs under control. If you want to scale beyond the plan's included quota, simply switch off the spend cap to pay for additional resources.", ctaText: 'Learn about Cost Control', ctaLink: 'https://supabase.com/docs/guides/platform/spend-cap', ctaTarget: '_blank', }, { id: 'addon-custom-domain', name: 'Custom Domain', heroImg: 'custom-domain-on', icon: 'custom-domain-upgrade', price: 'Flat fee $10/month', description: 'Use your own domain for your Supabase project to present a branded experience to your users.', ctaText: 'Documentation', ctaLink: 'https://supabase.com/docs/guides/platform/custom-domains', ctaTarget: '_blank', }, { id: 'addon-pitr', name: 'Point in Time Recovery', heroImg: 'pitr-on', icon: 'pitr-upgrade', price: 'Starts from $100/month', description: 'Roll back to any specific point in time, down to the second.', ctaText: 'Documentation', ctaLink: 'https://supabase.com/docs/guides/platform/backups', ctaTarget: '_blank', }, ] const PricingAddons: FC = () => { return (

Fine-tune your project

Go beyond your Plan limits and level up your Supabase experience

{addons.map((addon) => ( ))}
) } const AddonCard = ({ addon }: any) => { const { basePath } = useRouter() const { resolvedTheme } = useTheme() const isHighlightCard = addon.id === 'addon-cost-control' const containerClasses = cn( 'group relative bg-surface-100 border rounded-lg gap-4 transition-colors', isHighlightCard && 'flex flex-col lg:flex-row lg:h-[300px] col-span-2', !isHighlightCard && 'flex flex-col lg:flex-row hover:border-stronger hover:bg-surface-200 col-span-2 sm:col-span-1' ) const HighlightCard = () => ( <>
{addon.heroImg}

{addon.price}

{addon.name}

{addon.description}

) const SmallCard = () => ( <>

{addon.price}

Compute

{addon.name}

{addon.description}

) return isHighlightCard ? (
) : ( ) } export default PricingAddons