import React, { useEffect } from "react";
import { Alert, Button, CircularProgress } from "@firecms/ui";
import { PaywallDialog } from "./Paywall";
import { useFireCMSBackend, useProjectConfig } from "../../hooks";
import { useProjectSubscriptions } from "../../hooks/useProjectSubscriptions";
import { Subscription } from "../../types";
export type SubscriptionPlanWidgetProps = {}
export function SubscriptionPlanWidget({ }: SubscriptionPlanWidgetProps) {
const {
projectId,
subscriptionPlan,
subscriptionData,
isTrialOver,
trialValidUntil,
isGCPMarketplace,
} = useProjectConfig();
const { subscriptions: projectSubscriptions } = useProjectSubscriptions(projectId);
const [dialogOpen, setDialogOpen] = React.useState(false);
// GCP Marketplace projects don't use Stripe billing — skip all alerts
if (isGCPMarketplace) return null;
if (subscriptionData?.subscription_status === "past_due") {
const pastDueSubscriptions = (projectSubscriptions ?? []).filter(s => s.status === "past_due");
if (pastDueSubscriptions.length === 0) return null;
return