// 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 ( Access Denied You do not have permission to view the billing settings of this organization. ); return (
{isUsageAlertEntitled && orgId && }
); };