import { useAvailablePlans, useChangePlan } from "@billingos/sdk";
function PlanSwitcher({ subscriptionId }: { subscriptionId: string }) {
const { data: plans } = useAvailablePlans(subscriptionId);
const { mutateAsync: changePlan } = useChangePlan();
const handleChange = async (newPriceId: string) => {
await changePlan({
subscriptionId,
input: {
new_price_id: newPriceId,
effective_date: "immediate",
},
});
};
return (
<div>
<h3>Available upgrades</h3>
{plans?.available_upgrades.map((plan) => (
<button key={plan.price_id} onClick={() => handleChange(plan.price_id)}>
{plan.name} — ${plan.amount / 100}/mo
</button>
))}
</div>
);
}