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
-
-
-
-
-
-
-
-
-
-
-
+
+ Up to 10k{" "}
+
+ Job Runs
+
+
+
+ Unlimited{" "}
+
+ Jobs
+
+
+
+ Unlimited{" "}
+
+ Tasks
+
+
+
+ Unlimited{" "}
+
+ Events
+
+
+ Unlimited team members
+ 24 hour log retention
+ Community support
+ Custom integrations
+ Role-based access control
+ SSO
+ On-prem option
);
@@ -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}
);