+
+ {plan.name}
+
+
+
+
+ {plan.price}
+
+ {plan.period ? (
+ {plan.period}
+ ) : null}
+
+
+
+ {plan.description}
+
+
+ {plan.isContactSales ? null : (
+
+
+
+
+ {plan.credits}
+
+
+ of usage included
+
+
+
+ )}
+
+ {plan.includesFrom ? (
+
+
+
+ Everything in {plan.includesFrom}, plus
+
+
+
+ ) : null}
+
+
+ {plan.features.map((feature) => (
+ -
+
+ {feature}
+
+ ))}
+
+
+ {action}
+
+ )
+}
+
function Pill({
children,
tone = "muted",
@@ -239,6 +418,8 @@ export default function Billing() {
const [isCancelling, setIsCancelling] = useState(false)
const [isCancelDialogOpen, setIsCancelDialogOpen] = useState(false)
const [isCreditsDialogOpen, setIsCreditsDialogOpen] = useState(false)
+ const [isPlanCarouselActive, setIsPlanCarouselActive] = useState(false)
+ const [planPage, setPlanPage] = useState<0 | 1>(0)
const [topUpAmount, setTopUpAmount] = useState