@burdenoff/microfe-kadaikodi 2026.704.1 → 2026.704.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 (76) hide show
  1. package/dist/kadaikodi/hooks/useKadaikodiApi.js +77 -26
  2. package/dist/kadaikodi/hooks/useKadaikodiApi.js.map +1 -1
  3. package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js +341 -461
  4. package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js.map +1 -1
  5. package/dist/kadaikodi/pages/admin/AdminDashboard.js +115 -399
  6. package/dist/kadaikodi/pages/admin/AdminDashboard.js.map +1 -1
  7. package/dist/kadaikodi/pages/admin/AdminFinancialPage.js +140 -283
  8. package/dist/kadaikodi/pages/admin/AdminFinancialPage.js.map +1 -1
  9. package/dist/kadaikodi/pages/admin/AdminOrdersPage.js +282 -453
  10. package/dist/kadaikodi/pages/admin/AdminOrdersPage.js.map +1 -1
  11. package/dist/kadaikodi/pages/admin/AdminProfilePage.js +115 -242
  12. package/dist/kadaikodi/pages/admin/AdminProfilePage.js.map +1 -1
  13. package/dist/kadaikodi/pages/admin/AdminSettingsPage.js +2 -2
  14. package/dist/kadaikodi/pages/admin/AdminSettingsPage.js.map +1 -1
  15. package/dist/kadaikodi/pages/admin/CartManagementPage.js.map +1 -1
  16. package/dist/kadaikodi/pages/admin/UserManagementPage.js.map +1 -1
  17. package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js +503 -627
  18. package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
  19. package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.js +339 -282
  20. package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
  21. package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js +323 -422
  22. package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
  23. package/dist/kadaikodi/pages/cart-owner/CartOwnerProfilePage.js +374 -383
  24. package/dist/kadaikodi/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
  25. package/dist/kadaikodi/pages/cart-owner/CartServiceConfigPage.js +249 -208
  26. package/dist/kadaikodi/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
  27. package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js +1 -1
  28. package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js.map +1 -1
  29. package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js +1 -1
  30. package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js.map +1 -1
  31. package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.js +171 -627
  32. package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.js.map +1 -1
  33. package/dist/kadaikodi/pages/common/HelpSupportPage.js +331 -415
  34. package/dist/kadaikodi/pages/common/HelpSupportPage.js.map +1 -1
  35. package/dist/kadaikodi/pages/common/NotificationCenterPage.js +18 -670
  36. package/dist/kadaikodi/pages/common/NotificationCenterPage.js.map +1 -1
  37. package/dist/kadaikodi/pages/common/SettingsPage.js.map +1 -1
  38. package/dist/kadaikodi/pages/customer/CheckoutPage.js +4 -2
  39. package/dist/kadaikodi/pages/customer/CheckoutPage.js.map +1 -1
  40. package/dist/kadaikodi/pages/customer/CustomerDashboard.js +191 -369
  41. package/dist/kadaikodi/pages/customer/CustomerDashboard.js.map +1 -1
  42. package/dist/kadaikodi/pages/customer/CustomerProfilePage.js +233 -389
  43. package/dist/kadaikodi/pages/customer/CustomerProfilePage.js.map +1 -1
  44. package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.js.map +1 -1
  45. package/dist/kadaikodi/pages/customer/OrderHistoryPage.js.map +1 -1
  46. package/dist/kadaikodi/pages/customer/OrderTrackingPage.js.map +1 -1
  47. package/dist/kadaikodi/pages/customer/PaymentMethodsPage.js +76 -118
  48. package/dist/kadaikodi/pages/customer/PaymentMethodsPage.js.map +1 -1
  49. package/dist/kadaikodi/pages/customer/ReviewsPage.js.map +1 -1
  50. package/dist/kadaikodi/pages/customer/SavedAddressesPage.js +135 -213
  51. package/dist/kadaikodi/pages/customer/SavedAddressesPage.js.map +1 -1
  52. package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js +272 -774
  53. package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js.map +1 -1
  54. package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js +232 -343
  55. package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
  56. package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.js +112 -600
  57. package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.js.map +1 -1
  58. package/dist/kadaikodi/pages/investor/InvestorDashboard.js +127 -294
  59. package/dist/kadaikodi/pages/investor/InvestorDashboard.js.map +1 -1
  60. package/dist/kadaikodi/pages/investor/InvestorInvestmentsPage.js +204 -290
  61. package/dist/kadaikodi/pages/investor/InvestorInvestmentsPage.js.map +1 -1
  62. package/dist/kadaikodi/pages/investor/InvestorPortfolioPage.js +159 -500
  63. package/dist/kadaikodi/pages/investor/InvestorPortfolioPage.js.map +1 -1
  64. package/dist/kadaikodi/pages/investor/InvestorProfilePage.js +399 -487
  65. package/dist/kadaikodi/pages/investor/InvestorProfilePage.js.map +1 -1
  66. package/dist/kadaikodi/pages/worker/TaskDetailsPage.js +13 -13
  67. package/dist/kadaikodi/pages/worker/TaskDetailsPage.js.map +1 -1
  68. package/dist/kadaikodi/pages/worker/WorkerDashboard.js +192 -296
  69. package/dist/kadaikodi/pages/worker/WorkerDashboard.js.map +1 -1
  70. package/dist/kadaikodi/pages/worker/WorkerOrdersPage.js +245 -397
  71. package/dist/kadaikodi/pages/worker/WorkerOrdersPage.js.map +1 -1
  72. package/dist/kadaikodi/pages/worker/WorkerProfilePage.js +85 -117
  73. package/dist/kadaikodi/pages/worker/WorkerProfilePage.js.map +1 -1
  74. package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js +177 -395
  75. package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js.map +1 -1
  76. package/package.json +1 -1
@@ -3,13 +3,13 @@ import { cn as t } from "../../utils/cn.js";
3
3
  import { PageLayout as n } from "../../components/PageLayout.js";
4
4
  import { EmptyState as r } from "../../components/EmptyState.js";
5
5
  import { useInvest as i, useInvestmentOpportunities as a } from "../../hooks/useKadaikodiApi.js";
6
- import { formatCurrency as o, formatNumber as s } from "../../utils/formatters.js";
7
- import { useCallback as c, useMemo as l, useState as u } from "react";
8
- import { Briefcase as d, CheckCircle2 as f, Eye as p, FileText as m, IndianRupee as h, MapPin as g, Search as _, Star as v, X as y } from "lucide-react";
9
- import { jsx as b, jsxs as x } from "react/jsx-runtime";
10
- import { EmphasisPanel as S, PagePurpose as C } from "@burdenoff/fe-libs/ui";
6
+ import { formatCurrency as o } from "../../utils/formatters.js";
7
+ import { useCallback as s, useMemo as c, useState as l } from "react";
8
+ import { Briefcase as u, CheckCircle2 as d, Eye as f, FileText as p, IndianRupee as m, Search as h, X as g } from "lucide-react";
9
+ import { jsx as _, jsxs as v } from "react/jsx-runtime";
10
+ import { EmphasisPanel as y, PagePurpose as b } from "@burdenoff/fe-libs/ui";
11
11
  //#region src/kadaikodi/pages/investor/InvestmentOpportunitiesPage.tsx
12
- function w(e) {
12
+ function x(e) {
13
13
  let t = e.expiresAt ? Math.max(0, Math.ceil((new Date(e.expiresAt).getTime() - Date.now()) / 864e5)) : 0;
14
14
  return {
15
15
  id: e.id,
@@ -57,7 +57,7 @@ function w(e) {
57
57
  status: e.status
58
58
  };
59
59
  }
60
- function T(e) {
60
+ function S(e) {
61
61
  switch (e) {
62
62
  case "low": return "bg-status-success-bg-subtle text-status-success-text";
63
63
  case "medium": return "bg-status-warning-bg-subtle text-status-warning-text";
@@ -65,7 +65,7 @@ function T(e) {
65
65
  default: return "bg-bg-sunken text-text-secondary";
66
66
  }
67
67
  }
68
- function E(e) {
68
+ function C(e) {
69
69
  switch (e) {
70
70
  case "low": return "Low Risk";
71
71
  case "medium": return "Medium Risk";
@@ -73,41 +73,40 @@ function E(e) {
73
73
  default: return e;
74
74
  }
75
75
  }
76
- function D(e, t) {
76
+ function w(e, t) {
77
77
  return t > 0 ? Math.min(e / t * 100, 100) : 0;
78
78
  }
79
- function O() {
80
- let { navigateTo: O, currentUser: k } = e(), { data: A = [], isLoading: j } = a(), M = i(), [N, P] = u(null), [F, I] = u(!1), [L, R] = u(""), [z, B] = u("idle"), [V, H] = u({
79
+ function T() {
80
+ let { navigateTo: T, currentUser: E } = e(), { data: D = [], isLoading: O } = a(), k = i(), [A, j] = l(null), [M, N] = l(!1), [P, F] = l(""), [I, L] = l("idle"), [R, z] = l({
81
81
  searchQuery: "",
82
82
  category: "",
83
83
  riskLevel: "",
84
84
  minimumAmount: "",
85
- location: "",
86
85
  sortBy: "featured"
87
- }), U = l(() => A.map(w), [A]), W = l(() => {
88
- let e = U.length;
86
+ }), B = c(() => D.map(x), [D]), V = c(() => {
87
+ let e = B.length;
89
88
  return {
90
89
  totalOpportunities: e,
91
- averageReturns: e ? Number((U.reduce((e, t) => e + t.expectedReturns, 0) / e).toFixed(1)) : 0,
92
- totalFunded: U.reduce((e, t) => e + t.raisedAmount, 0),
93
- totalTarget: U.reduce((e, t) => e + t.targetAmount, 0)
90
+ averageReturns: e ? Number((B.reduce((e, t) => e + t.expectedReturns, 0) / e).toFixed(1)) : 0,
91
+ totalFunded: B.reduce((e, t) => e + t.raisedAmount, 0),
92
+ totalTarget: B.reduce((e, t) => e + t.targetAmount, 0)
94
93
  };
95
- }, [U]), G = c((e, t) => {
96
- H((n) => ({
94
+ }, [B]), H = s((e, t) => {
95
+ z((n) => ({
97
96
  ...n,
98
97
  [e]: t
99
98
  }));
100
- }, []), K = l(() => {
101
- let e = [...U];
102
- if (V.searchQuery.trim()) {
103
- let t = V.searchQuery.toLowerCase();
99
+ }, []), U = c(() => {
100
+ let e = [...B];
101
+ if (R.searchQuery.trim()) {
102
+ let t = R.searchQuery.toLowerCase();
104
103
  e = e.filter((e) => e.cartName.toLowerCase().includes(t) || e.description.toLowerCase().includes(t) || e.category.toLowerCase().includes(t));
105
104
  }
106
- if (V.category && (e = e.filter((e) => e.category === V.category)), V.riskLevel && (e = e.filter((e) => e.riskLevel === V.riskLevel)), V.location && (e = e.filter((e) => e.location.includes(V.location))), V.minimumAmount) {
107
- let t = parseInt(V.minimumAmount, 10);
105
+ if (R.category && (e = e.filter((e) => e.category === R.category)), R.riskLevel && (e = e.filter((e) => e.riskLevel === R.riskLevel)), R.minimumAmount) {
106
+ let t = parseInt(R.minimumAmount, 10);
108
107
  e = e.filter((e) => e.minimumInvestment <= t);
109
108
  }
110
- switch (V.sortBy) {
109
+ switch (R.sortBy) {
111
110
  case "returns":
112
111
  e.sort((e, t) => t.expectedReturns - e.expectedReturns);
113
112
  break;
@@ -123,112 +122,112 @@ function O() {
123
122
  default: break;
124
123
  }
125
124
  return e;
126
- }, [V, U]), q = c(() => {
127
- if (!N || !L) return;
128
- let e = parseInt(L, 10);
125
+ }, [R, B]), W = s(() => {
126
+ if (!A || !P) return;
127
+ let e = parseInt(P, 10);
129
128
  if (!isNaN(e)) {
130
- if (e < N.minimumInvestment) {
131
- B("error");
129
+ if (e < A.minimumInvestment) {
130
+ L("error");
132
131
  return;
133
132
  }
134
- if (e > N.maximumInvestment) {
135
- B("error");
133
+ if (e > A.maximumInvestment) {
134
+ L("error");
136
135
  return;
137
136
  }
138
- M.mutate({
137
+ k.mutate({
139
138
  amount: e,
140
- investorId: k?.id ?? "",
141
- opportunityId: N.id
139
+ investorId: E?.id ?? "",
140
+ opportunityId: A.id
142
141
  }, {
143
142
  onSuccess: () => {
144
- B("success"), setTimeout(() => {
145
- I(!1), R(""), B("idle"), O("/investor/portfolio");
143
+ L("success"), setTimeout(() => {
144
+ N(!1), F(""), L("idle"), T("/investor/portfolio");
146
145
  }, 1500);
147
146
  },
148
- onError: () => B("error")
147
+ onError: () => L("error")
149
148
  });
150
149
  }
151
150
  }, [
152
- N,
153
- L,
154
- O,
155
- M,
156
- k?.id
157
- ]), J = c((e) => {
158
- P(e), R(""), B("idle"), I(!0);
151
+ A,
152
+ P,
153
+ T,
154
+ k,
155
+ E?.id
156
+ ]), G = s((e) => {
157
+ j(e), F(""), L("idle"), N(!0);
159
158
  }, []);
160
- return j ? /* @__PURE__ */ b(n, {
159
+ return O ? /* @__PURE__ */ _(n, {
161
160
  title: "Investment Opportunities",
162
161
  description: "Loading opportunities...",
163
- children: /* @__PURE__ */ b("div", {
162
+ children: /* @__PURE__ */ _("div", {
164
163
  className: "flex items-center justify-center py-20",
165
- children: /* @__PURE__ */ x("div", {
164
+ children: /* @__PURE__ */ v("div", {
166
165
  className: "text-center",
167
- children: [/* @__PURE__ */ b("div", { className: "mx-auto mb-4 h-12 w-12 animate-spin rounded-full border-b-2 border-primary" }), /* @__PURE__ */ b("p", {
166
+ children: [/* @__PURE__ */ _("div", { className: "mx-auto mb-4 h-12 w-12 animate-spin rounded-full border-b-2 border-primary" }), /* @__PURE__ */ _("p", {
168
167
  className: "text-sm text-text-secondary",
169
168
  children: "Loading opportunities..."
170
169
  })]
171
170
  })
172
171
  })
173
- }) : /* @__PURE__ */ x(n, {
172
+ }) : /* @__PURE__ */ v(n, {
174
173
  title: "Investment Opportunities",
175
174
  description: "Discover and invest in growing local businesses",
176
- actions: /* @__PURE__ */ x("span", {
175
+ actions: /* @__PURE__ */ v("span", {
177
176
  className: "text-sm text-text-secondary",
178
- children: [K.length, " opportunities"]
177
+ children: [U.length, " opportunities"]
179
178
  }),
180
179
  children: [
181
- /* @__PURE__ */ b(C, {
180
+ /* @__PURE__ */ _(b, {
182
181
  className: "mb-6",
183
182
  children: "The deal flow — local carts and businesses looking for funding right now. Use this page to discover opportunities that fit your strategy, compare projected returns and equity on offer, filter by category or funding stage, and back the ones you believe in. The stats up top show how the platform is performing so you can gauge typical returns and success rates before you commit."
184
183
  }),
185
- /* @__PURE__ */ x(S, { children: [/* @__PURE__ */ b("h2", {
184
+ /* @__PURE__ */ v(y, { children: [/* @__PURE__ */ _("h2", {
186
185
  className: "mb-4 text-base font-semibold text-text-primary",
187
186
  children: "Platform Performance"
188
- }), /* @__PURE__ */ x("div", {
187
+ }), /* @__PURE__ */ v("div", {
189
188
  className: "grid grid-cols-2 gap-3 sm:gap-4 lg:grid-cols-4",
190
189
  children: [
191
- /* @__PURE__ */ x("div", {
190
+ /* @__PURE__ */ v("div", {
192
191
  className: "rounded-lg border border-border-subtle bg-bg-surface p-3 sm:p-4",
193
- children: [/* @__PURE__ */ b("p", {
192
+ children: [/* @__PURE__ */ _("p", {
194
193
  className: "text-xs text-text-secondary",
195
194
  children: "Active Opportunities"
196
- }), /* @__PURE__ */ b("p", {
195
+ }), /* @__PURE__ */ _("p", {
197
196
  className: "text-lg font-bold text-text-primary sm:text-2xl",
198
- children: W.totalOpportunities
197
+ children: V.totalOpportunities
199
198
  })]
200
199
  }),
201
- /* @__PURE__ */ x("div", {
200
+ /* @__PURE__ */ v("div", {
202
201
  className: "rounded-lg border border-border-subtle bg-bg-surface p-3 sm:p-4",
203
- children: [/* @__PURE__ */ b("p", {
202
+ children: [/* @__PURE__ */ _("p", {
204
203
  className: "text-xs text-text-secondary",
205
204
  children: "Average Returns"
206
- }), /* @__PURE__ */ x("p", {
205
+ }), /* @__PURE__ */ v("p", {
207
206
  className: "text-lg font-bold text-status-success-text sm:text-2xl",
208
- children: [W.averageReturns, "%"]
207
+ children: [V.averageReturns, "%"]
209
208
  })]
210
209
  }),
211
- /* @__PURE__ */ x("div", {
210
+ /* @__PURE__ */ v("div", {
212
211
  className: "rounded-lg border border-border-subtle bg-bg-surface p-3 sm:p-4",
213
- children: [/* @__PURE__ */ b("p", {
212
+ children: [/* @__PURE__ */ _("p", {
214
213
  className: "text-xs text-text-secondary",
215
214
  children: "Total Funded"
216
- }), /* @__PURE__ */ b("p", {
215
+ }), /* @__PURE__ */ _("p", {
217
216
  className: "text-lg font-bold text-text-primary sm:text-2xl",
218
- children: o(W.totalFunded, {
217
+ children: o(V.totalFunded, {
219
218
  minimumFractionDigits: 0,
220
219
  notation: "compact"
221
220
  })
222
221
  })]
223
222
  }),
224
- /* @__PURE__ */ x("div", {
223
+ /* @__PURE__ */ v("div", {
225
224
  className: "rounded-lg border border-border-subtle bg-bg-surface p-3 sm:p-4",
226
- children: [/* @__PURE__ */ b("p", {
225
+ children: [/* @__PURE__ */ _("p", {
227
226
  className: "text-xs text-text-secondary",
228
227
  children: "Total Target"
229
- }), /* @__PURE__ */ b("p", {
228
+ }), /* @__PURE__ */ _("p", {
230
229
  className: "text-lg font-bold text-text-primary sm:text-2xl",
231
- children: o(W.totalTarget, {
230
+ children: o(V.totalTarget, {
232
231
  minimumFractionDigits: 0,
233
232
  notation: "compact"
234
233
  })
@@ -236,151 +235,124 @@ function O() {
236
235
  })
237
236
  ]
238
237
  })] }),
239
- /* @__PURE__ */ b("div", {
238
+ /* @__PURE__ */ _("div", {
240
239
  className: "mt-6 rounded-lg border border-border-subtle bg-bg-surface p-4 sm:p-6",
241
- children: /* @__PURE__ */ x("div", {
242
- className: "grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-6",
240
+ children: /* @__PURE__ */ v("div", {
241
+ className: "grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-5",
243
242
  children: [
244
- /* @__PURE__ */ x("div", {
243
+ /* @__PURE__ */ v("div", {
245
244
  className: "relative sm:col-span-2 lg:col-span-1",
246
- children: [/* @__PURE__ */ b(_, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-secondary" }), /* @__PURE__ */ b("input", {
245
+ children: [/* @__PURE__ */ _(h, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-secondary" }), /* @__PURE__ */ _("input", {
247
246
  type: "text",
248
247
  placeholder: "Search opportunities...",
249
- value: V.searchQuery,
250
- onChange: (e) => G("searchQuery", e.target.value),
248
+ value: R.searchQuery,
249
+ onChange: (e) => H("searchQuery", e.target.value),
251
250
  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)]"
252
251
  })]
253
252
  }),
254
- /* @__PURE__ */ x("select", {
255
- value: V.category,
256
- onChange: (e) => G("category", e.target.value),
253
+ /* @__PURE__ */ v("select", {
254
+ value: R.category,
255
+ onChange: (e) => H("category", e.target.value),
257
256
  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)]",
258
257
  children: [
259
- /* @__PURE__ */ b("option", {
258
+ /* @__PURE__ */ _("option", {
260
259
  value: "",
261
260
  children: "All Categories"
262
261
  }),
263
- /* @__PURE__ */ b("option", {
262
+ /* @__PURE__ */ _("option", {
264
263
  value: "Healthy Food",
265
264
  children: "Healthy Food"
266
265
  }),
267
- /* @__PURE__ */ b("option", {
266
+ /* @__PURE__ */ _("option", {
268
267
  value: "Fast Food",
269
268
  children: "Fast Food"
270
269
  }),
271
- /* @__PURE__ */ b("option", {
270
+ /* @__PURE__ */ _("option", {
272
271
  value: "Fusion Food",
273
272
  children: "Fusion Food"
274
273
  }),
275
- /* @__PURE__ */ b("option", {
274
+ /* @__PURE__ */ _("option", {
276
275
  value: "Beverages",
277
276
  children: "Beverages"
278
277
  }),
279
- /* @__PURE__ */ b("option", {
278
+ /* @__PURE__ */ _("option", {
280
279
  value: "Street Food",
281
280
  children: "Street Food"
282
281
  })
283
282
  ]
284
283
  }),
285
- /* @__PURE__ */ x("select", {
286
- value: V.riskLevel,
287
- onChange: (e) => G("riskLevel", e.target.value),
284
+ /* @__PURE__ */ v("select", {
285
+ value: R.riskLevel,
286
+ onChange: (e) => H("riskLevel", e.target.value),
288
287
  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)]",
289
288
  children: [
290
- /* @__PURE__ */ b("option", {
289
+ /* @__PURE__ */ _("option", {
291
290
  value: "",
292
291
  children: "All Risk Levels"
293
292
  }),
294
- /* @__PURE__ */ b("option", {
293
+ /* @__PURE__ */ _("option", {
295
294
  value: "low",
296
295
  children: "Low Risk"
297
296
  }),
298
- /* @__PURE__ */ b("option", {
297
+ /* @__PURE__ */ _("option", {
299
298
  value: "medium",
300
299
  children: "Medium Risk"
301
300
  }),
302
- /* @__PURE__ */ b("option", {
301
+ /* @__PURE__ */ _("option", {
303
302
  value: "high",
304
303
  children: "High Risk"
305
304
  })
306
305
  ]
307
306
  }),
308
- /* @__PURE__ */ x("select", {
309
- value: V.minimumAmount,
310
- onChange: (e) => G("minimumAmount", e.target.value),
307
+ /* @__PURE__ */ v("select", {
308
+ value: R.minimumAmount,
309
+ onChange: (e) => H("minimumAmount", e.target.value),
311
310
  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)]",
312
311
  children: [
313
- /* @__PURE__ */ b("option", {
312
+ /* @__PURE__ */ _("option", {
314
313
  value: "",
315
314
  children: "Any Amount"
316
315
  }),
317
- /* @__PURE__ */ b("option", {
316
+ /* @__PURE__ */ _("option", {
318
317
  value: "15000",
319
318
  children: "Under ₹15,000"
320
319
  }),
321
- /* @__PURE__ */ b("option", {
320
+ /* @__PURE__ */ _("option", {
322
321
  value: "25000",
323
322
  children: "Under ₹25,000"
324
323
  }),
325
- /* @__PURE__ */ b("option", {
324
+ /* @__PURE__ */ _("option", {
326
325
  value: "50000",
327
326
  children: "Under ₹50,000"
328
327
  }),
329
- /* @__PURE__ */ b("option", {
328
+ /* @__PURE__ */ _("option", {
330
329
  value: "100000",
331
330
  children: "Under ₹1,00,000"
332
331
  })
333
332
  ]
334
333
  }),
335
- /* @__PURE__ */ x("select", {
336
- value: V.location,
337
- onChange: (e) => G("location", e.target.value),
338
- 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)]",
339
- children: [
340
- /* @__PURE__ */ b("option", {
341
- value: "",
342
- children: "All Locations"
343
- }),
344
- /* @__PURE__ */ b("option", {
345
- value: "Whitefield",
346
- children: "Whitefield"
347
- }),
348
- /* @__PURE__ */ b("option", {
349
- value: "Koramangala",
350
- children: "Koramangala"
351
- }),
352
- /* @__PURE__ */ b("option", {
353
- value: "Indiranagar",
354
- children: "Indiranagar"
355
- }),
356
- /* @__PURE__ */ b("option", {
357
- value: "Electronic City",
358
- children: "Electronic City"
359
- })
360
- ]
361
- }),
362
- /* @__PURE__ */ x("select", {
363
- value: V.sortBy,
364
- onChange: (e) => G("sortBy", e.target.value),
334
+ /* @__PURE__ */ v("select", {
335
+ value: R.sortBy,
336
+ onChange: (e) => H("sortBy", e.target.value),
365
337
  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)]",
366
338
  children: [
367
- /* @__PURE__ */ b("option", {
339
+ /* @__PURE__ */ _("option", {
368
340
  value: "featured",
369
341
  children: "Featured"
370
342
  }),
371
- /* @__PURE__ */ b("option", {
343
+ /* @__PURE__ */ _("option", {
372
344
  value: "returns",
373
345
  children: "Highest Returns"
374
346
  }),
375
- /* @__PURE__ */ b("option", {
347
+ /* @__PURE__ */ _("option", {
376
348
  value: "funding",
377
349
  children: "Most Funded"
378
350
  }),
379
- /* @__PURE__ */ b("option", {
351
+ /* @__PURE__ */ _("option", {
380
352
  value: "closing",
381
353
  children: "Closing Soon"
382
354
  }),
383
- /* @__PURE__ */ b("option", {
355
+ /* @__PURE__ */ _("option", {
384
356
  value: "minimum",
385
357
  children: "Lowest Minimum"
386
358
  })
@@ -389,224 +361,155 @@ function O() {
389
361
  ]
390
362
  })
391
363
  }),
392
- K.length === 0 ? /* @__PURE__ */ b("div", {
364
+ U.length === 0 ? /* @__PURE__ */ _("div", {
393
365
  className: "mt-6",
394
- children: /* @__PURE__ */ b(r, {
395
- icon: /* @__PURE__ */ b(_, { className: "h-10 w-10" }),
366
+ children: /* @__PURE__ */ _(r, {
367
+ icon: /* @__PURE__ */ _(h, { className: "h-10 w-10" }),
396
368
  title: "No opportunities found",
397
369
  description: "Try adjusting your filters to find more opportunities",
398
- action: /* @__PURE__ */ b("button", {
370
+ action: /* @__PURE__ */ _("button", {
399
371
  type: "button",
400
- onClick: () => H({
372
+ onClick: () => z({
401
373
  searchQuery: "",
402
374
  category: "",
403
375
  riskLevel: "",
404
376
  minimumAmount: "",
405
- location: "",
406
377
  sortBy: "featured"
407
378
  }),
408
379
  className: "rounded-lg bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:bg-action-primary-bg/90 transition-colors",
409
380
  children: "Clear Filters"
410
381
  })
411
382
  })
412
- }) : /* @__PURE__ */ b("div", {
383
+ }) : /* @__PURE__ */ _("div", {
413
384
  className: "mt-6 grid grid-cols-1 gap-4 lg:grid-cols-2",
414
- children: K.map((e) => {
415
- let n = D(e.raisedAmount, e.targetAmount);
416
- return /* @__PURE__ */ x("div", {
385
+ children: U.map((e) => {
386
+ let n = w(e.raisedAmount, e.targetAmount);
387
+ return /* @__PURE__ */ v("div", {
417
388
  className: "rounded-lg border border-border-subtle bg-bg-surface shadow-sm hover:shadow-md transition-shadow",
418
- children: [/* @__PURE__ */ x("div", {
389
+ children: [/* @__PURE__ */ v("div", {
419
390
  className: "relative",
420
391
  children: [
421
- /* @__PURE__ */ b("div", {
392
+ /* @__PURE__ */ _("div", {
422
393
  className: "flex h-40 w-full items-center justify-center overflow-hidden rounded-t-lg bg-bg-sunken sm:h-48",
423
- children: /* @__PURE__ */ b(d, { className: "h-10 w-10 text-text-secondary" })
394
+ children: /* @__PURE__ */ _(u, { className: "h-10 w-10 text-text-secondary" })
424
395
  }),
425
- e.status === "funded" && /* @__PURE__ */ b("div", {
396
+ e.status === "funded" && /* @__PURE__ */ _("div", {
426
397
  className: "absolute right-2 top-2 rounded-full bg-status-success-text px-2 py-1 text-xs font-medium text-white sm:right-4 sm:top-4 sm:px-3",
427
398
  children: "Fully Funded"
428
399
  }),
429
- e.daysLeft > 0 && e.daysLeft <= 7 && /* @__PURE__ */ x("div", {
400
+ e.daysLeft > 0 && e.daysLeft <= 7 && /* @__PURE__ */ v("div", {
430
401
  className: "absolute left-2 top-2 rounded-full bg-status-error-text px-2 py-1 text-xs font-medium text-white sm:left-4 sm:top-4 sm:px-3",
431
402
  children: [e.daysLeft, " days left"]
432
403
  })
433
404
  ]
434
- }), /* @__PURE__ */ x("div", {
405
+ }), /* @__PURE__ */ v("div", {
435
406
  className: "p-4 sm:p-6",
436
407
  children: [
437
- /* @__PURE__ */ x("div", {
408
+ /* @__PURE__ */ v("div", {
438
409
  className: "mb-4 flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",
439
- children: [/* @__PURE__ */ x("div", {
410
+ children: [/* @__PURE__ */ v("div", {
440
411
  className: "flex-1",
441
412
  children: [
442
- /* @__PURE__ */ b("h3", {
413
+ /* @__PURE__ */ _("h3", {
443
414
  className: "text-base font-semibold text-text-primary sm:text-xl",
444
415
  children: e.cartName
445
416
  }),
446
- /* @__PURE__ */ x("p", {
417
+ /* @__PURE__ */ v("p", {
447
418
  className: "text-xs text-text-secondary sm:text-sm",
448
419
  children: ["by ", e.cartOwner]
449
420
  }),
450
- /* @__PURE__ */ x("div", {
421
+ /* @__PURE__ */ v("div", {
451
422
  className: "mt-2 flex flex-wrap items-center gap-2",
452
- children: [/* @__PURE__ */ b("span", {
423
+ children: [/* @__PURE__ */ _("span", {
453
424
  className: "text-xs text-text-secondary sm:text-sm",
454
425
  children: e.category
455
- }), /* @__PURE__ */ b("span", {
456
- className: t("rounded-full px-2 py-0.5 text-xs font-medium", T(e.riskLevel)),
457
- children: E(e.riskLevel)
426
+ }), /* @__PURE__ */ _("span", {
427
+ className: t("rounded-full px-2 py-0.5 text-xs font-medium", S(e.riskLevel)),
428
+ children: C(e.riskLevel)
458
429
  })]
459
430
  })
460
431
  ]
461
- }), /* @__PURE__ */ x("div", {
432
+ }), /* @__PURE__ */ v("div", {
462
433
  className: "text-left sm:text-right",
463
- children: [/* @__PURE__ */ x("p", {
434
+ children: [/* @__PURE__ */ v("p", {
464
435
  className: "text-xl font-bold text-status-success-text sm:text-2xl",
465
436
  children: [e.expectedReturns, "%"]
466
- }), /* @__PURE__ */ b("p", {
437
+ }), /* @__PURE__ */ _("p", {
467
438
  className: "text-xs text-text-secondary",
468
439
  children: "Expected Returns"
469
440
  })]
470
441
  })]
471
442
  }),
472
- /* @__PURE__ */ b("p", {
443
+ /* @__PURE__ */ _("p", {
473
444
  className: "mb-4 text-sm leading-relaxed text-text-secondary line-clamp-2",
474
445
  children: e.description
475
446
  }),
476
- /* @__PURE__ */ x("div", {
447
+ /* @__PURE__ */ v("div", {
477
448
  className: "mb-4",
478
449
  children: [
479
- /* @__PURE__ */ x("div", {
450
+ /* @__PURE__ */ v("div", {
480
451
  className: "mb-1 flex justify-between text-xs sm:text-sm",
481
- children: [/* @__PURE__ */ x("span", {
452
+ children: [/* @__PURE__ */ v("span", {
482
453
  className: "font-medium text-text-primary",
483
454
  children: [
484
455
  o(e.raisedAmount, { minimumFractionDigits: 0 }),
485
456
  " ",
486
457
  "raised"
487
458
  ]
488
- }), /* @__PURE__ */ x("span", {
459
+ }), /* @__PURE__ */ v("span", {
489
460
  className: "text-text-secondary",
490
461
  children: ["of ", o(e.targetAmount, { minimumFractionDigits: 0 })]
491
462
  })]
492
463
  }),
493
- /* @__PURE__ */ b("div", {
464
+ /* @__PURE__ */ _("div", {
494
465
  className: "h-2 w-full overflow-hidden rounded-full bg-bg-sunken",
495
- children: /* @__PURE__ */ b("div", {
466
+ children: /* @__PURE__ */ _("div", {
496
467
  className: "h-full rounded-full bg-action-primary-bg transition-all duration-300",
497
468
  style: { width: `${n}%` }
498
469
  })
499
470
  }),
500
- /* @__PURE__ */ x("div", {
471
+ /* @__PURE__ */ v("div", {
501
472
  className: "mt-1 flex justify-between text-xs text-text-secondary",
502
- children: [/* @__PURE__ */ x("span", { children: [e.investorCount, " investors"] }), /* @__PURE__ */ x("span", { children: [n.toFixed(0), "% funded"] })]
473
+ children: [/* @__PURE__ */ v("span", { children: [e.investorCount, " investors"] }), /* @__PURE__ */ v("span", { children: [n.toFixed(0), "% funded"] })]
503
474
  })
504
475
  ]
505
476
  }),
506
- /* @__PURE__ */ x("div", {
507
- className: "mb-4 grid grid-cols-3 gap-2 text-center sm:gap-4",
508
- children: [
509
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
510
- className: "text-sm font-bold text-text-primary sm:text-lg",
511
- children: o(e.minimumInvestment, { minimumFractionDigits: 0 })
512
- }), /* @__PURE__ */ b("p", {
513
- className: "text-xs text-text-secondary",
514
- children: "Min Investment"
515
- })] }),
516
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ x("p", {
517
- className: "text-sm font-bold text-text-primary sm:text-lg",
518
- children: [e.paybackPeriod, " mo"]
519
- }), /* @__PURE__ */ b("p", {
520
- className: "text-xs text-text-secondary",
521
- children: "Payback Period"
522
- })] }),
523
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ x("div", {
524
- className: "flex items-center justify-center gap-1",
525
- children: [/* @__PURE__ */ b(v, { className: "h-3.5 w-3.5 fill-status-warning-text text-status-warning-text" }), /* @__PURE__ */ b("p", {
526
- className: "text-sm font-bold text-text-primary sm:text-lg",
527
- children: e.businessMetrics.rating
528
- })]
529
- }), /* @__PURE__ */ b("p", {
530
- className: "text-xs text-text-secondary",
531
- children: "Rating"
532
- })] })
533
- ]
534
- }),
535
- /* @__PURE__ */ x("div", {
536
- className: "mb-4 border-t border-border-subtle pt-3 sm:pt-4",
537
- children: [/* @__PURE__ */ b("p", {
538
- className: "mb-2 text-xs font-medium text-text-secondary sm:text-sm",
539
- children: "Business Performance"
540
- }), /* @__PURE__ */ x("div", {
541
- className: "grid grid-cols-1 gap-2 text-xs sm:grid-cols-2 sm:text-sm",
542
- children: [
543
- /* @__PURE__ */ x("div", {
544
- className: "flex justify-between",
545
- children: [/* @__PURE__ */ b("span", {
546
- className: "text-text-secondary",
547
- children: "Monthly Revenue:"
548
- }), /* @__PURE__ */ b("span", {
549
- className: "font-medium text-text-primary",
550
- children: o(e.businessMetrics.monthlyRevenue, { minimumFractionDigits: 0 })
551
- })]
552
- }),
553
- /* @__PURE__ */ x("div", {
554
- className: "flex justify-between",
555
- children: [/* @__PURE__ */ b("span", {
556
- className: "text-text-secondary",
557
- children: "Gross Margin:"
558
- }), /* @__PURE__ */ x("span", {
559
- className: "font-medium text-text-primary",
560
- children: [e.financials.grossMargin, "%"]
561
- })]
562
- }),
563
- /* @__PURE__ */ x("div", {
564
- className: "flex justify-between",
565
- children: [/* @__PURE__ */ b("span", {
566
- className: "text-text-secondary",
567
- children: "Monthly Orders:"
568
- }), /* @__PURE__ */ b("span", {
569
- className: "font-medium text-text-primary",
570
- children: s(e.businessMetrics.monthlyOrders)
571
- })]
572
- }),
573
- /* @__PURE__ */ x("div", {
574
- className: "flex justify-between",
575
- children: [/* @__PURE__ */ b("span", {
576
- className: "text-text-secondary",
577
- children: "Net Margin:"
578
- }), /* @__PURE__ */ x("span", {
579
- className: "font-medium text-text-primary",
580
- children: [e.financials.netMargin, "%"]
581
- })]
582
- })
583
- ]
584
- })]
585
- }),
586
- /* @__PURE__ */ b("div", {
477
+ /* @__PURE__ */ v("div", {
478
+ className: "mb-4 grid grid-cols-2 gap-2 text-center sm:gap-4",
479
+ children: [/* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("p", {
480
+ className: "text-sm font-bold text-text-primary sm:text-lg",
481
+ children: o(e.minimumInvestment, { minimumFractionDigits: 0 })
482
+ }), /* @__PURE__ */ _("p", {
483
+ className: "text-xs text-text-secondary",
484
+ children: "Min Investment"
485
+ })] }), /* @__PURE__ */ v("div", { children: [/* @__PURE__ */ v("p", {
486
+ className: "text-sm font-bold text-text-primary sm:text-lg",
487
+ children: [e.paybackPeriod, " mo"]
488
+ }), /* @__PURE__ */ _("p", {
489
+ className: "text-xs text-text-secondary",
490
+ children: "Lock-in Period"
491
+ })] })]
492
+ }),
493
+ e.documents.length > 0 && /* @__PURE__ */ _("div", {
587
494
  className: "mb-4 border-t border-border-subtle pt-3",
588
- children: /* @__PURE__ */ x("div", {
495
+ children: /* @__PURE__ */ v("div", {
589
496
  className: "flex items-center gap-1.5 text-xs text-text-secondary",
590
- children: [/* @__PURE__ */ b(m, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ x("span", { children: [e.documents.length, " documents available"] })]
497
+ children: [/* @__PURE__ */ _(p, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ v("span", { children: [e.documents.length, " documents available"] })]
591
498
  })
592
499
  }),
593
- /* @__PURE__ */ x("div", {
594
- className: "mb-4 flex items-center gap-1.5 text-xs text-text-secondary",
595
- children: [/* @__PURE__ */ b(g, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ b("span", { children: e.location })]
596
- }),
597
- /* @__PURE__ */ x("div", {
500
+ /* @__PURE__ */ v("div", {
598
501
  className: "flex flex-col gap-2 sm:flex-row sm:gap-3",
599
- children: [/* @__PURE__ */ b("button", {
502
+ children: [/* @__PURE__ */ _("button", {
600
503
  type: "button",
601
- onClick: () => J(e),
504
+ onClick: () => G(e),
602
505
  disabled: e.status === "funded",
603
506
  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"),
604
507
  children: e.status === "funded" ? "Fully Funded" : "Invest Now"
605
- }), /* @__PURE__ */ x("button", {
508
+ }), /* @__PURE__ */ v("button", {
606
509
  type: "button",
607
- onClick: () => O(`/investor/opportunities/${e.id}`),
510
+ onClick: () => T(`/investor/opportunity/${e.id}`),
608
511
  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",
609
- children: [/* @__PURE__ */ b(p, { className: "h-4 w-4" }), "View Details"]
512
+ children: [/* @__PURE__ */ _(f, { className: "h-4 w-4" }), "View Details"]
610
513
  })]
611
514
  })
612
515
  ]
@@ -614,168 +517,154 @@ function O() {
614
517
  }, e.id);
615
518
  })
616
519
  }),
617
- F && N && /* @__PURE__ */ b("div", {
520
+ M && A && /* @__PURE__ */ _("div", {
618
521
  className: "fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4",
619
- children: /* @__PURE__ */ x("div", {
522
+ children: /* @__PURE__ */ v("div", {
620
523
  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",
621
524
  children: [
622
- /* @__PURE__ */ b("button", {
525
+ /* @__PURE__ */ _("button", {
623
526
  type: "button",
624
527
  onClick: () => {
625
- I(!1), R(""), B("idle");
528
+ N(!1), F(""), L("idle");
626
529
  },
627
530
  className: "absolute right-3 top-3 rounded-lg p-1 text-text-secondary hover:bg-accent transition-colors",
628
- children: /* @__PURE__ */ b(y, { className: "h-5 w-5" })
531
+ children: /* @__PURE__ */ _(g, { className: "h-5 w-5" })
629
532
  }),
630
- /* @__PURE__ */ x("h3", {
533
+ /* @__PURE__ */ v("h3", {
631
534
  className: "mb-4 text-base font-semibold text-text-primary sm:text-lg",
632
- children: ["Invest in ", N.cartName]
535
+ children: ["Invest in ", A.cartName]
633
536
  }),
634
- z === "success" ? /* @__PURE__ */ x("div", {
537
+ I === "success" ? /* @__PURE__ */ v("div", {
635
538
  className: "py-8 text-center",
636
539
  children: [
637
- /* @__PURE__ */ b(f, { className: "mx-auto mb-3 h-12 w-12 text-status-success-text" }),
638
- /* @__PURE__ */ b("p", {
540
+ /* @__PURE__ */ _(d, { className: "mx-auto mb-3 h-12 w-12 text-status-success-text" }),
541
+ /* @__PURE__ */ _("p", {
639
542
  className: "text-sm font-medium text-text-primary",
640
543
  children: "Investment successful!"
641
544
  }),
642
- /* @__PURE__ */ b("p", {
545
+ /* @__PURE__ */ _("p", {
643
546
  className: "mt-1 text-xs text-text-secondary",
644
547
  children: "Redirecting to your portfolio..."
645
548
  })
646
549
  ]
647
- }) : /* @__PURE__ */ x("div", {
550
+ }) : /* @__PURE__ */ v("div", {
648
551
  className: "space-y-4",
649
552
  children: [
650
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
553
+ /* @__PURE__ */ v("div", { children: [/* @__PURE__ */ _("p", {
651
554
  className: "mb-1 text-xs text-text-secondary sm:text-sm",
652
555
  children: "Investment Range"
653
- }), /* @__PURE__ */ x("p", {
556
+ }), /* @__PURE__ */ v("p", {
654
557
  className: "text-sm font-medium text-text-primary sm:text-base",
655
558
  children: [
656
- o(N.minimumInvestment, { minimumFractionDigits: 0 }),
559
+ o(A.minimumInvestment, { minimumFractionDigits: 0 }),
657
560
  " ",
658
561
  "-",
659
562
  " ",
660
- o(N.maximumInvestment, { minimumFractionDigits: 0 })
563
+ o(A.maximumInvestment, { minimumFractionDigits: 0 })
661
564
  ]
662
565
  })] }),
663
- /* @__PURE__ */ x("div", { children: [
664
- /* @__PURE__ */ b("label", {
566
+ /* @__PURE__ */ v("div", { children: [
567
+ /* @__PURE__ */ _("label", {
665
568
  className: "mb-1 block text-xs font-medium text-text-primary sm:text-sm",
666
569
  children: "Investment Amount"
667
570
  }),
668
- /* @__PURE__ */ x("div", {
571
+ /* @__PURE__ */ v("div", {
669
572
  className: "relative",
670
- children: [/* @__PURE__ */ b(h, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-secondary" }), /* @__PURE__ */ b("input", {
573
+ children: [/* @__PURE__ */ _(m, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-secondary" }), /* @__PURE__ */ _("input", {
671
574
  type: "number",
672
- value: L,
575
+ value: P,
673
576
  onChange: (e) => {
674
- R(e.target.value), B("idle");
577
+ F(e.target.value), L("idle");
675
578
  },
676
579
  placeholder: "Enter amount",
677
580
  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)]"
678
581
  })]
679
582
  }),
680
- z === "error" && /* @__PURE__ */ x("p", {
583
+ I === "error" && /* @__PURE__ */ v("p", {
681
584
  className: "mt-1 text-xs text-status-error-text",
682
585
  children: [
683
586
  "Amount must be between",
684
587
  " ",
685
- o(N.minimumInvestment, { minimumFractionDigits: 0 }),
588
+ o(A.minimumInvestment, { minimumFractionDigits: 0 }),
686
589
  " ",
687
590
  "and",
688
591
  " ",
689
- o(N.maximumInvestment, { minimumFractionDigits: 0 })
592
+ o(A.maximumInvestment, { minimumFractionDigits: 0 })
690
593
  ]
691
594
  })
692
595
  ] }),
693
- L && !isNaN(parseInt(L, 10)) && parseInt(L, 10) > 0 && /* @__PURE__ */ x("div", {
596
+ P && !isNaN(parseInt(P, 10)) && parseInt(P, 10) > 0 && /* @__PURE__ */ v("div", {
694
597
  className: "rounded-lg border border-border-subtle bg-bg-sunken/50 p-3 sm:p-4",
695
- children: [/* @__PURE__ */ b("p", {
598
+ children: [/* @__PURE__ */ _("p", {
696
599
  className: "mb-2 text-xs text-text-secondary sm:text-sm",
697
600
  children: "Expected Returns"
698
- }), /* @__PURE__ */ x("div", {
601
+ }), /* @__PURE__ */ v("div", {
699
602
  className: "space-y-1.5",
700
603
  children: [
701
- /* @__PURE__ */ x("div", {
604
+ /* @__PURE__ */ v("div", {
702
605
  className: "flex justify-between",
703
- children: [/* @__PURE__ */ b("span", {
606
+ children: [/* @__PURE__ */ _("span", {
704
607
  className: "text-xs text-text-primary sm:text-sm",
705
608
  children: "Investment:"
706
- }), /* @__PURE__ */ b("span", {
609
+ }), /* @__PURE__ */ _("span", {
707
610
  className: "text-xs font-medium text-text-primary sm:text-sm",
708
- children: o(parseInt(L, 10), { minimumFractionDigits: 0 })
611
+ children: o(parseInt(P, 10), { minimumFractionDigits: 0 })
709
612
  })]
710
613
  }),
711
- /* @__PURE__ */ x("div", {
614
+ /* @__PURE__ */ v("div", {
712
615
  className: "flex justify-between",
713
- children: [/* @__PURE__ */ x("span", {
616
+ children: [/* @__PURE__ */ v("span", {
714
617
  className: "text-xs text-text-primary sm:text-sm",
715
618
  children: [
716
619
  "Expected Return (",
717
- N.expectedReturns,
620
+ A.expectedReturns,
718
621
  "%):"
719
622
  ]
720
- }), /* @__PURE__ */ x("span", {
623
+ }), /* @__PURE__ */ v("span", {
721
624
  className: "text-xs font-medium text-status-success-text sm:text-sm",
722
- children: ["+", o(parseInt(L, 10) * N.expectedReturns / 100, { minimumFractionDigits: 0 })]
625
+ children: ["+", o(parseInt(P, 10) * A.expectedReturns / 100, { minimumFractionDigits: 0 })]
723
626
  })]
724
627
  }),
725
- /* @__PURE__ */ x("div", {
628
+ /* @__PURE__ */ v("div", {
726
629
  className: "flex justify-between border-t border-border-subtle pt-2",
727
- children: [/* @__PURE__ */ b("span", {
630
+ children: [/* @__PURE__ */ _("span", {
728
631
  className: "text-xs font-medium text-text-primary sm:text-sm",
729
632
  children: "Total Value:"
730
- }), /* @__PURE__ */ b("span", {
633
+ }), /* @__PURE__ */ _("span", {
731
634
  className: "text-xs font-bold text-text-primary sm:text-sm",
732
- children: o(parseInt(L, 10) * (1 + N.expectedReturns / 100), { minimumFractionDigits: 0 })
635
+ children: o(parseInt(P, 10) * (1 + A.expectedReturns / 100), { minimumFractionDigits: 0 })
733
636
  })]
734
637
  })
735
638
  ]
736
639
  })]
737
640
  }),
738
- /* @__PURE__ */ x("div", {
641
+ /* @__PURE__ */ v("div", {
739
642
  className: "space-y-1 text-xs text-text-secondary sm:text-sm",
740
- children: [
741
- /* @__PURE__ */ x("p", { children: [
742
- "• Minimum lock-in period:",
743
- " ",
744
- N.investmentTerms.lockInPeriod,
745
- " months"
746
- ] }),
747
- /* @__PURE__ */ x("p", { children: [
748
- "• Dividend frequency:",
749
- " ",
750
- N.investmentTerms.dividendFrequency
751
- ] }),
752
- /* @__PURE__ */ x("p", { children: [
753
- "• Your equity stake:",
754
- " ",
755
- ((parseInt(L, 10) || 0) / N.targetAmount * N.investmentTerms.equityOffered).toFixed(2),
756
- "%"
757
- ] }),
758
- /* @__PURE__ */ x("p", { children: [
759
- "• Exit options:",
760
- " ",
761
- N.investmentTerms.exitOptions.join(", ")
762
- ] })
763
- ]
764
- }),
765
- /* @__PURE__ */ x("div", {
643
+ children: [/* @__PURE__ */ v("p", { children: [
644
+ "• Minimum lock-in period:",
645
+ " ",
646
+ A.investmentTerms.lockInPeriod,
647
+ " months"
648
+ ] }), /* @__PURE__ */ v("p", { children: [
649
+ "• Expected returns: ",
650
+ A.expectedReturns,
651
+ "% over the lock-in period"
652
+ ] })]
653
+ }),
654
+ /* @__PURE__ */ v("div", {
766
655
  className: "flex flex-col gap-2 pt-2 sm:flex-row sm:gap-3",
767
- children: [/* @__PURE__ */ b("button", {
656
+ children: [/* @__PURE__ */ _("button", {
768
657
  type: "button",
769
658
  onClick: () => {
770
- I(!1), R(""), B("idle");
659
+ N(!1), F(""), L("idle");
771
660
  },
772
661
  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",
773
662
  children: "Cancel"
774
- }), /* @__PURE__ */ b("button", {
663
+ }), /* @__PURE__ */ _("button", {
775
664
  type: "button",
776
- onClick: q,
777
- disabled: !L || isNaN(parseInt(L, 10)) || parseInt(L, 10) < N.minimumInvestment,
778
- className: t("flex-1 rounded-lg px-4 py-2.5 text-sm font-medium transition-colors", !L || isNaN(parseInt(L, 10)) || parseInt(L, 10) < N.minimumInvestment ? "cursor-not-allowed bg-bg-sunken text-text-secondary" : "bg-action-primary-bg text-action-primary-text hover:bg-action-primary-bg/90"),
665
+ onClick: W,
666
+ disabled: !P || isNaN(parseInt(P, 10)) || parseInt(P, 10) < A.minimumInvestment,
667
+ 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"),
779
668
  children: "Confirm Investment"
780
669
  })]
781
670
  })
@@ -788,6 +677,6 @@ function O() {
788
677
  });
789
678
  }
790
679
  //#endregion
791
- export { O as InvestmentOpportunitiesPage };
680
+ export { T as InvestmentOpportunitiesPage };
792
681
 
793
682
  //# sourceMappingURL=InvestmentOpportunitiesPage.js.map