import { ArrowLeftIcon, LinkIcon } from "@heroicons/react/24/solid"; import { BellIcon } from "~/assets/icons/BellIcon"; import { CreditCardIcon } from "~/assets/icons/CreditCardIcon"; import { PadlockIcon } from "~/assets/icons/PadlockIcon"; import { UsageIcon } from "~/assets/icons/UsageIcon"; import { RolesIcon } from "~/assets/icons/RolesIcon"; import { SlackIcon } from "~/assets/icons/SlackIcon"; import { SlidersIcon } from "~/assets/icons/SlidersIcon"; import { UserGroupIcon } from "~/assets/icons/UserGroupIcon"; import { VercelLogo } from "~/components/integrations/VercelLogo"; import { useFeatureFlags } from "~/hooks/useFeatureFlags"; import { useFeatures } from "~/hooks/useFeatures"; import { type MatchedOrganization } from "~/hooks/useOrganizations"; import { cn } from "~/utils/cn"; import { organizationRolesPath, organizationSettingsPath, organizationSlackIntegrationPath, organizationSsoPath, organizationTeamPath, organizationVercelIntegrationPath, rootPath, v3BillingLimitsPath, v3BillingPath, v3PrivateConnectionsPath, v3UsagePath, } from "~/utils/pathBuilder"; import { LinkButton } from "../primitives/Buttons"; import { HelpAndFeedback } from "./HelpAndFeedbackPopover"; import { SideMenuHeader } from "./SideMenuHeader"; import { SideMenuItem } from "./SideMenuItem"; import { useShowSelfServe } from "~/hooks/useShowSelfServe"; import { useCurrentPlan } from "~/routes/_app.orgs.$organizationSlug/route"; import { Paragraph } from "../primitives/Paragraph"; import { Badge } from "../primitives/Badge"; import { useHasAdminAccess } from "~/hooks/useUser"; import { AskAI } from "../AskAI"; export type BuildInfo = { appVersion: string | undefined; packageVersion: string; buildTimestampSeconds: string | undefined; gitSha: string | undefined; gitRefName: string | undefined; }; export function OrganizationSettingsSideMenu({ organization, buildInfo, isUsingPlugin, isSsoUsingPlugin, }: { organization: MatchedOrganization; buildInfo: BuildInfo; isUsingPlugin: boolean; isSsoUsingPlugin: boolean; }) { const { isManagedCloud } = useFeatures(); const featureFlags = useFeatureFlags(); const currentPlan = useCurrentPlan(); const showSelfServe = useShowSelfServe(); const isAdmin = useHasAdminAccess(); const showBuildInfo = isAdmin || !isManagedCloud; return (