diff --git a/apps/webapp/app/components/billing/PricingTiers.tsx b/apps/webapp/app/components/billing/PricingTiers.tsx index 4f41d7272..446117800 100644 --- a/apps/webapp/app/components/billing/PricingTiers.tsx +++ b/apps/webapp/app/components/billing/PricingTiers.tsx @@ -7,6 +7,15 @@ import SegmentedControl from "../primitives/SegmentedControl"; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "../primitives/Tooltip"; import { Header3 } from "../primitives/Headers"; +const pricingDefinitions = { + concurrentRuns: "The number of Runs that can be executed at the same time.", + jobRuns: "A single execution of a Job.", + jobs: "A Job is like a function that is triggered by an event and performs a Run.", + tasks: "The individual building blocks of a Job Run.", + events: "Events allow you to run Jobs from your own code", + integrations: "Integrations make it easy to authenticate and use APIs.", +}; + export function PricingTiers({ children, className, @@ -32,7 +41,7 @@ export function TierFree() {
Up to 5{" "} - + Concurrent Runs @@ -40,17 +49,37 @@ export function TierFree() { Current Plan ); @@ -61,7 +90,7 @@ export function TierPro() {
- + Concurrent Runs @@ -69,17 +98,41 @@ export function TierPro() { Upgrade
    - - - - - - - - - - - + + Includes 10k{" "} + + Job Runs + + , then{" "} + }> + {"<"} $1.30/1,000 Runs + + + + Unlimited{" "} + + Jobs + + + + Unlimited{" "} + + Tasks + + + + Unlimited{" "} + + Events + + + Unlimited team members + 7 day log retention + Dedicated Slack support + Custom integrations + Role-based access control + SSO + On-prem option
); @@ -91,7 +144,7 @@ export function TierEnterprise() {
Flexible{" "} - + concurrent Runs @@ -99,17 +152,37 @@ export function TierEnterprise() { Contact us
    - - - - - - - - - - - + + Flexible{" "} + + Job Runs + + + + Unlimited{" "} + + Jobs + + + + Unlimited{" "} + + Tasks + + + + Unlimited{" "} + + Events + + + Unlimited team members + 30 day log retention + Priority support + Custom integrations + Role-based access control + SSO + On-prem option
); @@ -151,7 +224,7 @@ function DefinitionTip({ {children} - + {title} {typeof content === "string" ? ( {content} @@ -164,6 +237,47 @@ function DefinitionTip({ ); } +function RunsVolumeDiscountTable() { + const runsVolumeDiscountRow = + "flex justify-between border-b border-border last:pb-0 last:border-none py-2"; + return ( +
    +
  • + First 10k/mo + Free +
  • +
  • + 10k – 20k + $1.25/1,000 +
  • +
  • + 20k – 150k + $0.88/1,000 +
  • +
  • + 150k – 500k + $0.61/1,000 +
  • +
  • + 500k – 1M + $0.43/1,000 +
  • +
  • + 1M – 2.5M + $0.30/1,000 +
  • +
  • + 2.5M – 6.25M + $0.21/1,000 +
  • +
  • + 6.25M + + $0.14/1,000 +
  • +
+ ); +} + function Header({ title, flatCost, @@ -246,7 +360,7 @@ function UsageSlider() { ); } -function FeatureItem({ checked, title }: { checked?: boolean; title: string }) { +function FeatureItem({ checked, children }: { checked?: boolean; children: React.ReactNode }) { return (
  • {checked ? ( @@ -255,7 +369,7 @@ function FeatureItem({ checked, title }: { checked?: boolean; title: string }) { )} - {title} + {children}
  • );