11'use client'
22
33import { DEFAULT_FREE_CREDITS_GRANT } from '@codebuff/common/old-constants'
4- import { Gift , Shield , Link2 , Zap , Terminal } from 'lucide-react'
4+ import {
5+ SUBSCRIPTION_TIERS ,
6+ SUBSCRIPTION_DISPLAY_NAME ,
7+ type SubscriptionTierPrice ,
8+ } from '@codebuff/common/constants/subscription-plans'
9+ import { Gift , Shield , Sparkles , Zap , Brain } from 'lucide-react'
10+ import Link from 'next/link'
511import { useSession } from 'next-auth/react'
612
713import { BlockColor } from '@/components/ui/decorative-blocks'
@@ -62,72 +68,91 @@ function PricingCard() {
6268 )
6369}
6470
65- function ClaudeSubscriptionIllustration ( ) {
66- return (
67- < div className = "flex flex-col items-center text-center" >
68- < div className = "flex flex-col items-center space-y-6 w-full max-w-md" >
69- { /* Connection visual */ }
70- < div className = "flex items-center justify-center gap-4 w-full" >
71- { /* Claude card */ }
72- < div className = "bg-gradient-to-br from-orange-500 to-orange-600 rounded-lg p-4 shadow-lg border border-orange-400/30" >
73- < div className = "text-white font-bold text-sm" > Claude</ div >
74- < div className = "text-white/80 text-xs mt-1" > Pro / Max</ div >
75- </ div >
76-
77- { /* Connection arrow */ }
78- < div className = "flex items-center" >
79- < div className = "w-8 h-0.5 bg-gradient-to-r from-orange-400 to-green-400" > </ div >
80- < Link2 className = "h-5 w-5 text-green-400 mx-1" />
81- < div className = "w-8 h-0.5 bg-gradient-to-r from-green-400 to-green-500" > </ div >
82- </ div >
83-
84- { /* Codebuff card */ }
85- < div className = "bg-gradient-to-br from-green-600 to-green-700 rounded-lg p-4 shadow-lg border border-green-400/30" >
86- < div className = "text-white font-bold text-sm" > Codebuff</ div >
87- < div className = "text-white/80 text-xs mt-1" > CLI</ div >
88- </ div >
89- </ div >
71+ const USAGE_MULTIPLIER : Record < number , string > = {
72+ 100 : '1×' ,
73+ 200 : '3×' ,
74+ 500 : '8×' ,
75+ }
9076
91- { /* Benefits grid */ }
92- < div className = "grid grid-cols-1 gap-3 w-full mt-4" >
93- < div className = "flex items-center gap-3 bg-black/30 rounded-lg p-3 border border-white/10" >
94- < div className = "p-2 rounded-full bg-green-500/20" >
95- < Zap className = "h-4 w-4 text-green-400" />
96- </ div >
97- < div className = "text-left" >
98- < div className = "text-sm font-medium text-white" >
99- Save on credits
77+ function StrongSubscriptionIllustration ( ) {
78+ return (
79+ < div className = "flex flex-col items-center text-center pt-6" >
80+ < div className = "bg-black rounded-2xl border border-white/10 shadow-[0_0_60px_rgba(0,255,149,0.08)] p-6 w-full max-w-md" >
81+ < div className = "flex flex-col items-center space-y-5" >
82+ { /* Header with Strong branding */ }
83+ < div className = "flex flex-col items-center gap-1" >
84+ < div className = "flex items-center gap-3" >
85+ < div className = "p-2 rounded-full bg-acid-green/10 border border-acid-green/20" >
86+ < Sparkles className = "h-5 w-5 text-acid-green" />
10087 </ div >
101- < div className = "text-xs text-white/60 " >
102- Use your subscription for Claude model requests
88+ < div className = "text-xl font-bold text-white" >
89+ { SUBSCRIPTION_DISPLAY_NAME } Subscription
10390 </ div >
10491 </ div >
92+ < div className = "text-xs text-white/40" > Monthly plans</ div >
10593 </ div >
10694
107- < div className = "flex items-center gap-3 bg-black/30 rounded-lg p-3 border border-white/10" >
108- < div className = "p-2 rounded-full bg-blue-500/20" >
109- < Terminal className = "h-4 w-4 text-blue-400" />
95+ { /* Benefits */ }
96+ < div className = "grid grid-cols-1 gap-2 w-full" >
97+ < div className = "flex items-center gap-3 bg-white/5 rounded-lg p-3 border border-white/5" >
98+ < div className = "p-1.5 rounded-full bg-acid-green/10" >
99+ < Brain className = "h-4 w-4 text-acid-green" />
100+ </ div >
101+ < div className = "text-left" >
102+ < div className = "text-sm font-medium text-white" > Deep thinking</ div >
103+ < div className = "text-xs text-white/40" >
104+ Multi-agent orchestration for complex tasks
105+ </ div >
106+ </ div >
110107 </ div >
111- < div className = "text-left" >
112- < div className = "text-sm font-medium text-white" >
113- Simple CLI setup
108+
109+ < div className = "flex items-center gap-3 bg-white/5 rounded-lg p-3 border border-white/5" >
110+ < div className = "p-1.5 rounded-full bg-acid-green/10" >
111+ < Zap className = "h-4 w-4 text-acid-green" />
114112 </ div >
115- < div className = "text-xs text-white/60" >
116- Connect with one command
113+ < div className = "text-left" >
114+ < div className = "text-sm font-medium text-white" > Save on credits</ div >
115+ < div className = "text-xs text-white/40" >
116+ Get more usage compared to pay-as-you-go
117+ </ div >
117118 </ div >
118119 </ div >
119120 </ div >
120- </ div >
121121
122- { /* Code snippet */ }
123- < div className = "w-full mt-2 bg-black/50 rounded-lg p-3 border border-white/10 font-mono text-left" >
124- < div className = "text-green-400 text-xs" > $ codebuff</ div >
125- < div className = "text-white/70 text-xs mt-1" >
126- { '>' } /connect:claude
127- </ div >
128- < div className = "text-green-400/80 text-xs mt-1" >
129- ✓ Connected to Claude subscription
122+ { /* Pricing tiers */ }
123+ < div className = "grid grid-cols-3 gap-2 w-full" >
124+ { Object . entries ( SUBSCRIPTION_TIERS ) . map ( ( [ key , tier ] ) => {
125+ const price = Number ( key ) as SubscriptionTierPrice
126+ const isHighlighted = price === 200
127+
128+ return (
129+ < div
130+ key = { price }
131+ className = { `rounded-lg p-3 border flex flex-col items-center ${
132+ isHighlighted
133+ ? 'border-acid-green/30 bg-acid-green/[0.08]'
134+ : 'border-white/10 bg-white/5'
135+ } `}
136+ >
137+ < div className = "text-lg font-bold text-white" >
138+ ${ tier . monthlyPrice }
139+ </ div >
140+ < div className = "text-xs text-white/40" > /mo</ div >
141+ < div className = "text-xs text-white/50 mt-1" >
142+ { USAGE_MULTIPLIER [ price ] } usage
143+ </ div >
144+ </ div >
145+ )
146+ } ) }
130147 </ div >
148+
149+ { /* CTA */ }
150+ < Link
151+ href = "/strong"
152+ className = "w-full bg-white hover:bg-white/90 text-black font-semibold py-3 px-6 rounded-lg transition-colors text-center"
153+ >
154+ Learn More
155+ </ Link >
131156 </ div >
132157 </ div >
133158 </ div >
@@ -222,6 +247,21 @@ export default function PricingClient() {
222247
223248 return (
224249 < >
250+ < FeatureSection
251+ title = { < span > Codebuff { SUBSCRIPTION_DISPLAY_NAME } </ span > }
252+ description = "Deep thinking, multi-agent orchestration, and unlimited potential. Subscribe to save credits with plans starting at $100/mo."
253+ backdropColor = { BlockColor . DarkForestGreen }
254+ decorativeColors = { [ BlockColor . DarkForestGreen , BlockColor . AcidMatrix ] }
255+ textColor = "text-white"
256+ tagline = "POWER SUBSCRIPTION"
257+ highlightText = "The strongest coding agent subscription"
258+ highlightIcon = "💪"
259+ illustration = { < StrongSubscriptionIllustration /> }
260+ learnMoreText = "Learn More"
261+ learnMoreLink = "/strong"
262+ imagePosition = "left"
263+ />
264+
225265 < FeatureSection
226266 title = { < span > Simple, Usage-Based Pricing</ span > }
227267 description = "Get 500 free credits monthly, then pay just 1¢ per credit. Credits are consumed based on task complexity — simple queries cost less, complex changes more. You'll see how many credits each task consumes."
@@ -235,20 +275,6 @@ export default function PricingClient() {
235275 learnMoreLink = { status === 'authenticated' ? '/usage' : '/login' }
236276 />
237277
238- < FeatureSection
239- title = { < span > Connect Your Claude Subscription</ span > }
240- description = "Already have a Claude Pro or Max subscription? Connect it to Codebuff and use your existing subscription for Claude model requests. Note: Using your Claude Pro/Max subscription in Codebuff is not officially supported by Anthropic."
241- backdropColor = { BlockColor . DarkForestGreen }
242- decorativeColors = { [ BlockColor . CRTAmber , BlockColor . BetweenGreen ] }
243- textColor = "text-white"
244- tagline = "BRING YOUR OWN SUBSCRIPTION"
245- highlightText = "Use your Claude Pro or Max subscription"
246- illustration = { < ClaudeSubscriptionIllustration /> }
247- learnMoreText = "View Documentation"
248- learnMoreLink = "/docs"
249- imagePosition = "left"
250- />
251-
252278 < FeatureSection
253279 title = { < span > Working with others</ span > }
254280 description = "Collaborate with your team more closely using Codebuff by pooling credits and seeing usage analytics."
0 commit comments