Skip to content

Commit 28704af

Browse files
bidahclaude
andcommitted
💰 feat(subscription): update pricing and add discount announcement banner
Update plan prices to $9.99/$19.99/$49.99, show crossed-out original prices for comparison, and add announcement banner below "Choose Your Plan". Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent f065828 commit 28704af

4 files changed

Lines changed: 28 additions & 9 deletions

File tree

‎apps/web/components/subscription-modal.tsx‎

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ interface SubscriptionModalProps {
2424
interface Plan {
2525
name: string
2626
price: number
27+
originalPrice: number
2728
period: string
2829
features: string[]
2930
productId?: string
@@ -33,7 +34,8 @@ interface Plan {
3334
const plans: Plan[] = [
3435
{
3536
name: 'Start',
36-
price: 20,
37+
price: 9.99,
38+
originalPrice: 20,
3739
period: 'mo',
3840
features: [
3941
'100 messages monthly',
@@ -46,7 +48,8 @@ const plans: Plan[] = [
4648
},
4749
{
4850
name: 'Pro',
49-
price: 45,
51+
price: 19.99,
52+
originalPrice: 45,
5053
period: 'mo',
5154
features: [
5255
'250 messages monthly',
@@ -60,7 +63,8 @@ const plans: Plan[] = [
6063
},
6164
{
6265
name: 'Senior',
63-
price: 90,
66+
price: 49.99,
67+
originalPrice: 90,
6468
period: 'mo',
6569
features: [
6670
'500 messages monthly',
@@ -274,9 +278,10 @@ export function SubscriptionModal({
274278
<DialogTitle className="text-2xl font-bold text-center">
275279
{isLoadingStatus ? 'Loading...' : 'Choose Your Plan'}
276280
</DialogTitle>
277-
{/* <DialogDescription className="text-center mt-2">
278-
{isLoadingStatus ? 'Checking subscription status...' : 'Select a plan'}
279-
</DialogDescription> */}
281+
<div className="text-center mt-2 bg-muted border border-border rounded-lg px-4 py-3 text-sm text-foreground">
282+
<span className="font-semibold">Announcement: </span>
283+
We have halved prices. React Native Vibe Code is now the most affordable vibe coding platform to create React Native apps.
284+
</div>
280285
<Button
281286
variant="ghost"
282287
size="icon"
@@ -318,6 +323,9 @@ export function SubscriptionModal({
318323
/{plan.period}
319324
</span>
320325
</div>
326+
<span className="text-sm text-muted-foreground line-through">
327+
${plan.originalPrice}/{plan.period}
328+
</span>
321329
</div>
322330

323331
<ul className="space-y-3">

‎packages/payments/src/components/subscription-modal.tsx‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,10 @@ export function SubscriptionModal({
214214
<DialogTitle className="text-2xl font-bold text-center">
215215
{isLoadingStatus ? 'Loading...' : 'Choose Your Plan'}
216216
</DialogTitle>
217+
<div className="text-center mt-2 bg-muted border border-border rounded-lg px-4 py-3 text-sm text-foreground">
218+
<span className="font-semibold">Announcement: </span>
219+
We have halved prices. React Native Vibe Code is now the most affordable vibe coding platform to create React Native apps.
220+
</div>
217221
<Button
218222
variant="ghost"
219223
size="icon"
@@ -255,6 +259,9 @@ export function SubscriptionModal({
255259
/{plan.period}
256260
</span>
257261
</div>
262+
<span className="text-sm text-muted-foreground line-through">
263+
${plan.originalPrice}/{plan.period}
264+
</span>
258265
</div>
259266

260267
<ul className="space-y-3">

‎packages/payments/src/lib/config.ts‎

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,8 @@ export const PLANS: Plan[] = [
6161
{
6262
name: 'Start',
6363
slug: 'start',
64-
price: 20,
64+
price: 9.99,
65+
originalPrice: 20,
6566
period: 'mo',
6667
messageLimit: 100,
6768
features: [
@@ -75,7 +76,8 @@ export const PLANS: Plan[] = [
7576
{
7677
name: 'Pro',
7778
slug: 'pro',
78-
price: 45,
79+
price: 19.99,
80+
originalPrice: 45,
7981
period: 'mo',
8082
messageLimit: 250,
8183
features: [
@@ -90,7 +92,8 @@ export const PLANS: Plan[] = [
9092
{
9193
name: 'Senior',
9294
slug: 'senior',
93-
price: 90,
95+
price: 49.99,
96+
originalPrice: 90,
9497
period: 'mo',
9598
messageLimit: 500,
9699
features: [

‎packages/payments/src/types/index.ts‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ export interface Plan {
1515
name: string
1616
slug: string
1717
price: number
18+
originalPrice: number
1819
period: string
1920
features: string[]
2021
productId?: string

0 commit comments

Comments
 (0)