Skip to content

Commit 8f235d1

Browse files
committed
update: features and pricing
1 parent 1e5a2b0 commit 8f235d1

5 files changed

Lines changed: 112 additions & 66 deletions

File tree

src/app/api/pricing/route.ts

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,25 @@
11
import { NextResponse } from 'next/server';
2+
import pricingConfig from '@/config/pricing.json';
23

34
export const dynamic = 'force-dynamic';
45

6+
type PricingConfigType = {
7+
[key: string]: {
8+
amount: number;
9+
currency: string;
10+
symbol: string;
11+
displayAmount: string;
12+
};
13+
};
14+
515
export async function GET(req: Request) {
616
const country = req.headers.get('x-vercel-ip-country') || process.env.TEST_COUNTRY_CODE || 'US';
717

8-
let amount = 2000;
9-
let currency = 'USD';
10-
let symbol = '$';
11-
let displayAmount = '20';
12-
13-
if (country === 'IN') {
14-
amount = 120000;
15-
currency = 'INR';
16-
symbol = '₹';
17-
displayAmount = '1,200';
18-
}
18+
const config = pricingConfig as PricingConfigType;
19+
const pricing = config[country] || config['US'];
1920

2021
return NextResponse.json({
21-
amount,
22-
currency,
23-
symbol,
24-
displayAmount,
22+
...pricing,
2523
country
2624
});
2725
}

src/app/api/razorpay/order/route.ts

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
import { NextResponse } from 'next/server';
22
import Razorpay from 'razorpay';
3+
import pricingConfig from '@/config/pricing.json';
4+
5+
type PricingConfigType = {
6+
[key: string]: {
7+
amount: number;
8+
currency: string;
9+
symbol: string;
10+
displayAmount: string;
11+
};
12+
};
313

414
export async function POST(req: Request) {
515
try {
@@ -10,18 +20,12 @@ export async function POST(req: Request) {
1020

1121
const country = req.headers.get('x-vercel-ip-country') || process.env.TEST_COUNTRY_CODE || 'US';
1222

13-
// Pricing logic
14-
let amount = 2000; // $20.00 USD (in cents)
15-
let currency = 'USD';
16-
17-
if (country === 'IN') {
18-
amount = 120000; // ₹1200.00 INR (in paise)
19-
currency = 'INR';
20-
}
23+
const config = pricingConfig as PricingConfigType;
24+
const pricing = config[country] || config['US'];
2125

2226
const options = {
23-
amount,
24-
currency,
27+
amount: pricing.amount,
28+
currency: pricing.currency,
2529
receipt: `receipt_${Date.now()}`,
2630
payment_capture: 1 // Auto capture
2731
};

src/app/pricing/page.tsx

Lines changed: 21 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -11,47 +11,36 @@ import { useState, useEffect } from "react";
1111

1212
const FEATURES = [
1313
{
14-
category: "General & UI",
14+
category: "System & Infrastructure",
1515
items: [
16-
{ name: "Native macOS & Windows app", community: true, pro: true },
17-
{ name: "Modern Dark UI & Animations", community: true, pro: true },
18-
{ name: "VS Code / Cursor Integration", community: true, pro: true },
16+
{ name: "System monitoring", community: true, pro: true },
17+
{ name: "Process manager", community: true, pro: true },
18+
{ name: "Port monitor", community: true, pro: true },
19+
{ name: "Docker viewer", community: true, pro: true },
20+
{ name: "Docker cleanup tools", community: false, pro: true },
21+
{ name: "Smart cleanup", community: false, pro: true },
1922
]
2023
},
2124
{
22-
category: "Local Repositories",
25+
category: "Workspace & Version Control",
2326
items: [
24-
{ name: "Scan & View Local Projects", community: true, pro: true },
25-
{ name: "Open in Editor/Terminal", community: true, pro: true },
26-
{ name: "Find unused & stale repos", community: false, pro: true },
27-
{ name: "1-Click node_modules cleanup", community: false, pro: true },
28-
{ name: "Identify broken dependencies", community: false, pro: true },
27+
{ name: "Project discovery", community: true, pro: true },
28+
{ name: "Script runner", community: true, pro: true },
29+
{ name: "Git basic operations", community: true, pro: true },
30+
{ name: "Advanced git tools", community: false, pro: true },
31+
{ name: "Dev environment insights", community: false, pro: true },
2932
]
3033
},
3134
{
32-
category: "Docker & Infrastructure",
35+
category: "Search & Intelligence",
3336
items: [
34-
{ name: "View Running Containers", community: true, pro: true },
35-
{ name: "Start/Stop Containers", community: true, pro: true },
36-
{ name: "Cross-container Insights", community: false, pro: true },
37-
{ name: "Database Schema Visualizer", community: false, pro: true },
38-
]
39-
},
40-
{
41-
category: "System & Network",
42-
items: [
43-
{ name: "View Active Ports", community: true, pro: true },
44-
{ name: "Kill Processes holding ports", community: true, pro: true },
45-
{ name: "CPU & Memory Analytics", community: true, pro: true },
46-
{ name: "Time-series Resource Tracking", community: false, pro: true },
47-
]
48-
},
49-
{
50-
category: "AI & Intelligence",
51-
items: [
52-
{ name: "Local LLM Orchestration", community: false, pro: true },
53-
{ name: "Smart Environment Analytics", community: false, pro: true },
54-
{ name: "Auto-fix Dependency Errors", community: false, pro: true },
37+
{ name: "Global search", community: true, pro: true },
38+
{ name: "AI chat", community: true, pro: true },
39+
{ name: "Repository indexing (max 3)", community: true, pro: true },
40+
{ name: "Unlimited repo indexing", community: false, pro: true },
41+
{ name: "AI explanations", community: false, pro: true },
42+
{ name: "Dependency auto fixes", community: false, pro: true },
43+
{ name: "Repo content search", community: false, pro: true },
5544
]
5645
}
5746
];

src/components/PricingSection.tsx

Lines changed: 50 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,11 @@ export function RazorpayButton({
4343
},
4444
theme: {
4545
color: "#0a0a0a"
46+
},
47+
modal: {
48+
ondismiss: function () {
49+
setIsProcessing(false);
50+
}
4651
}
4752
};
4853

@@ -111,23 +116,43 @@ export function PricingSection() {
111116
<ul className="space-y-4 mb-10 flex-1">
112117
<li className="flex items-start gap-3">
113118
<Check className="w-5 h-5 text-emerald-400 shrink-0" />
114-
<span className="text-white/80">Local repository scanning</span>
119+
<span className="text-white/80">System monitoring</span>
120+
</li>
121+
<li className="flex items-start gap-3">
122+
<Check className="w-5 h-5 text-emerald-400 shrink-0" />
123+
<span className="text-white/80">Process manager</span>
124+
</li>
125+
<li className="flex items-start gap-3">
126+
<Check className="w-5 h-5 text-emerald-400 shrink-0" />
127+
<span className="text-white/80">Port monitor</span>
128+
</li>
129+
<li className="flex items-start gap-3">
130+
<Check className="w-5 h-5 text-emerald-400 shrink-0" />
131+
<span className="text-white/80">Docker viewer</span>
132+
</li>
133+
<li className="flex items-start gap-3">
134+
<Check className="w-5 h-5 text-emerald-400 shrink-0" />
135+
<span className="text-white/80">Project discovery</span>
136+
</li>
137+
<li className="flex items-start gap-3">
138+
<Check className="w-5 h-5 text-emerald-400 shrink-0" />
139+
<span className="text-white/80">Git basic operations</span>
115140
</li>
116141
<li className="flex items-start gap-3">
117142
<Check className="w-5 h-5 text-emerald-400 shrink-0" />
118-
<span className="text-white/80">Active port monitoring</span>
143+
<span className="text-white/80">Script runner</span>
119144
</li>
120145
<li className="flex items-start gap-3">
121146
<Check className="w-5 h-5 text-emerald-400 shrink-0" />
122-
<span className="text-white/80">Basic Docker status & containers</span>
147+
<span className="text-white/80">Global search</span>
123148
</li>
124149
<li className="flex items-start gap-3">
125150
<Check className="w-5 h-5 text-emerald-400 shrink-0" />
126-
<span className="text-white/80">One-by-one dependency folder cleanup</span>
151+
<span className="text-white/80">AI chat</span>
127152
</li>
128153
<li className="flex items-start gap-3">
129154
<Check className="w-5 h-5 text-emerald-400 shrink-0" />
130-
<span className="text-white/80">100% telemetry-free</span>
155+
<span className="text-white/80">Repository indexing (max 3)</span>
131156
</li>
132157
</ul>
133158

@@ -168,19 +193,35 @@ export function PricingSection() {
168193
</li>
169194
<li className="flex items-start gap-3">
170195
<Check className="w-5 h-5 text-primary shrink-0" />
171-
<span className="text-white/90 font-medium">Bulk cleanup of node_modules</span>
196+
<span className="text-white/90 font-medium">Unlimited repo indexing</span>
197+
</li>
198+
<li className="flex items-start gap-3">
199+
<Check className="w-5 h-5 text-primary shrink-0" />
200+
<span className="text-white/90 font-medium">AI explanations</span>
201+
</li>
202+
<li className="flex items-start gap-3">
203+
<Check className="w-5 h-5 text-primary shrink-0" />
204+
<span className="text-white/90 font-medium">Dependency auto fixes</span>
205+
</li>
206+
<li className="flex items-start gap-3">
207+
<Check className="w-5 h-5 text-primary shrink-0" />
208+
<span className="text-white/90 font-medium">Docker cleanup tools</span>
209+
</li>
210+
<li className="flex items-start gap-3">
211+
<Check className="w-5 h-5 text-primary shrink-0" />
212+
<span className="text-white/90 font-medium">Advanced git tools</span>
172213
</li>
173214
<li className="flex items-start gap-3">
174215
<Check className="w-5 h-5 text-primary shrink-0" />
175-
<span className="text-white/90 font-medium">Smart unused repository insights</span>
216+
<span className="text-white/90 font-medium">Smart cleanup</span>
176217
</li>
177218
<li className="flex items-start gap-3">
178219
<Check className="w-5 h-5 text-primary shrink-0" />
179-
<span className="text-white/90 font-medium">Advanced project health analytics</span>
220+
<span className="text-white/90 font-medium">Dev environment insights</span>
180221
</li>
181222
<li className="flex items-start gap-3">
182223
<Check className="w-5 h-5 text-primary shrink-0" />
183-
<span className="text-white/90 font-medium">Up to 3 devices per license</span>
224+
<span className="text-white/90 font-medium">Repo content search</span>
184225
</li>
185226
</ul>
186227

src/config/pricing.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"US": {
3+
"amount": 1990,
4+
"currency": "USD",
5+
"symbol": "$",
6+
"displayAmount": "19.90"
7+
},
8+
"IN": {
9+
"amount": 49900,
10+
"currency": "INR",
11+
"symbol": "",
12+
"displayAmount": "499"
13+
}
14+
}

0 commit comments

Comments
 (0)