diff --git a/apps/webapp/app/components/billing/PricingCalculator.tsx b/apps/webapp/app/components/billing/PricingCalculator.tsx index 620686756..97fe9f29e 100644 --- a/apps/webapp/app/components/billing/PricingCalculator.tsx +++ b/apps/webapp/app/components/billing/PricingCalculator.tsx @@ -1,28 +1,57 @@ import * as Slider from "@radix-ui/react-slider"; +import { Plans } from "@trigger.dev/billing"; +import { useCallback, useState } from "react"; +import { DefinitionTip } from "../DefinitionTooltip"; import { Header2 } from "../primitives/Headers"; import { Paragraph } from "../primitives/Paragraph"; -import { DefinitionTip } from "../DefinitionTooltip"; +import { formatNumberCompact } from "~/utils/numberFormatter"; + +export function PricingCalculator({ plans }: { plans: Plans }) { + const [selectedConcurrencyIndex, setSelectedConcurrencyIndex] = useState(0); + const concurrentRunTiers = [ + { code: "free", upto: plans.free.concurrentRuns?.freeAllowance! }, + ...(plans.paid.concurrentRuns?.pricing?.tiers ?? []), + ]; + const [runs, setRuns] = useState(0); + const runBrackets = [ + ...(plans.paid.runs?.pricing?.brackets.map((b, index, arr) => ({ + unitCost: b.unitCost, + from: index === 0 ? 0 : arr[index - 1].upto! + 1, + upto: b.upto ?? arr[index - 1].upto! * 10, + })) ?? []), + ]; + + console.log("Paid", plans.paid); -export function PricingCalculator() { return (