1- import { Users , ArrowRight , LucideIcon , Check , PlugZap , SquareTerminal , User , CornerRightDown } from "lucide-react"
1+ import { Users , ArrowRight , LucideIcon , Check , SquareTerminal , CornerRightDown , Cloud } from "lucide-react"
22import type { Metadata } from "next"
33import Link from "next/link"
44
@@ -88,12 +88,13 @@ const pricingTiers: PricingTier[] = [
8888 } ,
8989 {
9090 name : "Cloud Free" ,
91- icon : User ,
91+ icon : Cloud ,
9292 price : "$0" ,
9393 period : "/mo" ,
9494 priceSuffix : "credits" ,
9595 creditPrice : `$${ PRICE_CREDITS } ` ,
9696 description : "For AI-forward engineers" ,
97+ featuresIntro : "Go beyond the extension with" ,
9798 features : [
9899 "Access to Cloud Agents: fully autonomous development you can call from Slack, Github and the web" ,
99100 "Access to the Roo Code Cloud Provider" ,
@@ -103,7 +104,7 @@ const pricingTiers: PricingTier[] = [
103104 "Professional support" ,
104105 ] ,
105106 cta : {
106- text : "Get started " ,
107+ text : "Sign up " ,
107108 href : EXTERNAL_LINKS . CLOUD_APP_SIGNUP ,
108109 } ,
109110 } ,
@@ -119,7 +120,7 @@ const pricingTiers: PricingTier[] = [
119120 featuresIntro : "Everything in Free +" ,
120121 features : [ "Unlimited users (no per-seat cost)" , "Shared configuration & policies" , "Centralized billing" ] ,
121122 cta : {
122- text : "Get started " ,
123+ text : "Sign up " ,
123124 href : EXTERNAL_LINKS . CLOUD_APP_SIGNUP + "?redirect_url=/billing" ,
124125 } ,
125126 } ,
@@ -131,7 +132,7 @@ export default function PricingPage() {
131132 < AnimatedBackground />
132133
133134 { /* Hero Section */ }
134- < section className = "relative overflow-hidden pt-16 pb-12 " >
135+ < section className = "relative overflow-hidden pt-12 pb-10 " >
135136 < div className = "container relative z-10 mx-auto px-4 sm:px-6 lg:px-8" >
136137 < div className = "text-center" >
137138 < h1 className = "text-5xl font-bold tracking-tight" > Roo Code Pricing</ h1 >
@@ -146,19 +147,21 @@ export default function PricingPage() {
146147 { /* Pricing Tiers */ }
147148 < section className = "" >
148149 < div className = "container mx-auto px-4 sm:px-6 lg:px-8" >
149- < div className = "mx-auto grid max-w-6xl gap-4 lg :grid-cols-3" >
150+ < div className = "mx-auto grid max-w-6xl gap-4 md :grid-cols-3 md:px-4 " >
150151 { pricingTiers . map ( ( tier ) => {
151152 const Icon = tier . icon
152153 return (
153154 < div
154155 key = { tier . name }
155- className = "relative p-6 flex flex-col justify-start bg-background border rounded-2xl outline-1 outline-border transition-all hover:shadow-lg hover:outline-6" >
156- < div className = "mb-2 " >
156+ className = "relative group p-6 flex flex-col justify-start bg-background rounded-2xl outline outline-2 outline-border/50 hover:outline-8 transition-all shadow-xl hover:shadow-2xl hover:outline-6" >
157+ < div className = "mb-6 " >
157158 < div className = "flex items-center justify-between" >
158159 < h3 className = "text-2xl font-bold tracking-tight" > { tier . name } </ h3 >
159- < Icon className = "size-6" />
160160 </ div >
161- < p className = "text-sm text-muted-foreground" > { tier . description } </ p >
161+ < p className = "text-sm font-medium" > { tier . description } </ p >
162+ </ div >
163+ < div className = "absolute -right-2 -top-4 rounded-full bg-card shadow-md p-4 outline outline-2 outline-border/50 group-hover:scale-105 group-hover:outline-8 transition-all" >
164+ < Icon className = "size-6" strokeWidth = { 1.5 } />
162165 </ div >
163166
164167 < div className = "grow mb-8" >
@@ -177,7 +180,7 @@ export default function PricingPage() {
177180
178181 < p className = "text-base font-light" > { tier . trial } </ p >
179182
180- < p className = "text-xl my -1 tracking-tight font-light" >
183+ < p className = "text-xl mb -1 tracking-tight font-light" >
181184 < strong className = "font-bold" > { tier . price } </ strong >
182185 { tier . period } + { tier . priceSuffix }
183186 < CornerRightDown className = "inline size-4 ml-1 relative top-0.5" />
@@ -191,7 +194,7 @@ export default function PricingPage() {
191194 </ >
192195 ) }
193196 Inference:{ " " }
194- < Link href = "#roo- provider-section " className = "underline hover:no-underline" >
197+ < Link href = "/ provider/pricing " className = "underline hover:no-underline" >
195198 Roo Provider
196199 </ Link > { " " }
197200 credits or{ " " }
@@ -206,30 +209,35 @@ export default function PricingPage() {
206209 < ArrowRight />
207210 </ Link >
208211 </ Button >
212+
213+ { /* <div className="bg-foreground/20 h-8 absolute -bottom-8 left-1/2 w-[1px]" /> */ }
214+ < div className = "h-[28px] absolute bottom-[-31px] left-1/2 w-[4px] transition-colors bg-gradient-to-b from-transparent to-violet-700/20 group-hover:from-violet-500/50 group-hover:to-violet-500/20" />
209215 </ div >
210216 )
211217 } ) }
212218 </ div >
213- </ div >
214219
215- < div
216- id = "roo-provider-section"
217- className = "mx-4 md:mx-auto max-w-6xl p-7 mt-4 relative flex flex-col justify-start bg-background border rounded-2xl transition-all shadow-none hover:shadow-lg target:border-blue-500 target:shadow-blue-500/25 target:shadow-xl target:ring-1 target:ring-blue-500 duration-500" >
218- < h3 className = "text-xl font-semibold flex items-center gap-2 justify-between" >
219- Roo Code Provider
220- < PlugZap className = "size-6" />
221- </ h3 >
222- < div className = "text-sm text-muted-foreground space-y-1 mt-2" >
223- < p className = "" >
224- On any plan, you can bring your own LLM provider key or use the built-in Roo Code Cloud
225- provider.
226- </ p >
227- < p className = "text-sm text-muted-foreground" >
228- We offer curated models, from free stealth models to the state-of-the-art with no markup.
229- < Link href = "/provider/pricing" className = "underline hover:no-underline ml-1" >
230- See per model pricing
231- </ Link >
232- </ p >
220+ < div className = "max-w-6xl mx-auto mt-8 p-7 flex flex-col md:flew-row gap-8 md:gap-4 bg-violet-200/20 outline-violet-700/20 outline outline-1 rounded-2xl transition-all shadow-none" >
221+ < div className = "md:border-r md:pr-4" >
222+ < h3 className = "text-lg font-medium mb-1" > Roo Code Provider</ h3 >
223+ < div className = "text-sm text-muted-foreground" >
224+ < p className = "" >
225+ On any plan, you can use your own LLM provider API key or use the built-in Roo Code
226+ Cloud provider – curated models to work with Roo with no markup, including the
227+ latest Gemini, GPT and Claude. Paid with credits.
228+ < Link href = "/provider/pricing" className = "underline hover:no-underline ml-1" >
229+ See per model pricing.
230+ </ Link >
231+ </ p >
232+ </ div >
233+ </ div >
234+ < div className = "" >
235+ < h3 className = "text-lg font-medium mb-1" > Credits</ h3 >
236+ < p className = "text-sm text-muted-foreground" >
237+ Credits are pre-paid, in dollars, and are deducted with usage for inference and Cloud
238+ Agent runs. You're always in control of your spend, no surprises.
239+ </ p >
240+ </ div >
233241 </ div >
234242 </ div >
235243 </ section >
0 commit comments