import { Tab, TabList, TabPanel, Tabs } from "@app/components/v2"; import { OrgPermissionActions, OrgPermissionSubjects } from "@app/context"; import { isInfisicalCloud } from "@app/helpers/platform"; import { withPermission } from "@app/hoc"; import { BillingCloudTab } from "../BillingCloudTab"; import { BillingDetailsTab } from "../BillingDetailsTab"; import { BillingReceiptsTab } from "../BillingReceiptsTab"; import { BillingSelfHostedTab } from "../BillingSelfHostedTab"; const tabs = [ { name: "Infisical Cloud", key: "tab-infisical-cloud" }, { name: "Infisical Self-Hosted", key: "tab-infisical-self-hosted" }, { name: "Receipts", key: "tab-receipts" }, { name: "Billing details", key: "tab-billing-details" } ]; export const BillingTabGroup = withPermission( () => { const tabsFiltered = isInfisicalCloud() ? tabs : [{ name: "Infisical Self-Hosted", key: "tab-infisical-cloud" }]; return ( {tabsFiltered.map((tab) => ( {tab.name} ))} {isInfisicalCloud() && ( <> )} ); }, { action: OrgPermissionActions.Read, subject: OrgPermissionSubjects.Billing } );