@@ -116,7 +116,7 @@ const PricingTier: React.FC<ExtendedPricingTierProps> = ({
116
116
return (
117
117
< div className = "flex items-center" >
118
118
< span >
119
- Monthly refill of PearAI Credits for market-leading AI models
119
+ Monthly refill of credits for market-leading AI models
120
120
< PearCreditsTooltip type = "standard" />
121
121
</ span >
122
122
</ div >
@@ -140,6 +140,24 @@ const PricingTier: React.FC<ExtendedPricingTierProps> = ({
140
140
</ span >
141
141
</ div >
142
142
) ;
143
+ } else if ( feature ?. startsWith ( "Pay-as-you-go" ) ) {
144
+ return (
145
+ < div className = "flex items-center" >
146
+ < span >
147
+ Pay-as-you-go for additional credits
148
+ < PayAsYouGoTooltip />
149
+ </ span >
150
+ </ div >
151
+ ) ;
152
+ } else if ( feature ?. startsWith ( "Full access to PearAI Router" ) ) {
153
+ return (
154
+ < div className = "flex items-center" >
155
+ < span >
156
+ Full access to PearAI Router & Hosted Servers
157
+ < ServerAccessTooltip />
158
+ </ span >
159
+ </ div >
160
+ ) ;
143
161
}
144
162
return feature ;
145
163
} ;
@@ -161,8 +179,8 @@ const PricingTier: React.FC<ExtendedPricingTierProps> = ({
161
179
< CardTitle className = "text-2xl leading-6 text-primary-700" >
162
180
{ title }
163
181
164
- { index === 1 && title === "Junior Engineer " && "(Monthly)" }
165
- { index === 2 && title === "10x Engineer " && "(Yearly)" }
182
+ { index === 1 && title === "Maker " && "(Monthly)" }
183
+ { index === 2 && title === "10x Maker " && "(Yearly)" }
166
184
</ CardTitle >
167
185
< p className = "text-base font-normal text-gray-600 sm:text-base md:text-sm" >
168
186
{ index === 0 && isFree && (
@@ -401,9 +419,9 @@ const PricingPage: React.FC<PricingPageProps> = ({ user }) => {
401
419
id = "pricing-heading"
402
420
className = "mt-8 text-4xl font-medium leading-tight sm:text-4xl md:text-4xl lg:text-4xl"
403
421
>
404
- Speed up your
422
+ Make your next
405
423
< br />
406
- development today.
424
+ project today.
407
425
</ h1 >
408
426
</ header >
409
427
@@ -540,17 +558,6 @@ export default PricingPage;
540
558
export const PearCreditsTooltip = ( { type } : { type : string } ) => {
541
559
const [ isOpen , setIsOpen ] = React . useState ( false ) ;
542
560
543
- const pearCreditsCount = useMemo ( ( ) => {
544
- return ( type : string ) => {
545
- if ( type === "free" ) {
546
- return "50" ;
547
- } else if ( type === "enterprise" ) {
548
- return "1000" ;
549
- }
550
- return "700" ;
551
- } ;
552
- } , [ ] ) ;
553
-
554
561
return (
555
562
< TooltipProvider >
556
563
< Tooltip open = { isOpen } onOpenChange = { setIsOpen } delayDuration = { 50 } >
@@ -562,43 +569,73 @@ export const PearCreditsTooltip = ({ type }: { type: string }) => {
562
569
</ TooltipTrigger >
563
570
< TooltipContent sideOffset = { 5 } >
564
571
< p className = "max-w-[250px]" >
565
- Current built-in models for this plan include
572
+ Current built-in models for this plan include (but not limited to)
566
573
< ul className = "list-disc pl-4" >
567
- < li > Claude 3.5 Sonnet (new)</ li >
574
+ < li > PearAI Model</ li >
575
+ < li > Claude 3.5 Sonnet</ li >
568
576
< li > GPT4o</ li >
569
- < li > GPT o1-preview</ li >
570
- < li > GPT o1-mini</ li >
577
+ < li > Deepseek R1</ li >
578
+ < li > o1</ li >
579
+ < li > o3-mini</ li >
571
580
< li > Gemini 1.5 Pro</ li >
572
581
< li > Claude 3.5 Haiku (unlimited)</ li >
573
582
</ ul >
574
583
< br />
575
- Your PearAI Credits usage depend on your prompt input and output
576
- sizes. On average, this equates to around { pearCreditsCount (
577
- type ,
578
- ) } { " " }
579
- requests{ type === "free" && " for our current free trial" } . For more
580
- info on usage. see{ " " }
584
+ Your PearAI Credits usage depends on the price of the underlying
585
+ LLM, and your prompt's input and output sizes.
586
+ </ p >
587
+ </ TooltipContent >
588
+ </ Tooltip >
589
+ </ TooltipProvider >
590
+ ) ;
591
+ } ;
592
+
593
+ export const PayAsYouGoTooltip = ( ) => {
594
+ const [ isOpen , setIsOpen ] = React . useState ( false ) ;
595
+
596
+ return (
597
+ < TooltipProvider >
598
+ < Tooltip open = { isOpen } onOpenChange = { setIsOpen } delayDuration = { 50 } >
599
+ < TooltipTrigger asChild >
600
+ < Info
601
+ className = "mb-0.5 ml-1 inline-flex h-4 w-4 flex-shrink-0 cursor-pointer"
602
+ onClick = { ( ) => setIsOpen ( ( prev ) => ! prev ) }
603
+ />
604
+ </ TooltipTrigger >
605
+ < TooltipContent sideOffset = { 5 } >
606
+ < p className = "max-w-[250px]" >
607
+ If you happen to run out of credits (which is unlikely), you can
608
+ switch to a{ " " }
581
609
< Link
610
+ href = "/pay-as-you-go"
582
611
className = "text-primary-700 hover:text-primary-800"
583
- href = "/docs/models-and-usage"
584
612
>
585
- here
613
+ pay-as-you-go extra credit plan
586
614
</ Link >
587
- .
588
- { type !== "free" && (
589
- < >
590
- < br /> < br />
591
- If you happen to run out of credits (which is unlikely), you can
592
- switch to a{ " " }
593
- < Link
594
- href = "/pay-as-you-go"
595
- className = "text-primary-700 hover:text-primary-800"
596
- >
597
- pay-as-you-go extra credit plan
598
- </ Link >
599
- , or use our free model for unlimited requests.
600
- </ >
601
- ) }
615
+ , or use PearAI Mini free model for unlimited requests.
616
+ </ p >
617
+ </ TooltipContent >
618
+ </ Tooltip >
619
+ </ TooltipProvider >
620
+ ) ;
621
+ } ;
622
+
623
+ export const ServerAccessTooltip = ( ) => {
624
+ const [ isOpen , setIsOpen ] = React . useState ( false ) ;
625
+
626
+ return (
627
+ < TooltipProvider >
628
+ < Tooltip open = { isOpen } onOpenChange = { setIsOpen } delayDuration = { 50 } >
629
+ < TooltipTrigger asChild >
630
+ < Info
631
+ className = "mb-0.5 ml-1 inline-flex h-4 w-4 flex-shrink-0 cursor-pointer"
632
+ onClick = { ( ) => setIsOpen ( ( prev ) => ! prev ) }
633
+ />
634
+ </ TooltipTrigger >
635
+ < TooltipContent sideOffset = { 5 } >
636
+ < p className = "max-w-[250px]" >
637
+ No need to configure and manage different API's and tools,
638
+ PearAI will work out of the box.
602
639
</ p >
603
640
</ TooltipContent >
604
641
</ Tooltip >
0 commit comments