diff --git a/ee/apps/den-web/app/(den)/o/[orgSlug]/dashboard/_components/billing-dashboard-screen.tsx b/ee/apps/den-web/app/(den)/o/[orgSlug]/dashboard/_components/billing-dashboard-screen.tsx index 6df307d1..95cd8d9a 100644 --- a/ee/apps/den-web/app/(den)/o/[orgSlug]/dashboard/_components/billing-dashboard-screen.tsx +++ b/ee/apps/den-web/app/(den)/o/[orgSlug]/dashboard/_components/billing-dashboard-screen.tsx @@ -60,7 +60,7 @@ export function BillingDashboardScreen() { ? formatSubscriptionStatus(subscription.status) : billingSummary?.hasActivePlan ? "Active" - : "Trial ready"; + : "Purchase required"; const nextBillingDate = subscription?.currentPeriodEnd ? formatIsoDate(subscription.currentPeriodEnd) : "Not available"; @@ -92,7 +92,7 @@ export function BillingDashboardScreen() {

{billingSummary?.hasActivePlan ? `This workspace's plan is currently ${statusLabel.toLowerCase()} and renews on ${nextBillingDate}.` - : "Start your OpenWork Cloud billing flow when your team is ready to share templates and cloud workflows."} + : "Workers are $50/month each. Purchase a worker to enable hosted launches for your team."}

@@ -184,6 +184,27 @@ export function BillingDashboardScreen() { +
+

Pricing

+
+
+

Solo

+

$0

+

Free forever · open source

+
+
+

Cloud worker

+

$50/month

+

Per worker · 5 seats included

+
+
+

Enterprise

+

Custom

+

Windows included · talk to us

+
+
+
+

Invoices

diff --git a/ee/apps/landing/app/download/page.tsx b/ee/apps/landing/app/download/page.tsx index dad9d3db..a938fceb 100644 --- a/ee/apps/landing/app/download/page.tsx +++ b/ee/apps/landing/app/download/page.tsx @@ -123,7 +123,7 @@ export default async function Download() { Windows support — $99/year

- Purchase through Polar, then we will send your Windows build link manually in phase one. + Purchase through Polar and we will send your Windows build link after checkout.

-
- OpenWork pricing -

- Pricing that keeps desktop free and makes paid access explicit. + Pricing

-

- Start solo for free. Purchase Windows support when you need it. Add hosted workers when you want cloud runtime. Talk to us for enterprise licensing. -

diff --git a/ee/apps/landing/components/landing-home.tsx b/ee/apps/landing/components/landing-home.tsx index f44b90a3..48d3eb48 100644 --- a/ee/apps/landing/components/landing-home.tsx +++ b/ee/apps/landing/components/landing-home.tsx @@ -111,9 +111,9 @@ export function LandingHome(props: Props) {
Solo free forever - Windows support $99/year - Workers $50/month + + Enterprise talk to us
diff --git a/ee/apps/landing/components/pricing-grid.tsx b/ee/apps/landing/components/pricing-grid.tsx index e4ef0a2f..459f1be2 100644 --- a/ee/apps/landing/components/pricing-grid.tsx +++ b/ee/apps/landing/components/pricing-grid.tsx @@ -1,6 +1,6 @@ "use client"; -import { ArrowUpRight, Cloud, Download, Monitor, Shield, CornerRightDown } from "lucide-react"; +import { ArrowUpRight, Cloud, Download, Shield, CornerRightDown } from "lucide-react"; import { ResponsiveGrain } from "./responsive-grain"; type PricingGridProps = { @@ -19,7 +19,6 @@ type PricingCard = { external?: boolean; features: Array<{ text: string; icon: typeof Download }>; footer: string; - /** GrainGradient colors revealed on hover */ gradientColors: string[]; gradientBack: string; gradientShape: "corners" | "wave" | "dots" | "truchet" | "ripple" | "blob" | "sphere"; @@ -42,7 +41,6 @@ function PricingCardView({ card }: { card: PricingCard }) { shape={card.gradientShape} speed={0.4} /> - {/* Overlay for text contrast */}
@@ -85,9 +83,9 @@ function PricingCardView({ card }: { card: PricingCard }) { return (
- + {feature.text}
); @@ -118,24 +116,6 @@ export function PricingGrid(props: PricingGridProps) { { text: "Bring your own keys", icon: Download }, ], footer: "Free forever", - gradientColors: ["#6B7280", "#374151", "#1F2937", "#111827"], - gradientBack: "#0F172A", - gradientShape: "sphere", - }, - { - id: "windows-support", - title: "Windows", - price: "$99", - priceSub: "per year · 1 seat", - ctaLabel: "Purchase Windows", - href: props.windowsCheckoutUrl, - external: /^https?:\/\//.test(props.windowsCheckoutUrl), - features: [ - { text: "1 Windows seat", icon: Monitor }, - { text: "Binary access", icon: Monitor }, - { text: "1 year of updates", icon: Monitor }, - ], - footer: "Manual delivery in phase one", gradientColors: ["#7C3AED", "#A855F7", "#6D28D9", "#4338CA"], gradientBack: "#1E1B4B", gradientShape: "wave", @@ -149,11 +129,11 @@ export function PricingGrid(props: PricingGridProps) { href: "https://app.openworklabs.com/checkout", external: true, features: [ + { text: "5 seats included", icon: Cloud }, { text: "Hosted OpenWork worker", icon: Cloud }, - { text: "Monthly billing", icon: Cloud }, { text: "$50 per additional worker", icon: Cloud }, ], - footer: "5 seats included · workers disabled by default", + footer: "Workers disabled by default", gradientColors: ["#2563EB", "#0284C7", "#0EA5E9", "#0F172A"], gradientBack: "#0C1220", gradientShape: "ripple", @@ -162,7 +142,7 @@ export function PricingGrid(props: PricingGridProps) { id: "enterprise-license", title: "Enterprise", price: "Custom pricing", - priceSub: "licensing", + priceSub: "", isCustomPricing: true, ctaLabel: "Talk to us", href: props.callUrl, @@ -189,16 +169,16 @@ export function PricingGrid(props: PricingGridProps) {
) : null} -
+
{cards.map((card) => ( -
+
))}

- Prices exclude taxes. Windows delivery is manual in phase one. + Prices exclude taxes.

);