ft-scout 8.0.9 → 9.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"payment.js","sourceRoot":"","sources":["payment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payment.js","sourceRoot":"","sources":["payment.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["pricing.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,YAAY,CAAC;AACrD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEhD,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAE,QAAQ,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC;AAKD,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAqEtE,CAAC;AAQF,wBAAgB,gBAAgB,IAAI,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAoBtE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CA+CtH;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,CAcxG;AAED,wBAAgB,sBAAsB,IAAI,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAE5E"}
@@ -0,0 +1,165 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import os from 'os';
4
+ const PRICING_DIR = path.join(os.homedir(), '.ft');
5
+ const PRICING_FILE = path.join(PRICING_DIR, 'pricing.json');
6
+ export const DEFAULT_PRICING_CONFIG = {
7
+ free: {
8
+ id: 'free',
9
+ name: 'Developer Free',
10
+ monthlyPriceINR: 0,
11
+ annualPriceINR: 0,
12
+ monthlyPriceUSD: 0,
13
+ annualPriceUSD: 0,
14
+ credits: 100,
15
+ description: 'Essential tools for individual developer workflow',
16
+ features: [
17
+ '100 AI credits / month',
18
+ 'Full Scout CLI core features',
19
+ '1 Active CLI session slot',
20
+ 'Single-use authorization tokens',
21
+ 'Community support & docs',
22
+ ],
23
+ offerActive: false,
24
+ },
25
+ pro: {
26
+ id: 'pro',
27
+ name: 'Pro Developer',
28
+ monthlyPriceINR: 50, // ₹50 as requested by user
29
+ annualPriceINR: 45,
30
+ monthlyPriceUSD: 0.99,
31
+ annualPriceUSD: 0.79,
32
+ credits: 1000,
33
+ description: 'High-power AI co-pilot capabilities, priority quota & live visual HUD',
34
+ popular: true,
35
+ badge: 'POPULAR',
36
+ features: [
37
+ '1,000 AI credits / month',
38
+ 'Unlimited AI co-pilot queries',
39
+ 'Up to 5 Active CLI Sessions',
40
+ 'Live Screen Sharing & Visual Perception HUD',
41
+ 'Fast-track model response engine',
42
+ 'Priority token revocation & audit logs',
43
+ 'Direct email support response',
44
+ ],
45
+ offerActive: false,
46
+ offerPriceINR: 49,
47
+ offerPriceUSD: 0.49,
48
+ offerBadge: 'SPECIAL OFFER',
49
+ offerBannerText: '🔥 Limited Time Offer: Get Pro for just ₹49/mo!',
50
+ },
51
+ enterprise: {
52
+ id: 'enterprise',
53
+ name: 'Team & Enterprise',
54
+ monthlyPriceINR: 3999,
55
+ annualPriceINR: 37990,
56
+ monthlyPriceUSD: 49,
57
+ annualPriceUSD: 39,
58
+ credits: 10000,
59
+ description: 'Organization controls, security policies & dedicated scale',
60
+ features: [
61
+ '10,000 AI credits / month',
62
+ 'Multi-seat organization access',
63
+ 'Unlimited CLI Session connections',
64
+ 'Window Isolation & Multi-App Vision Engine',
65
+ 'Custom security token policies',
66
+ 'Dedicated account SLA support',
67
+ '24/7 SLA Priority response',
68
+ ],
69
+ offerActive: false,
70
+ offerPriceINR: 2999,
71
+ offerPriceUSD: 35,
72
+ offerBadge: 'ENTERPRISE DEAL',
73
+ offerBannerText: '💼 Enterprise Special: Flat ₹2,999/mo for team onboarding!',
74
+ },
75
+ };
76
+ function ensurePricingDir() {
77
+ if (!fs.existsSync(PRICING_DIR)) {
78
+ fs.mkdirSync(PRICING_DIR, { recursive: true });
79
+ }
80
+ }
81
+ export function getPricingConfig() {
82
+ try {
83
+ if (fs.existsSync(PRICING_FILE)) {
84
+ const raw = fs.readFileSync(PRICING_FILE, 'utf-8');
85
+ const parsed = JSON.parse(raw);
86
+ if (parsed && typeof parsed === 'object' && parsed.pro && parsed.free) {
87
+ return {
88
+ free: { ...DEFAULT_PRICING_CONFIG.free, ...parsed.free },
89
+ pro: { ...DEFAULT_PRICING_CONFIG.pro, ...parsed.pro },
90
+ enterprise: { ...DEFAULT_PRICING_CONFIG.enterprise, ...parsed.enterprise },
91
+ };
92
+ }
93
+ }
94
+ }
95
+ catch (err) {
96
+ console.warn('[Pricing Engine] Error reading pricing file, using default configuration:', err);
97
+ }
98
+ // Auto-initialize file if it doesn't exist
99
+ saveFullPricingConfig(DEFAULT_PRICING_CONFIG);
100
+ return { ...DEFAULT_PRICING_CONFIG };
101
+ }
102
+ export function saveFullPricingConfig(config) {
103
+ ensurePricingDir();
104
+ const cleanConfig = {
105
+ free: {
106
+ ...DEFAULT_PRICING_CONFIG.free,
107
+ ...config.free,
108
+ id: 'free',
109
+ monthlyPriceINR: 0,
110
+ annualPriceINR: 0,
111
+ monthlyPriceUSD: 0,
112
+ annualPriceUSD: 0,
113
+ offerActive: Boolean(config.free?.offerActive),
114
+ },
115
+ pro: {
116
+ ...DEFAULT_PRICING_CONFIG.pro,
117
+ ...config.pro,
118
+ id: 'pro',
119
+ monthlyPriceINR: Math.max(0, Number(config.pro?.monthlyPriceINR ?? 50)),
120
+ annualPriceINR: Math.max(0, Number(config.pro?.annualPriceINR ?? 45)),
121
+ monthlyPriceUSD: Math.max(0, Number(config.pro?.monthlyPriceUSD ?? 0.99)),
122
+ annualPriceUSD: Math.max(0, Number(config.pro?.annualPriceUSD ?? 0.79)),
123
+ credits: Math.max(100, Number(config.pro?.credits ?? 1000)),
124
+ offerActive: Boolean(config.pro?.offerActive),
125
+ offerPriceINR: config.pro?.offerPriceINR !== undefined ? Number(config.pro.offerPriceINR) : undefined,
126
+ offerPriceUSD: config.pro?.offerPriceUSD !== undefined ? Number(config.pro.offerPriceUSD) : undefined,
127
+ offerBadge: config.pro?.offerBadge || 'SPECIAL OFFER',
128
+ offerBannerText: config.pro?.offerBannerText || '',
129
+ },
130
+ enterprise: {
131
+ ...DEFAULT_PRICING_CONFIG.enterprise,
132
+ ...config.enterprise,
133
+ id: 'enterprise',
134
+ monthlyPriceINR: Math.max(0, Number(config.enterprise?.monthlyPriceINR ?? 3999)),
135
+ annualPriceINR: Math.max(0, Number(config.enterprise?.annualPriceINR ?? 37990)),
136
+ monthlyPriceUSD: Math.max(0, Number(config.enterprise?.monthlyPriceUSD ?? 49)),
137
+ annualPriceUSD: Math.max(0, Number(config.enterprise?.annualPriceUSD ?? 39)),
138
+ credits: Math.max(1000, Number(config.enterprise?.credits ?? 10000)),
139
+ offerActive: Boolean(config.enterprise?.offerActive),
140
+ offerPriceINR: config.enterprise?.offerPriceINR !== undefined ? Number(config.enterprise.offerPriceINR) : undefined,
141
+ offerPriceUSD: config.enterprise?.offerPriceUSD !== undefined ? Number(config.enterprise.offerPriceUSD) : undefined,
142
+ offerBadge: config.enterprise?.offerBadge || 'ENTERPRISE DEAL',
143
+ offerBannerText: config.enterprise?.offerBannerText || '',
144
+ },
145
+ };
146
+ fs.writeFileSync(PRICING_FILE, JSON.stringify(cleanConfig, null, 2), 'utf-8');
147
+ return cleanConfig;
148
+ }
149
+ export function updatePricingTier(tier, updates) {
150
+ const current = getPricingConfig();
151
+ if (!current[tier]) {
152
+ throw new Error(`Invalid plan tier: ${tier}`);
153
+ }
154
+ current[tier] = {
155
+ ...current[tier],
156
+ ...updates,
157
+ id: tier,
158
+ };
159
+ const saved = saveFullPricingConfig(current);
160
+ return saved[tier];
161
+ }
162
+ export function resetPricingToDefaults() {
163
+ return saveFullPricingConfig(DEFAULT_PRICING_CONFIG);
164
+ }
165
+ //# sourceMappingURL=pricing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pricing.js","sourceRoot":"","sources":["pricing.ts"],"names":[],"mappings":"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"}
package/firebase.json CHANGED
@@ -25,6 +25,14 @@
25
25
  }
26
26
  ],
27
27
  "rewrites": [
28
+ {
29
+ "source": "/admin",
30
+ "destination": "/admin.html"
31
+ },
32
+ {
33
+ "source": "/admin/**",
34
+ "destination": "/admin.html"
35
+ },
28
36
  {
29
37
  "source": "/auth",
30
38
  "destination": "/authentication.html"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ft-scout",
3
- "version": "8.0.9",
3
+ "version": "9.0.1",
4
4
  "type": "module",
5
5
  "description": "FrontTerrain — The Onboarding Co-Pilot for New Codebases",
6
6
  "main": "index.js",
package/web/app.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /* ==========================================================================
2
- FrontTerrain Scout — Multi-Page Application Engine v8.0.9
2
+ FrontTerrain Scout — Multi-Page Application Engine v9.0.1
3
3
  ========================================================================== */
4
4
 
5
5
  const FIREBASE_CONFIG = {
@@ -52,6 +52,11 @@ let state = {
52
52
  customApiKey: '',
53
53
  customBaseUrl: '',
54
54
  razorpayKeyId: '',
55
+ pricing: {
56
+ free: { monthlyPriceINR: 0, annualPriceINR: 0, monthlyPriceUSD: 0, annualPriceUSD: 0, credits: 100 },
57
+ pro: { monthlyPriceINR: 50, annualPriceINR: 45, monthlyPriceUSD: 0.99, annualPriceUSD: 0.79, credits: 1000 },
58
+ enterprise: { monthlyPriceINR: 3999, annualPriceINR: 37990, monthlyPriceUSD: 49, annualPriceUSD: 39, credits: 10000 },
59
+ },
55
60
  };
56
61
 
57
62
  let pendingCheckoutTier = null;
@@ -179,6 +184,49 @@ async function checkPaymentRedirectCallback() {
179
184
  }
180
185
  }
181
186
 
187
+ // Dynamic Pricing Loader & Admin Navigation Hook
188
+ async function loadDynamicPricing() {
189
+ try {
190
+ const res = await fetch('/api/pricing');
191
+ if (res.ok) {
192
+ const data = await res.json();
193
+ if (data && data.success && data.pricing) {
194
+ state.pricing = data.pricing;
195
+ renderTiersUI();
196
+ }
197
+ }
198
+ } catch { }
199
+
200
+ try {
201
+ const adminToken = sessionStorage.getItem('scout_admin_token');
202
+ const userEmail = (state.user?.email || '').toLowerCase();
203
+ if (adminToken || userEmail === 'rishishandilya40@gmail.com' || userEmail.includes('admin')) {
204
+ showAdminNavigationLink();
205
+ } else {
206
+ const checkRes = await fetch('/api/admin/check');
207
+ if (checkRes.ok) {
208
+ const checkData = await checkRes.json();
209
+ if (checkData.authorized) showAdminNavigationLink();
210
+ }
211
+ }
212
+ } catch { }
213
+ }
214
+
215
+ function showAdminNavigationLink() {
216
+ if (!document.getElementById('nav-admin-link')) {
217
+ const mainNav = getEl('main-nav');
218
+ if (mainNav) {
219
+ const a = document.createElement('a');
220
+ a.id = 'nav-admin-link';
221
+ a.href = '/admin';
222
+ a.className = 'nav-btn';
223
+ a.style.color = '#f06843';
224
+ a.innerHTML = '<i class="fa-solid fa-sliders"></i> Admin';
225
+ mainNav.appendChild(a);
226
+ }
227
+ }
228
+ }
229
+
182
230
  // Initialize Application
183
231
  document.addEventListener('DOMContentLoaded', async () => {
184
232
  highlightActiveNav();
@@ -189,6 +237,7 @@ document.addEventListener('DOMContentLoaded', async () => {
189
237
  initTerminalSimulator();
190
238
  renderAllDynamicComponents();
191
239
  await checkServerStatusAndSession();
240
+ await loadDynamicPricing();
192
241
  await checkPaymentRedirectCallback();
193
242
 
194
243
  if (getEl('pacman-canvas')) {
@@ -318,20 +367,31 @@ function openCheckoutModal(targetTier) {
318
367
  const isAnnual = state.billingCycle === 'annual';
319
368
  const tierInfo = TIER_DETAILS[targetTier] || TIER_DETAILS.pro;
320
369
 
370
+ const p = state.pricing || {
371
+ pro: { monthlyPriceINR: 50, annualPriceINR: 45, credits: 1000 },
372
+ enterprise: { monthlyPriceINR: 3999, annualPriceINR: 37990, credits: 10000 },
373
+ };
374
+
321
375
  let price = '0';
322
376
  let quota = '100 Credits / mo';
323
377
 
324
378
  if (targetTier === 'pro') {
325
- price = isAnnual ? '15' : '19';
326
- quota = '1,000 Credits / mo';
379
+ const isOffer = p.pro?.offerActive && !isAnnual && p.pro?.offerPriceINR !== undefined;
380
+ const inr = isOffer ? p.pro.offerPriceINR : (isAnnual ? (p.pro?.annualPriceINR ?? 45) : (p.pro?.monthlyPriceINR ?? 50));
381
+ price = inr.toLocaleString('en-IN');
382
+ quota = `${(p.pro?.credits || 1000).toLocaleString()} Credits / mo`;
327
383
  } else if (targetTier === 'enterprise') {
328
- price = isAnnual ? '39' : '49';
329
- quota = '10,000 Credits / mo';
384
+ const isOffer = p.enterprise?.offerActive && !isAnnual && p.enterprise?.offerPriceINR !== undefined;
385
+ const inr = isOffer ? p.enterprise.offerPriceINR : (isAnnual ? (p.enterprise?.annualPriceINR ?? 37990) : (p.enterprise?.monthlyPriceINR ?? 3999));
386
+ price = inr.toLocaleString('en-IN');
387
+ quota = `${(p.enterprise?.credits || 10000).toLocaleString()} Credits / mo`;
330
388
  }
331
389
 
332
390
  if (getEl('checkout-plan-name')) getEl('checkout-plan-name').innerText = tierInfo.name;
333
- if (getEl('checkout-billing-cycle')) getEl('checkout-billing-cycle').innerText = isAnnual ? 'Billed Annually (20% Off)' : 'Billed Monthly';
391
+ if (getEl('checkout-billing-cycle')) getEl('checkout-billing-cycle').innerText = isAnnual ? 'Billed Annually (Save more)' : 'Billed Monthly';
334
392
  if (getEl('checkout-plan-price')) getEl('checkout-plan-price').innerText = price;
393
+ const checkoutCurrency = document.querySelector('.checkout-price-display .price-currency');
394
+ if (checkoutCurrency) checkoutCurrency.innerText = '₹';
335
395
  if (getEl('checkout-price-period')) getEl('checkout-price-period').innerText = isAnnual ? '/ mo (annual)' : '/ mo';
336
396
  if (getEl('checkout-quota-val')) getEl('checkout-quota-val').innerText = quota;
337
397
 
@@ -426,14 +486,19 @@ function resumeSubscription() {
426
486
  // Render and initialize Razorpay button UI
427
487
  function renderRazorpayButton(targetTier) {
428
488
  const isAnnual = state.billingCycle === 'annual';
429
- const inrAmount = targetTier === 'enterprise' ? (isAnnual ? 37990 : 3999) : (isAnnual ? 15350 : 1599);
489
+ const p = state.pricing || {};
490
+ const isProOffer = p.pro?.offerActive && !isAnnual && p.pro?.offerPriceINR !== undefined;
491
+ const isEntOffer = p.enterprise?.offerActive && !isAnnual && p.enterprise?.offerPriceINR !== undefined;
492
+ const inrAmount = targetTier === 'enterprise'
493
+ ? (isEntOffer ? p.enterprise.offerPriceINR : (isAnnual ? (p.enterprise?.annualPriceINR ?? 37990) : (p.enterprise?.monthlyPriceINR ?? 3999)))
494
+ : (isProOffer ? p.pro.offerPriceINR : (isAnnual ? (p.pro?.annualPriceINR ?? 45) : (p.pro?.monthlyPriceINR ?? 50)));
430
495
  const btnRzp = getEl('btn-razorpay-checkout');
431
496
  if (!btnRzp) return;
432
497
 
433
498
  btnRzp.disabled = false;
434
499
  btnRzp.innerHTML = `
435
500
  <i class="fa-solid fa-bolt text-warning" style="font-size: 18px;"></i>
436
- <span>Pay with Razorpay</span>
501
+ <span>Pay ₹${inrAmount.toLocaleString('en-IN')} with Razorpay / UPI</span>
437
502
  `;
438
503
  }
439
504
 
@@ -441,7 +506,12 @@ function renderRazorpayButton(targetTier) {
441
506
  async function handleRazorpayCheckout() {
442
507
  const targetTier = pendingCheckoutTier || 'pro';
443
508
  const isAnnual = state.billingCycle === 'annual';
444
- const inrAmount = targetTier === 'enterprise' ? (isAnnual ? 37990 : 3999) : (isAnnual ? 15350 : 1599);
509
+ const p = state.pricing || {};
510
+ const isProOffer = p.pro?.offerActive && !isAnnual && p.pro?.offerPriceINR !== undefined;
511
+ const isEntOffer = p.enterprise?.offerActive && !isAnnual && p.enterprise?.offerPriceINR !== undefined;
512
+ const inrAmount = targetTier === 'enterprise'
513
+ ? (isEntOffer ? p.enterprise.offerPriceINR : (isAnnual ? (p.enterprise?.annualPriceINR ?? 37990) : (p.enterprise?.monthlyPriceINR ?? 3999)))
514
+ : (isProOffer ? p.pro.offerPriceINR : (isAnnual ? (p.pro?.annualPriceINR ?? 45) : (p.pro?.monthlyPriceINR ?? 50)));
445
515
  const amountInPaise = inrAmount * 100; // minimum 100 paise
446
516
 
447
517
  const btnRzp = getEl('btn-razorpay-checkout');
@@ -980,7 +1050,7 @@ function initTerminalSimulator() {
980
1050
  `;
981
1051
  } else if (lower.includes('status')) {
982
1052
  response.innerHTML = `
983
- <span class="term-green">✔ Scout CLI Engine: v8.0.9 Online</span><br>
1053
+ <span class="term-green">✔ Scout CLI Engine: v9.0.1 Online</span><br>
984
1054
  ↳ User: <strong>${escapeHtml(state.user ? state.user.name : 'Guest Session')}</strong><br>
985
1055
  ↳ Active Subscription: <strong>${escapeHtml(TIER_DETAILS[state.currentTier].name)}</strong><br>
986
1056
  ↳ Credit Quota: <strong>${state.byokEnabled ? 'BYOK Mode (Unlimited)' : `${state.creditsUsed} / ${state.creditsTotal} Credits Used`}</strong><br>
@@ -1224,11 +1294,34 @@ function renderTiersUI() {
1224
1294
  }
1225
1295
 
1226
1296
  const isAnnual = state.billingCycle === 'annual';
1227
- if (getEl('price-pro-val')) getEl('price-pro-val').innerText = isAnnual ? '15' : '19';
1228
- if (getEl('price-pro-period')) getEl('price-pro-period').innerText = isAnnual ? '/ month (billed annually)' : '/ month';
1297
+ const p = state.pricing || {};
1298
+ const isProOffer = p.pro?.offerActive && !isAnnual && p.pro?.offerPriceINR !== undefined;
1299
+ const isEntOffer = p.enterprise?.offerActive && !isAnnual && p.enterprise?.offerPriceINR !== undefined;
1229
1300
 
1230
- if (getEl('price-ent-val')) getEl('price-ent-val').innerText = isAnnual ? '39' : '49';
1231
- if (getEl('price-ent-period')) getEl('price-ent-period').innerText = isAnnual ? '/ month (billed annually)' : '/ month';
1301
+ const proINR = isProOffer ? p.pro.offerPriceINR : (isAnnual ? (p.pro?.annualPriceINR ?? 45) : (p.pro?.monthlyPriceINR ?? 50));
1302
+ const entINR = isEntOffer ? p.enterprise.offerPriceINR : (isAnnual ? (p.enterprise?.annualPriceINR ?? 37990) : (p.enterprise?.monthlyPriceINR ?? 3999));
1303
+
1304
+ if (getEl('price-pro-val')) {
1305
+ if (isProOffer && p.pro?.monthlyPriceINR) {
1306
+ getEl('price-pro-val').innerHTML = `<s style="font-size: 0.55em; opacity: 0.55; margin-right: 6px;">₹${p.pro.monthlyPriceINR}</s>₹${proINR}`;
1307
+ } else {
1308
+ getEl('price-pro-val').innerText = proINR;
1309
+ }
1310
+ }
1311
+ if (getEl('price-pro-period')) getEl('price-pro-period').innerText = isProOffer ? `/ month (${p.pro?.offerBadge || 'PROMO OFFER'})` : (isAnnual ? '/ month (billed annually)' : '/ month');
1312
+ const proCurrency = document.querySelector('#tier-card-pro .price-currency');
1313
+ if (proCurrency) proCurrency.innerText = isProOffer ? '' : '₹';
1314
+
1315
+ if (getEl('price-ent-val')) {
1316
+ if (isEntOffer && p.enterprise?.monthlyPriceINR) {
1317
+ getEl('price-ent-val').innerHTML = `<s style="font-size: 0.55em; opacity: 0.55; margin-right: 6px;">₹${p.enterprise.monthlyPriceINR.toLocaleString('en-IN')}</s>₹${entINR.toLocaleString('en-IN')}`;
1318
+ } else {
1319
+ getEl('price-ent-val').innerText = entINR.toLocaleString('en-IN');
1320
+ }
1321
+ }
1322
+ if (getEl('price-ent-period')) getEl('price-ent-period').innerText = isEntOffer ? `/ month (${p.enterprise?.offerBadge || 'PROMO OFFER'})` : (isAnnual ? '/ month (billed annually)' : '/ month');
1323
+ const entCurrency = document.querySelector('#tier-card-enterprise .price-currency');
1324
+ if (entCurrency) entCurrency.innerText = isEntOffer ? '' : '₹';
1232
1325
 
1233
1326
  ['free', 'pro', 'enterprise'].forEach((t) => {
1234
1327
  const card = getEl(`tier-card-${t}`);
@@ -1405,6 +1498,28 @@ async function handleSignIn(e) {
1405
1498
 
1406
1499
  if (!email || !password) return;
1407
1500
 
1501
+ // Check Master Admin Credentials
1502
+ const isMasterAdminAuth = (email.toLowerCase() === 'rishishandilya40@gmail.com' || email.toLowerCase().includes('admin')) && (password === 'scout_admin_2026' || password === 'admin');
1503
+ if (isMasterAdminAuth) {
1504
+ state.token = 'scout_admin_token_' + Date.now().toString(36);
1505
+ state.refreshToken = 'rt_' + Date.now().toString(36);
1506
+ state.user = {
1507
+ id: 'usr_admin_001',
1508
+ email: email,
1509
+ name: 'Scout Administrator',
1510
+ createdAt: new Date().toISOString(),
1511
+ };
1512
+ state.currentTier = 'pro';
1513
+ state.creditsTotal = 1000;
1514
+ state.creditsUsed = 0;
1515
+ sessionStorage.setItem('scout_admin_token', 'scout_admin_standalone_' + Date.now());
1516
+ saveSessionToStorage();
1517
+ updateUserUI();
1518
+ showToast('Authenticated as Scout Administrator! Redirecting to Control Center...', 'success');
1519
+ setTimeout(() => { window.location.href = '/admin'; }, 400);
1520
+ return;
1521
+ }
1522
+
1408
1523
  if (btnSubmit) {
1409
1524
  btnSubmit.disabled = true;
1410
1525
  btnSubmit.innerHTML = '<i class="fa-solid fa-spinner fa-spin"></i> Authenticating...';
package/web/styles.css CHANGED
@@ -1,5 +1,5 @@
1
1
  /* ==========================================================================
2
- FrontTerrain Scout — Design System & Visual Engine v8.0.9
2
+ FrontTerrain Scout — Design System & Visual Engine v9.0.1
3
3
  Inspired by HappyRobot, Linear.app & Vercel aesthetics
4
4
  ========================================================================== */
5
5
 
@@ -1063,7 +1063,7 @@ h1, h2, h3, h4, h5, h6 {
1063
1063
  .footer-links a:hover { color: var(--hr-rust); }
1064
1064
 
1065
1065
  /* ==========================================================================
1066
- Visual Perception & Live Screen Sharing Engine v8.0.9
1066
+ Visual Perception & Live Screen Sharing Engine v9.0.1
1067
1067
  ========================================================================== */
1068
1068
  .vision-banner {
1069
1069
  margin-bottom: 28px;