@burdenoff/microfe-atheletebridge 2026.624.1 → 2026.625.2

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.
Files changed (99) hide show
  1. package/dist/atheletebridge/components/EmptyState.js +18 -11
  2. package/dist/atheletebridge/components/EmptyState.js.map +1 -1
  3. package/dist/atheletebridge/components/InvestmentCard.js +7 -7
  4. package/dist/atheletebridge/components/InvestmentCard.js.map +1 -1
  5. package/dist/atheletebridge/components/MetricsCard.js +20 -14
  6. package/dist/atheletebridge/components/MetricsCard.js.map +1 -1
  7. package/dist/atheletebridge/components/PageLayout.js +30 -19
  8. package/dist/atheletebridge/components/PageLayout.js.map +1 -1
  9. package/dist/atheletebridge/pages/HomePage.js +210 -195
  10. package/dist/atheletebridge/pages/HomePage.js.map +1 -1
  11. package/dist/atheletebridge/pages/admin/AdminAnalyticsPage.js +90 -82
  12. package/dist/atheletebridge/pages/admin/AdminAnalyticsPage.js.map +1 -1
  13. package/dist/atheletebridge/pages/admin/AdminDashboard.js +76 -44
  14. package/dist/atheletebridge/pages/admin/AdminDashboard.js.map +1 -1
  15. package/dist/atheletebridge/pages/admin/AdminFinancialPage.js +63 -55
  16. package/dist/atheletebridge/pages/admin/AdminFinancialPage.js.map +1 -1
  17. package/dist/atheletebridge/pages/admin/AdminOrdersPage.js +244 -237
  18. package/dist/atheletebridge/pages/admin/AdminOrdersPage.js.map +1 -1
  19. package/dist/atheletebridge/pages/admin/AdminProfilePage.js +59 -57
  20. package/dist/atheletebridge/pages/admin/AdminProfilePage.js.map +1 -1
  21. package/dist/atheletebridge/pages/admin/AdminSettingsPage.js +110 -106
  22. package/dist/atheletebridge/pages/admin/AdminSettingsPage.js.map +1 -1
  23. package/dist/atheletebridge/pages/admin/CartManagementPage.js +166 -159
  24. package/dist/atheletebridge/pages/admin/CartManagementPage.js.map +1 -1
  25. package/dist/atheletebridge/pages/admin/UserManagementPage.js +310 -303
  26. package/dist/atheletebridge/pages/admin/UserManagementPage.js.map +1 -1
  27. package/dist/atheletebridge/pages/cart-owner/AnalyticsDashboard.js +86 -81
  28. package/dist/atheletebridge/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
  29. package/dist/atheletebridge/pages/cart-owner/BusinessSettingsPage.js +170 -166
  30. package/dist/atheletebridge/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
  31. package/dist/atheletebridge/pages/cart-owner/CartOwnerDashboard.js +141 -109
  32. package/dist/atheletebridge/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
  33. package/dist/atheletebridge/pages/cart-owner/CartOwnerProfilePage.js +139 -134
  34. package/dist/atheletebridge/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
  35. package/dist/atheletebridge/pages/cart-owner/CartServiceConfigPage.js +109 -107
  36. package/dist/atheletebridge/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
  37. package/dist/atheletebridge/pages/cart-owner/InventoryManagementPage.js +318 -318
  38. package/dist/atheletebridge/pages/cart-owner/InventoryManagementPage.js.map +1 -1
  39. package/dist/atheletebridge/pages/cart-owner/OrderManagementPage.js +262 -262
  40. package/dist/atheletebridge/pages/cart-owner/OrderManagementPage.js.map +1 -1
  41. package/dist/atheletebridge/pages/cart-owner/StaffManagementPage.js +170 -162
  42. package/dist/atheletebridge/pages/cart-owner/StaffManagementPage.js.map +1 -1
  43. package/dist/atheletebridge/pages/common/HelpSupportPage.js +292 -298
  44. package/dist/atheletebridge/pages/common/HelpSupportPage.js.map +1 -1
  45. package/dist/atheletebridge/pages/common/NotificationCenterPage.js +100 -91
  46. package/dist/atheletebridge/pages/common/NotificationCenterPage.js.map +1 -1
  47. package/dist/atheletebridge/pages/common/SettingsPage.js +742 -734
  48. package/dist/atheletebridge/pages/common/SettingsPage.js.map +1 -1
  49. package/dist/atheletebridge/pages/customer/BookingDetailsPage.js +365 -356
  50. package/dist/atheletebridge/pages/customer/BookingDetailsPage.js.map +1 -1
  51. package/dist/atheletebridge/pages/customer/CartDetailPage.js +277 -241
  52. package/dist/atheletebridge/pages/customer/CartDetailPage.js.map +1 -1
  53. package/dist/atheletebridge/pages/customer/CartDiscoveryPage.js +261 -250
  54. package/dist/atheletebridge/pages/customer/CartDiscoveryPage.js.map +1 -1
  55. package/dist/atheletebridge/pages/customer/CheckoutPage.js +93 -89
  56. package/dist/atheletebridge/pages/customer/CheckoutPage.js.map +1 -1
  57. package/dist/atheletebridge/pages/customer/CustomerDashboard.js +430 -387
  58. package/dist/atheletebridge/pages/customer/CustomerDashboard.js.map +1 -1
  59. package/dist/atheletebridge/pages/customer/CustomerProfilePage.js +526 -490
  60. package/dist/atheletebridge/pages/customer/CustomerProfilePage.js.map +1 -1
  61. package/dist/atheletebridge/pages/customer/DirectServiceBookingPage.js +524 -512
  62. package/dist/atheletebridge/pages/customer/DirectServiceBookingPage.js.map +1 -1
  63. package/dist/atheletebridge/pages/customer/FavoritesPage.js +84 -75
  64. package/dist/atheletebridge/pages/customer/FavoritesPage.js.map +1 -1
  65. package/dist/atheletebridge/pages/customer/OrderHistoryPage.js +117 -108
  66. package/dist/atheletebridge/pages/customer/OrderHistoryPage.js.map +1 -1
  67. package/dist/atheletebridge/pages/customer/OrderTrackingPage.js +66 -61
  68. package/dist/atheletebridge/pages/customer/OrderTrackingPage.js.map +1 -1
  69. package/dist/atheletebridge/pages/customer/PaymentMethodsPage.js +81 -75
  70. package/dist/atheletebridge/pages/customer/PaymentMethodsPage.js.map +1 -1
  71. package/dist/atheletebridge/pages/customer/ReviewsPage.js +81 -72
  72. package/dist/atheletebridge/pages/customer/ReviewsPage.js.map +1 -1
  73. package/dist/atheletebridge/pages/customer/SavedAddressesPage.js +63 -55
  74. package/dist/atheletebridge/pages/customer/SavedAddressesPage.js.map +1 -1
  75. package/dist/atheletebridge/pages/investor/InvestmentDetailsPage.js +93 -61
  76. package/dist/atheletebridge/pages/investor/InvestmentDetailsPage.js.map +1 -1
  77. package/dist/atheletebridge/pages/investor/InvestmentOpportunitiesPage.js +90 -84
  78. package/dist/atheletebridge/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
  79. package/dist/atheletebridge/pages/investor/InvestorAnalyticsPage.js +60 -55
  80. package/dist/atheletebridge/pages/investor/InvestorAnalyticsPage.js.map +1 -1
  81. package/dist/atheletebridge/pages/investor/InvestorDashboard.js +345 -311
  82. package/dist/atheletebridge/pages/investor/InvestorDashboard.js.map +1 -1
  83. package/dist/atheletebridge/pages/investor/InvestorInvestmentsPage.js +38 -32
  84. package/dist/atheletebridge/pages/investor/InvestorInvestmentsPage.js.map +1 -1
  85. package/dist/atheletebridge/pages/investor/InvestorPortfolioPage.js +75 -67
  86. package/dist/atheletebridge/pages/investor/InvestorPortfolioPage.js.map +1 -1
  87. package/dist/atheletebridge/pages/investor/InvestorProfilePage.js +385 -381
  88. package/dist/atheletebridge/pages/investor/InvestorProfilePage.js.map +1 -1
  89. package/dist/atheletebridge/pages/worker/TaskDetailsPage.js +353 -319
  90. package/dist/atheletebridge/pages/worker/TaskDetailsPage.js.map +1 -1
  91. package/dist/atheletebridge/pages/worker/WorkerDashboard.js +353 -318
  92. package/dist/atheletebridge/pages/worker/WorkerDashboard.js.map +1 -1
  93. package/dist/atheletebridge/pages/worker/WorkerOrdersPage.js +134 -128
  94. package/dist/atheletebridge/pages/worker/WorkerOrdersPage.js.map +1 -1
  95. package/dist/atheletebridge/pages/worker/WorkerProfilePage.js +81 -77
  96. package/dist/atheletebridge/pages/worker/WorkerProfilePage.js.map +1 -1
  97. package/dist/atheletebridge/pages/worker/WorkerSchedulePage.js +352 -342
  98. package/dist/atheletebridge/pages/worker/WorkerSchedulePage.js.map +1 -1
  99. package/package.json +3 -3
@@ -6,8 +6,9 @@ import { formatCurrency as i, formatNumber as a } from "../../utils/formatters.j
6
6
  import { useCallback as o, useEffect as s, useMemo as c, useState as l } from "react";
7
7
  import { CheckCircle2 as u, Eye as d, FileText as f, IndianRupee as p, MapPin as m, Search as h, Star as g, X as _ } from "lucide-react";
8
8
  import { jsx as v, jsxs as y } from "react/jsx-runtime";
9
+ import { EmphasisPanel as b, PagePurpose as x } from "@burdenoff/fe-libs/ui";
9
10
  //#region src/atheletebridge/pages/investor/InvestmentOpportunitiesPage.tsx
10
- var b = [
11
+ var S = [
11
12
  {
12
13
  id: "opp-001",
13
14
  cartId: "cart-005",
@@ -216,13 +217,13 @@ var b = [
216
217
  }],
217
218
  status: "active"
218
219
  }
219
- ], x = {
220
+ ], C = {
220
221
  totalOpportunities: 24,
221
222
  averageReturns: 21.5,
222
223
  totalFunded: 156e5,
223
224
  successRate: 89
224
225
  };
225
- function S(e) {
226
+ function w(e) {
226
227
  switch (e) {
227
228
  case "low": return "bg-green-500/20 text-green-600 dark:text-green-400";
228
229
  case "medium": return "bg-yellow-500/20 text-yellow-600 dark:text-yellow-400";
@@ -230,7 +231,7 @@ function S(e) {
230
231
  default: return "bg-secondary text-secondary-foreground";
231
232
  }
232
233
  }
233
- function C(e) {
234
+ function T(e) {
234
235
  switch (e) {
235
236
  case "low": return "Low Risk";
236
237
  case "medium": return "Medium Risk";
@@ -238,11 +239,11 @@ function C(e) {
238
239
  default: return e;
239
240
  }
240
241
  }
241
- function w(e, t) {
242
+ function E(e, t) {
242
243
  return t > 0 ? Math.min(e / t * 100, 100) : 0;
243
244
  }
244
- function T() {
245
- let { navigateTo: T } = e(), [E, D] = l(!0), [O, k] = l(null), [A, j] = l(!1), [M, N] = l(""), [P, F] = l("idle"), [I, L] = l({
245
+ function D() {
246
+ let { navigateTo: D } = e(), [O, k] = l(!0), [A, j] = l(null), [M, N] = l(!1), [P, F] = l(""), [I, L] = l("idle"), [R, z] = l({
246
247
  searchQuery: "",
247
248
  category: "",
248
249
  riskLevel: "",
@@ -251,25 +252,25 @@ function T() {
251
252
  sortBy: "featured"
252
253
  });
253
254
  s(() => {
254
- let e = setTimeout(() => D(!1), 600);
255
+ let e = setTimeout(() => k(!1), 600);
255
256
  return () => clearTimeout(e);
256
257
  }, []);
257
- let R = o((e, t) => {
258
- L((n) => ({
258
+ let B = o((e, t) => {
259
+ z((n) => ({
259
260
  ...n,
260
261
  [e]: t
261
262
  }));
262
- }, []), z = c(() => {
263
- let e = [...b];
264
- if (I.searchQuery.trim()) {
265
- let t = I.searchQuery.toLowerCase();
263
+ }, []), V = c(() => {
264
+ let e = [...S];
265
+ if (R.searchQuery.trim()) {
266
+ let t = R.searchQuery.toLowerCase();
266
267
  e = e.filter((e) => e.cartName.toLowerCase().includes(t) || e.description.toLowerCase().includes(t) || e.category.toLowerCase().includes(t));
267
268
  }
268
- if (I.category && (e = e.filter((e) => e.category === I.category)), I.riskLevel && (e = e.filter((e) => e.riskLevel === I.riskLevel)), I.location && (e = e.filter((e) => e.location.includes(I.location))), I.minimumAmount) {
269
- let t = parseInt(I.minimumAmount, 10);
269
+ if (R.category && (e = e.filter((e) => e.category === R.category)), R.riskLevel && (e = e.filter((e) => e.riskLevel === R.riskLevel)), R.location && (e = e.filter((e) => e.location.includes(R.location))), R.minimumAmount) {
270
+ let t = parseInt(R.minimumAmount, 10);
270
271
  e = e.filter((e) => e.minimumInvestment <= t);
271
272
  }
272
- switch (I.sortBy) {
273
+ switch (R.sortBy) {
273
274
  case "returns":
274
275
  e.sort((e, t) => t.expectedReturns - e.expectedReturns);
275
276
  break;
@@ -285,30 +286,30 @@ function T() {
285
286
  default: break;
286
287
  }
287
288
  return e;
288
- }, [I]), B = o(() => {
289
- if (!O || !M) return;
290
- let e = parseInt(M, 10);
289
+ }, [R]), H = o(() => {
290
+ if (!A || !P) return;
291
+ let e = parseInt(P, 10);
291
292
  if (!isNaN(e)) {
292
- if (e < O.minimumInvestment) {
293
- F("error");
293
+ if (e < A.minimumInvestment) {
294
+ L("error");
294
295
  return;
295
296
  }
296
- if (e > O.maximumInvestment) {
297
- F("error");
297
+ if (e > A.maximumInvestment) {
298
+ L("error");
298
299
  return;
299
300
  }
300
- F("success"), setTimeout(() => {
301
- j(!1), N(""), F("idle"), T("/investor/portfolio");
301
+ L("success"), setTimeout(() => {
302
+ N(!1), F(""), L("idle"), D("/investor/portfolio");
302
303
  }, 1500);
303
304
  }
304
305
  }, [
305
- O,
306
- M,
307
- T
308
- ]), V = o((e) => {
309
- k(e), N(""), F("idle"), j(!0);
306
+ A,
307
+ P,
308
+ D
309
+ ]), U = o((e) => {
310
+ j(e), F(""), L("idle"), N(!0);
310
311
  }, []);
311
- return E ? /* @__PURE__ */ v(n, {
312
+ return O ? /* @__PURE__ */ v(n, {
312
313
  title: "Investment Opportunities",
313
314
  description: "Loading opportunities...",
314
315
  children: /* @__PURE__ */ v("div", {
@@ -326,10 +327,14 @@ function T() {
326
327
  description: "Discover and invest in growing local businesses",
327
328
  actions: /* @__PURE__ */ y("span", {
328
329
  className: "text-sm text-text-secondary",
329
- children: [z.length, " opportunities"]
330
+ children: [V.length, " opportunities"]
330
331
  }),
331
332
  children: [
332
- /* @__PURE__ */ y("div", {
333
+ /* @__PURE__ */ v(x, {
334
+ className: "mb-6",
335
+ children: "Find businesses worth backing. Browse vetted carts raising funds, compare expected returns, risk levels and funding progress, then filter and search to match your strategy. Tap any opportunity to dig into the details before you invest."
336
+ }),
337
+ /* @__PURE__ */ v(b, { children: /* @__PURE__ */ y("div", {
333
338
  className: "grid grid-cols-2 gap-3 sm:gap-4 lg:grid-cols-4",
334
339
  children: [
335
340
  /* @__PURE__ */ y("div", {
@@ -339,7 +344,7 @@ function T() {
339
344
  children: "Active Opportunities"
340
345
  }), /* @__PURE__ */ v("p", {
341
346
  className: "text-lg font-bold text-text-primary sm:text-2xl",
342
- children: x.totalOpportunities
347
+ children: C.totalOpportunities
343
348
  })]
344
349
  }),
345
350
  /* @__PURE__ */ y("div", {
@@ -349,7 +354,7 @@ function T() {
349
354
  children: "Average Returns"
350
355
  }), /* @__PURE__ */ y("p", {
351
356
  className: "text-lg font-bold text-green-600 dark:text-green-400 sm:text-2xl",
352
- children: [x.averageReturns, "%"]
357
+ children: [C.averageReturns, "%"]
353
358
  })]
354
359
  }),
355
360
  /* @__PURE__ */ y("div", {
@@ -359,7 +364,7 @@ function T() {
359
364
  children: "Total Funded"
360
365
  }), /* @__PURE__ */ v("p", {
361
366
  className: "text-lg font-bold text-text-primary sm:text-2xl",
362
- children: i(x.totalFunded, {
367
+ children: i(C.totalFunded, {
363
368
  minimumFractionDigits: 0,
364
369
  notation: "compact"
365
370
  })
@@ -372,11 +377,11 @@ function T() {
372
377
  children: "Success Rate"
373
378
  }), /* @__PURE__ */ y("p", {
374
379
  className: "text-lg font-bold text-text-primary sm:text-2xl",
375
- children: [x.successRate, "%"]
380
+ children: [C.successRate, "%"]
376
381
  })]
377
382
  })
378
383
  ]
379
- }),
384
+ }) }),
380
385
  /* @__PURE__ */ v("div", {
381
386
  className: "mt-6 rounded-lg border border-border-subtle bg-bg-surface p-4 sm:p-6",
382
387
  children: /* @__PURE__ */ y("div", {
@@ -387,14 +392,14 @@ function T() {
387
392
  children: [/* @__PURE__ */ v(h, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-secondary" }), /* @__PURE__ */ v("input", {
388
393
  type: "text",
389
394
  placeholder: "Search opportunities...",
390
- value: I.searchQuery,
391
- onChange: (e) => R("searchQuery", e.target.value),
395
+ value: R.searchQuery,
396
+ onChange: (e) => B("searchQuery", e.target.value),
392
397
  className: "w-full rounded-lg border border-border-subtle bg-bg-surface py-2 pl-10 pr-4 text-sm text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]"
393
398
  })]
394
399
  }),
395
400
  /* @__PURE__ */ y("select", {
396
- value: I.category,
397
- onChange: (e) => R("category", e.target.value),
401
+ value: R.category,
402
+ onChange: (e) => B("category", e.target.value),
398
403
  className: "rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]",
399
404
  children: [
400
405
  /* @__PURE__ */ v("option", {
@@ -424,8 +429,8 @@ function T() {
424
429
  ]
425
430
  }),
426
431
  /* @__PURE__ */ y("select", {
427
- value: I.riskLevel,
428
- onChange: (e) => R("riskLevel", e.target.value),
432
+ value: R.riskLevel,
433
+ onChange: (e) => B("riskLevel", e.target.value),
429
434
  className: "rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]",
430
435
  children: [
431
436
  /* @__PURE__ */ v("option", {
@@ -447,8 +452,8 @@ function T() {
447
452
  ]
448
453
  }),
449
454
  /* @__PURE__ */ y("select", {
450
- value: I.minimumAmount,
451
- onChange: (e) => R("minimumAmount", e.target.value),
455
+ value: R.minimumAmount,
456
+ onChange: (e) => B("minimumAmount", e.target.value),
452
457
  className: "rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]",
453
458
  children: [
454
459
  /* @__PURE__ */ v("option", {
@@ -474,8 +479,8 @@ function T() {
474
479
  ]
475
480
  }),
476
481
  /* @__PURE__ */ y("select", {
477
- value: I.location,
478
- onChange: (e) => R("location", e.target.value),
482
+ value: R.location,
483
+ onChange: (e) => B("location", e.target.value),
479
484
  className: "rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]",
480
485
  children: [
481
486
  /* @__PURE__ */ v("option", {
@@ -501,8 +506,8 @@ function T() {
501
506
  ]
502
507
  }),
503
508
  /* @__PURE__ */ y("select", {
504
- value: I.sortBy,
505
- onChange: (e) => R("sortBy", e.target.value),
509
+ value: R.sortBy,
510
+ onChange: (e) => B("sortBy", e.target.value),
506
511
  className: "rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]",
507
512
  children: [
508
513
  /* @__PURE__ */ v("option", {
@@ -530,15 +535,16 @@ function T() {
530
535
  ]
531
536
  })
532
537
  }),
533
- z.length === 0 ? /* @__PURE__ */ v("div", {
538
+ V.length === 0 ? /* @__PURE__ */ v("div", {
534
539
  className: "mt-6",
535
540
  children: /* @__PURE__ */ v(r, {
541
+ illustration: "empty-search",
536
542
  icon: /* @__PURE__ */ v(h, { className: "h-10 w-10" }),
537
543
  title: "No opportunities found",
538
544
  description: "Try adjusting your filters to find more opportunities",
539
545
  action: /* @__PURE__ */ v("button", {
540
546
  type: "button",
541
- onClick: () => L({
547
+ onClick: () => z({
542
548
  searchQuery: "",
543
549
  category: "",
544
550
  riskLevel: "",
@@ -552,8 +558,8 @@ function T() {
552
558
  })
553
559
  }) : /* @__PURE__ */ v("div", {
554
560
  className: "mt-6 grid grid-cols-1 gap-4 lg:grid-cols-2",
555
- children: z.map((e) => {
556
- let n = w(e.raisedAmount, e.targetAmount);
561
+ children: V.map((e) => {
562
+ let n = E(e.raisedAmount, e.targetAmount);
557
563
  return /* @__PURE__ */ y("div", {
558
564
  className: "rounded-lg border border-border-subtle bg-bg-surface shadow-sm hover:shadow-md transition-shadow",
559
565
  children: [/* @__PURE__ */ y("div", {
@@ -599,8 +605,8 @@ function T() {
599
605
  className: "text-xs text-text-secondary sm:text-sm",
600
606
  children: e.category
601
607
  }), /* @__PURE__ */ v("span", {
602
- className: t("rounded-full px-2 py-0.5 text-xs font-medium", S(e.riskLevel)),
603
- children: C(e.riskLevel)
608
+ className: t("rounded-full px-2 py-0.5 text-xs font-medium", w(e.riskLevel)),
609
+ children: T(e.riskLevel)
604
610
  })]
605
611
  })
606
612
  ]
@@ -744,13 +750,13 @@ function T() {
744
750
  className: "flex flex-col gap-2 sm:flex-row sm:gap-3",
745
751
  children: [/* @__PURE__ */ v("button", {
746
752
  type: "button",
747
- onClick: () => V(e),
753
+ onClick: () => U(e),
748
754
  disabled: e.status === "funded",
749
755
  className: t("flex-1 rounded-lg px-4 py-2.5 text-sm font-medium transition-colors", e.status === "funded" ? "cursor-not-allowed bg-bg-sunken text-text-secondary" : "bg-action-primary-bg text-action-primary-text hover:bg-action-primary-bg/90"),
750
756
  children: e.status === "funded" ? "Fully Funded" : "Invest Now"
751
757
  }), /* @__PURE__ */ y("button", {
752
758
  type: "button",
753
- onClick: () => T(`/investor/opportunities/${e.id}`),
759
+ onClick: () => D(`/investor/opportunities/${e.id}`),
754
760
  className: "flex flex-1 items-center justify-center gap-2 rounded-lg border border-border-subtle px-4 py-2.5 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
755
761
  children: [/* @__PURE__ */ v(d, { className: "h-4 w-4" }), "View Details"]
756
762
  })]
@@ -760,7 +766,7 @@ function T() {
760
766
  }, e.id);
761
767
  })
762
768
  }),
763
- A && O && /* @__PURE__ */ v("div", {
769
+ M && A && /* @__PURE__ */ v("div", {
764
770
  className: "fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4",
765
771
  children: /* @__PURE__ */ y("div", {
766
772
  className: "relative max-h-[90vh] w-full max-w-md overflow-y-auto rounded-lg border border-border-subtle bg-bg-surface p-4 sm:p-6",
@@ -768,16 +774,16 @@ function T() {
768
774
  /* @__PURE__ */ v("button", {
769
775
  type: "button",
770
776
  onClick: () => {
771
- j(!1), N(""), F("idle");
777
+ N(!1), F(""), L("idle");
772
778
  },
773
779
  className: "absolute right-3 top-3 rounded-lg p-1 text-text-secondary hover:bg-accent transition-colors",
774
780
  children: /* @__PURE__ */ v(_, { className: "h-5 w-5" })
775
781
  }),
776
782
  /* @__PURE__ */ y("h3", {
777
783
  className: "mb-4 text-base font-semibold text-text-primary sm:text-lg",
778
- children: ["Invest in ", O.cartName]
784
+ children: ["Invest in ", A.cartName]
779
785
  }),
780
- P === "success" ? /* @__PURE__ */ y("div", {
786
+ I === "success" ? /* @__PURE__ */ y("div", {
781
787
  className: "py-8 text-center",
782
788
  children: [
783
789
  /* @__PURE__ */ v(u, { className: "mx-auto mb-3 h-12 w-12 text-green-600 dark:text-green-400" }),
@@ -799,11 +805,11 @@ function T() {
799
805
  }), /* @__PURE__ */ y("p", {
800
806
  className: "text-sm font-medium text-text-primary sm:text-base",
801
807
  children: [
802
- i(O.minimumInvestment, { minimumFractionDigits: 0 }),
808
+ i(A.minimumInvestment, { minimumFractionDigits: 0 }),
803
809
  " ",
804
810
  "-",
805
811
  " ",
806
- i(O.maximumInvestment, { minimumFractionDigits: 0 })
812
+ i(A.maximumInvestment, { minimumFractionDigits: 0 })
807
813
  ]
808
814
  })] }),
809
815
  /* @__PURE__ */ y("div", { children: [
@@ -815,28 +821,28 @@ function T() {
815
821
  className: "relative",
816
822
  children: [/* @__PURE__ */ v(p, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-secondary" }), /* @__PURE__ */ v("input", {
817
823
  type: "number",
818
- value: M,
824
+ value: P,
819
825
  onChange: (e) => {
820
- N(e.target.value), F("idle");
826
+ F(e.target.value), L("idle");
821
827
  },
822
828
  placeholder: "Enter amount",
823
829
  className: "w-full rounded-lg border border-border-subtle bg-bg-surface py-2 pl-10 pr-4 text-sm text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]"
824
830
  })]
825
831
  }),
826
- P === "error" && /* @__PURE__ */ y("p", {
832
+ I === "error" && /* @__PURE__ */ y("p", {
827
833
  className: "mt-1 text-xs text-red-600 dark:text-red-400",
828
834
  children: [
829
835
  "Amount must be between",
830
836
  " ",
831
- i(O.minimumInvestment, { minimumFractionDigits: 0 }),
837
+ i(A.minimumInvestment, { minimumFractionDigits: 0 }),
832
838
  " ",
833
839
  "and",
834
840
  " ",
835
- i(O.maximumInvestment, { minimumFractionDigits: 0 })
841
+ i(A.maximumInvestment, { minimumFractionDigits: 0 })
836
842
  ]
837
843
  })
838
844
  ] }),
839
- M && !isNaN(parseInt(M, 10)) && parseInt(M, 10) > 0 && /* @__PURE__ */ y("div", {
845
+ P && !isNaN(parseInt(P, 10)) && parseInt(P, 10) > 0 && /* @__PURE__ */ y("div", {
840
846
  className: "rounded-lg border border-border-subtle bg-bg-sunken/50 p-3 sm:p-4",
841
847
  children: [/* @__PURE__ */ v("p", {
842
848
  className: "mb-2 text-xs text-text-secondary sm:text-sm",
@@ -851,7 +857,7 @@ function T() {
851
857
  children: "Investment:"
852
858
  }), /* @__PURE__ */ v("span", {
853
859
  className: "text-xs font-medium text-text-primary sm:text-sm",
854
- children: i(parseInt(M, 10), { minimumFractionDigits: 0 })
860
+ children: i(parseInt(P, 10), { minimumFractionDigits: 0 })
855
861
  })]
856
862
  }),
857
863
  /* @__PURE__ */ y("div", {
@@ -860,12 +866,12 @@ function T() {
860
866
  className: "text-xs text-text-primary sm:text-sm",
861
867
  children: [
862
868
  "Expected Return (",
863
- O.expectedReturns,
869
+ A.expectedReturns,
864
870
  "%):"
865
871
  ]
866
872
  }), /* @__PURE__ */ y("span", {
867
873
  className: "text-xs font-medium text-green-600 dark:text-green-400 sm:text-sm",
868
- children: ["+", i(parseInt(M, 10) * O.expectedReturns / 100, { minimumFractionDigits: 0 })]
874
+ children: ["+", i(parseInt(P, 10) * A.expectedReturns / 100, { minimumFractionDigits: 0 })]
869
875
  })]
870
876
  }),
871
877
  /* @__PURE__ */ y("div", {
@@ -875,7 +881,7 @@ function T() {
875
881
  children: "Total Value:"
876
882
  }), /* @__PURE__ */ v("span", {
877
883
  className: "text-xs font-bold text-text-primary sm:text-sm",
878
- children: i(parseInt(M, 10) * (1 + O.expectedReturns / 100), { minimumFractionDigits: 0 })
884
+ children: i(parseInt(P, 10) * (1 + A.expectedReturns / 100), { minimumFractionDigits: 0 })
879
885
  })]
880
886
  })
881
887
  ]
@@ -887,24 +893,24 @@ function T() {
887
893
  /* @__PURE__ */ y("p", { children: [
888
894
  "• Minimum lock-in period:",
889
895
  " ",
890
- O.investmentTerms.lockInPeriod,
896
+ A.investmentTerms.lockInPeriod,
891
897
  " months"
892
898
  ] }),
893
899
  /* @__PURE__ */ y("p", { children: [
894
900
  "• Dividend frequency:",
895
901
  " ",
896
- O.investmentTerms.dividendFrequency
902
+ A.investmentTerms.dividendFrequency
897
903
  ] }),
898
904
  /* @__PURE__ */ y("p", { children: [
899
905
  "• Your equity stake:",
900
906
  " ",
901
- ((parseInt(M, 10) || 0) / O.targetAmount * O.investmentTerms.equityOffered).toFixed(2),
907
+ ((parseInt(P, 10) || 0) / A.targetAmount * A.investmentTerms.equityOffered).toFixed(2),
902
908
  "%"
903
909
  ] }),
904
910
  /* @__PURE__ */ y("p", { children: [
905
911
  "• Exit options:",
906
912
  " ",
907
- O.investmentTerms.exitOptions.join(", ")
913
+ A.investmentTerms.exitOptions.join(", ")
908
914
  ] })
909
915
  ]
910
916
  }),
@@ -913,15 +919,15 @@ function T() {
913
919
  children: [/* @__PURE__ */ v("button", {
914
920
  type: "button",
915
921
  onClick: () => {
916
- j(!1), N(""), F("idle");
922
+ N(!1), F(""), L("idle");
917
923
  },
918
924
  className: "flex-1 rounded-lg border border-border-subtle px-4 py-2.5 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
919
925
  children: "Cancel"
920
926
  }), /* @__PURE__ */ v("button", {
921
927
  type: "button",
922
- onClick: B,
923
- disabled: !M || isNaN(parseInt(M, 10)) || parseInt(M, 10) < O.minimumInvestment,
924
- className: t("flex-1 rounded-lg px-4 py-2.5 text-sm font-medium transition-colors", !M || isNaN(parseInt(M, 10)) || parseInt(M, 10) < O.minimumInvestment ? "cursor-not-allowed bg-bg-sunken text-text-secondary" : "bg-action-primary-bg text-action-primary-text hover:bg-action-primary-bg/90"),
928
+ onClick: H,
929
+ disabled: !P || isNaN(parseInt(P, 10)) || parseInt(P, 10) < A.minimumInvestment,
930
+ className: t("flex-1 rounded-lg px-4 py-2.5 text-sm font-medium transition-colors", !P || isNaN(parseInt(P, 10)) || parseInt(P, 10) < A.minimumInvestment ? "cursor-not-allowed bg-bg-sunken text-text-secondary" : "bg-action-primary-bg text-action-primary-text hover:bg-action-primary-bg/90"),
925
931
  children: "Confirm Investment"
926
932
  })]
927
933
  })
@@ -934,6 +940,6 @@ function T() {
934
940
  });
935
941
  }
936
942
  //#endregion
937
- export { T as InvestmentOpportunitiesPage };
943
+ export { D as InvestmentOpportunitiesPage };
938
944
 
939
945
  //# sourceMappingURL=InvestmentOpportunitiesPage.js.map