import { ArrowUpCircleIcon } from "@heroicons/react/20/solid"; import { Feedback } from "~/components/Feedback"; import { Button, LinkButton } from "~/components/primitives/Buttons"; import { useShowSelfServe } from "~/hooks/useShowSelfServe"; import { type MatchedOrganization } from "~/hooks/useOrganizations"; import { v3BillingPath } from "~/utils/pathBuilder"; import { PurchaseSchedulesModal, type SchedulePricing } from "./PurchaseSchedulesModal"; type Props = { actionPath: string; canPurchaseSchedules: boolean; schedulePricing: SchedulePricing | null; extraSchedules: number; limits: { used: number; limit: number }; maxScheduleQuota: number; planScheduleLimit: number; canUpgrade: boolean; organization: MatchedOrganization; variant?: "dialog" | "banner"; }; export function ScheduleLimitActions({ actionPath, canPurchaseSchedules, schedulePricing, extraSchedules, limits, maxScheduleQuota, planScheduleLimit, canUpgrade, organization, variant = "banner", }: Props) { const showSelfServe = useShowSelfServe(); if (!showSelfServe) { return ( Request more} defaultValue="enterprise" /> ); } if (canPurchaseSchedules && schedulePricing) { return ( Purchase more… : undefined } /> ); } if (canUpgrade) { return variant === "dialog" ? ( Upgrade ) : ( Upgrade ); } return ( Request more} defaultValue="help" /> ); }