// Langfuse Cloud only
import Header from "@/src/components/layouts/header";
import { useHasEntitlement } from "@/src/features/entitlements/hooks";
import { useRouter } from "next/router";
import { useHasOrganizationAccess } from "@/src/features/rbac/utils/checkOrganizationAccess";
import { Alert, AlertDescription, AlertTitle } from "@/src/components/ui/alert";
import { UsageAlerts } from "./UsageAlerts";
import { BillingUsageChart } from "./BillingUsageChart";
import { BillingActionButtons } from "./BillingActionButtons";
import { BillingScheduleNotification } from "./BillingScheduleNotification";
import { BillingInvoiceTable } from "./BillingInvoiceTable";
import { BillingDiscountView } from "./BillingDiscountView";
import { BillingPlanPeriodView } from "@/src/ee/features/billing/components/BillingPlanPeriodView";
export const BillingSettings = () => {
const router = useRouter();
const orgId = router.query.organizationId as string | undefined;
const hasAccess = useHasOrganizationAccess({
organizationId: orgId,
scope: "langfuseCloudBilling:CRUD",
});
const entitled = useHasEntitlement("cloud-billing");
const isUsageAlertEntitled = useHasEntitlement("cloud-usage-alerts");
if (!entitled) return null;
if (!hasAccess)
return (