@burdenoff/microfe-kadaikodi 2026.719.4 → 2026.730.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.
- package/dist/kadaikodi/KadaikodiRoutes.d.ts.map +1 -1
- package/dist/kadaikodi/KadaikodiRoutes.js +33 -29
- package/dist/kadaikodi/KadaikodiRoutes.js.map +1 -1
- package/dist/kadaikodi/components/InvestmentMarketplaceGate.d.ts +13 -0
- package/dist/kadaikodi/components/InvestmentMarketplaceGate.d.ts.map +1 -0
- package/dist/kadaikodi/components/InvestmentMarketplaceGate.js +23 -0
- package/dist/kadaikodi/components/InvestmentMarketplaceGate.js.map +1 -0
- package/dist/kadaikodi/components/index.d.ts +1 -0
- package/dist/kadaikodi/components/index.d.ts.map +1 -1
- package/dist/kadaikodi/constants/featureFlags.d.ts +23 -0
- package/dist/kadaikodi/constants/featureFlags.d.ts.map +1 -0
- package/dist/kadaikodi/constants/featureFlags.js +6 -0
- package/dist/kadaikodi/constants/featureFlags.js.map +1 -0
- package/dist/kadaikodi/hooks/useKadaikodiApi.d.ts +42 -0
- package/dist/kadaikodi/hooks/useKadaikodiApi.d.ts.map +1 -1
- package/dist/kadaikodi/hooks/useKadaikodiApi.js +133 -65
- package/dist/kadaikodi/hooks/useKadaikodiApi.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.d.ts.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.js +180 -162
- package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/InvestmentListingPage.d.ts.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/InvestmentListingPage.js +135 -126
- package/dist/kadaikodi/pages/cart-owner/InvestmentListingPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/LoyaltyManagementPage.d.ts +12 -0
- package/dist/kadaikodi/pages/cart-owner/LoyaltyManagementPage.d.ts.map +1 -0
- package/dist/kadaikodi/pages/cart-owner/LoyaltyManagementPage.js +198 -0
- package/dist/kadaikodi/pages/cart-owner/LoyaltyManagementPage.js.map +1 -0
- package/dist/kadaikodi/pages/customer/CustomerProfilePage.d.ts.map +1 -1
- package/dist/kadaikodi/pages/customer/CustomerProfilePage.js +256 -97
- package/dist/kadaikodi/pages/customer/CustomerProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.d.ts.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js +171 -166
- package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.d.ts.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js +220 -217
- package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
- package/package.json +1 -1
|
@@ -6,12 +6,13 @@ import { useInvest as i, useInvestmentOpportunities as a } from "../../hooks/use
|
|
|
6
6
|
import { formatCurrency as o } from "../../utils/formatters.js";
|
|
7
7
|
import { AllocationBar as s } from "../../components/viz/AllocationBar.js";
|
|
8
8
|
import "../../components/viz/index.js";
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
9
|
+
import { InvestmentMarketplaceComingSoon as c, useInvestmentMarketplaceEnabled as l } from "../../components/InvestmentMarketplaceGate.js";
|
|
10
|
+
import { useCallback as u, useMemo as d, useState as f } from "react";
|
|
11
|
+
import { Briefcase as p, CheckCircle2 as m, Eye as h, FileText as g, IndianRupee as _, Lock as v, Search as y, Target as b, TrendingUp as x, X as S } from "lucide-react";
|
|
12
|
+
import { jsx as C, jsxs as w } from "react/jsx-runtime";
|
|
13
|
+
import { EmphasisPanel as T, GlassCard as E, PagePurpose as D } from "@burdenoff/fe-libs/ui";
|
|
13
14
|
//#region src/kadaikodi/pages/investor/InvestmentOpportunitiesPage.tsx
|
|
14
|
-
function
|
|
15
|
+
function O(e) {
|
|
15
16
|
let t = e.expiresAt ? Math.max(0, Math.ceil((new Date(e.expiresAt).getTime() - Date.now()) / 864e5)) : 0;
|
|
16
17
|
return {
|
|
17
18
|
id: e.id,
|
|
@@ -59,7 +60,7 @@ function E(e) {
|
|
|
59
60
|
status: e.status
|
|
60
61
|
};
|
|
61
62
|
}
|
|
62
|
-
function
|
|
63
|
+
function k(e) {
|
|
63
64
|
switch (e) {
|
|
64
65
|
case "low": return "bg-status-success-bg-subtle text-status-success-text";
|
|
65
66
|
case "medium": return "bg-status-warning-bg-subtle text-status-warning-text";
|
|
@@ -67,7 +68,7 @@ function D(e) {
|
|
|
67
68
|
default: return "bg-bg-sunken text-text-secondary";
|
|
68
69
|
}
|
|
69
70
|
}
|
|
70
|
-
function
|
|
71
|
+
function A(e) {
|
|
71
72
|
switch (e) {
|
|
72
73
|
case "low": return "Low Risk";
|
|
73
74
|
case "medium": return "Medium Risk";
|
|
@@ -75,40 +76,40 @@ function O(e) {
|
|
|
75
76
|
default: return e;
|
|
76
77
|
}
|
|
77
78
|
}
|
|
78
|
-
function
|
|
79
|
+
function j(e, t) {
|
|
79
80
|
return t > 0 ? Math.min(e / t * 100, 100) : 0;
|
|
80
81
|
}
|
|
81
|
-
function
|
|
82
|
-
let { navigateTo:
|
|
82
|
+
function M() {
|
|
83
|
+
let { navigateTo: M, currentUser: N } = e(), { data: P = [], isLoading: F } = a(), I = i(), L = l(), [R, z] = f(null), [B, V] = f(!1), [H, U] = f(""), [W, G] = f("idle"), [K, q] = f({
|
|
83
84
|
searchQuery: "",
|
|
84
85
|
category: "",
|
|
85
86
|
riskLevel: "",
|
|
86
87
|
minimumAmount: "",
|
|
87
88
|
sortBy: "featured"
|
|
88
|
-
}),
|
|
89
|
-
let e =
|
|
89
|
+
}), J = d(() => P.map(O), [P]), Y = d(() => {
|
|
90
|
+
let e = J.length;
|
|
90
91
|
return {
|
|
91
92
|
totalOpportunities: e,
|
|
92
|
-
averageReturns: e ? Number((
|
|
93
|
-
totalFunded:
|
|
94
|
-
totalTarget:
|
|
93
|
+
averageReturns: e ? Number((J.reduce((e, t) => e + t.expectedReturns, 0) / e).toFixed(1)) : 0,
|
|
94
|
+
totalFunded: J.reduce((e, t) => e + t.raisedAmount, 0),
|
|
95
|
+
totalTarget: J.reduce((e, t) => e + t.targetAmount, 0)
|
|
95
96
|
};
|
|
96
|
-
}, [
|
|
97
|
-
|
|
97
|
+
}, [J]), X = u((e, t) => {
|
|
98
|
+
q((n) => ({
|
|
98
99
|
...n,
|
|
99
100
|
[e]: t
|
|
100
101
|
}));
|
|
101
|
-
}, []),
|
|
102
|
-
let e = [...
|
|
103
|
-
if (
|
|
104
|
-
let t =
|
|
102
|
+
}, []), Z = d(() => {
|
|
103
|
+
let e = [...J];
|
|
104
|
+
if (K.searchQuery.trim()) {
|
|
105
|
+
let t = K.searchQuery.toLowerCase();
|
|
105
106
|
e = e.filter((e) => e.cartName.toLowerCase().includes(t) || e.description.toLowerCase().includes(t) || e.category.toLowerCase().includes(t));
|
|
106
107
|
}
|
|
107
|
-
if (
|
|
108
|
-
let t = parseInt(
|
|
108
|
+
if (K.category && (e = e.filter((e) => e.category === K.category)), K.riskLevel && (e = e.filter((e) => e.riskLevel === K.riskLevel)), K.minimumAmount) {
|
|
109
|
+
let t = parseInt(K.minimumAmount, 10);
|
|
109
110
|
e = e.filter((e) => e.minimumInvestment <= t);
|
|
110
111
|
}
|
|
111
|
-
switch (
|
|
112
|
+
switch (K.sortBy) {
|
|
112
113
|
case "returns":
|
|
113
114
|
e.sort((e, t) => t.expectedReturns - e.expectedReturns);
|
|
114
115
|
break;
|
|
@@ -124,112 +125,113 @@ function A() {
|
|
|
124
125
|
default: break;
|
|
125
126
|
}
|
|
126
127
|
return e;
|
|
127
|
-
}, [
|
|
128
|
-
if (!
|
|
129
|
-
let e = parseInt(
|
|
128
|
+
}, [K, J]), Q = u(() => {
|
|
129
|
+
if (!R || !H) return;
|
|
130
|
+
let e = parseInt(H, 10);
|
|
130
131
|
if (!isNaN(e)) {
|
|
131
|
-
if (e <
|
|
132
|
-
|
|
132
|
+
if (e < R.minimumInvestment) {
|
|
133
|
+
G("error");
|
|
133
134
|
return;
|
|
134
135
|
}
|
|
135
|
-
if (e >
|
|
136
|
-
|
|
136
|
+
if (e > R.maximumInvestment) {
|
|
137
|
+
G("error");
|
|
137
138
|
return;
|
|
138
139
|
}
|
|
139
|
-
|
|
140
|
+
I.mutate({
|
|
140
141
|
amount: e,
|
|
141
|
-
investorId:
|
|
142
|
-
opportunityId:
|
|
142
|
+
investorId: N?.id ?? "",
|
|
143
|
+
opportunityId: R.id
|
|
143
144
|
}, {
|
|
144
145
|
onSuccess: () => {
|
|
145
|
-
|
|
146
|
-
|
|
146
|
+
G("success"), setTimeout(() => {
|
|
147
|
+
V(!1), U(""), G("idle"), M("/investor/portfolio");
|
|
147
148
|
}, 1500);
|
|
148
149
|
},
|
|
149
|
-
onError: () =>
|
|
150
|
+
onError: () => G("error")
|
|
150
151
|
});
|
|
151
152
|
}
|
|
152
153
|
}, [
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
]),
|
|
159
|
-
|
|
154
|
+
R,
|
|
155
|
+
H,
|
|
156
|
+
M,
|
|
157
|
+
I,
|
|
158
|
+
N?.id
|
|
159
|
+
]), $ = u((e) => {
|
|
160
|
+
z(e), U(""), G("idle"), V(!0);
|
|
160
161
|
}, []);
|
|
161
|
-
return
|
|
162
|
+
return F ? /* @__PURE__ */ C(n, {
|
|
162
163
|
title: "Investment Opportunities",
|
|
163
164
|
description: "Loading opportunities...",
|
|
164
|
-
children: /* @__PURE__ */
|
|
165
|
+
children: /* @__PURE__ */ C("div", {
|
|
165
166
|
className: "flex items-center justify-center py-20",
|
|
166
|
-
children: /* @__PURE__ */
|
|
167
|
+
children: /* @__PURE__ */ w("div", {
|
|
167
168
|
className: "text-center",
|
|
168
|
-
children: [/* @__PURE__ */
|
|
169
|
+
children: [/* @__PURE__ */ C("div", { className: "mx-auto mb-4 h-12 w-12 animate-spin rounded-full border-b-2 border-primary" }), /* @__PURE__ */ C("p", {
|
|
169
170
|
className: "text-sm text-text-secondary",
|
|
170
171
|
children: "Loading opportunities..."
|
|
171
172
|
})]
|
|
172
173
|
})
|
|
173
174
|
})
|
|
174
|
-
}) : /* @__PURE__ */
|
|
175
|
+
}) : /* @__PURE__ */ w(n, {
|
|
175
176
|
title: "Investment Opportunities",
|
|
176
177
|
description: "Discover and invest in growing local businesses",
|
|
177
|
-
actions: /* @__PURE__ */
|
|
178
|
+
actions: /* @__PURE__ */ w("span", {
|
|
178
179
|
className: "text-sm text-text-secondary",
|
|
179
|
-
children: [
|
|
180
|
+
children: [Z.length, " opportunities"]
|
|
180
181
|
}),
|
|
181
182
|
children: [
|
|
182
|
-
/* @__PURE__ */
|
|
183
|
+
/* @__PURE__ */ C(D, {
|
|
183
184
|
className: "mb-6",
|
|
184
185
|
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."
|
|
185
186
|
}),
|
|
186
|
-
/* @__PURE__ */
|
|
187
|
+
!L && /* @__PURE__ */ C(c, { className: "mb-6" }),
|
|
188
|
+
/* @__PURE__ */ w(T, { children: [/* @__PURE__ */ C("h2", {
|
|
187
189
|
className: "mb-4 text-base font-semibold text-text-primary",
|
|
188
190
|
children: "Platform Performance"
|
|
189
|
-
}), /* @__PURE__ */
|
|
191
|
+
}), /* @__PURE__ */ w("div", {
|
|
190
192
|
className: "grid grid-cols-2 gap-3 sm:gap-4 lg:grid-cols-4",
|
|
191
193
|
children: [
|
|
192
|
-
/* @__PURE__ */
|
|
194
|
+
/* @__PURE__ */ w("div", {
|
|
193
195
|
className: "rounded-lg border border-border-subtle bg-bg-surface p-3 sm:p-4",
|
|
194
|
-
children: [/* @__PURE__ */
|
|
196
|
+
children: [/* @__PURE__ */ C("p", {
|
|
195
197
|
className: "text-xs text-text-secondary",
|
|
196
198
|
children: "Active Opportunities"
|
|
197
|
-
}), /* @__PURE__ */
|
|
199
|
+
}), /* @__PURE__ */ C("p", {
|
|
198
200
|
className: "text-lg font-bold text-text-primary sm:text-2xl",
|
|
199
|
-
children:
|
|
201
|
+
children: Y.totalOpportunities
|
|
200
202
|
})]
|
|
201
203
|
}),
|
|
202
|
-
/* @__PURE__ */
|
|
204
|
+
/* @__PURE__ */ w("div", {
|
|
203
205
|
className: "rounded-lg border border-border-subtle bg-bg-surface p-3 sm:p-4",
|
|
204
|
-
children: [/* @__PURE__ */
|
|
206
|
+
children: [/* @__PURE__ */ C("p", {
|
|
205
207
|
className: "text-xs text-text-secondary",
|
|
206
208
|
children: "Average Returns"
|
|
207
|
-
}), /* @__PURE__ */
|
|
209
|
+
}), /* @__PURE__ */ w("p", {
|
|
208
210
|
className: "text-lg font-bold text-status-success-text sm:text-2xl",
|
|
209
|
-
children: [
|
|
211
|
+
children: [Y.averageReturns, "%"]
|
|
210
212
|
})]
|
|
211
213
|
}),
|
|
212
|
-
/* @__PURE__ */
|
|
214
|
+
/* @__PURE__ */ w("div", {
|
|
213
215
|
className: "rounded-lg border border-border-subtle bg-bg-surface p-3 sm:p-4",
|
|
214
|
-
children: [/* @__PURE__ */
|
|
216
|
+
children: [/* @__PURE__ */ C("p", {
|
|
215
217
|
className: "text-xs text-text-secondary",
|
|
216
218
|
children: "Total Funded"
|
|
217
|
-
}), /* @__PURE__ */
|
|
219
|
+
}), /* @__PURE__ */ C("p", {
|
|
218
220
|
className: "text-lg font-bold text-text-primary sm:text-2xl",
|
|
219
|
-
children: o(
|
|
221
|
+
children: o(Y.totalFunded, {
|
|
220
222
|
minimumFractionDigits: 0,
|
|
221
223
|
notation: "compact"
|
|
222
224
|
})
|
|
223
225
|
})]
|
|
224
226
|
}),
|
|
225
|
-
/* @__PURE__ */
|
|
227
|
+
/* @__PURE__ */ w("div", {
|
|
226
228
|
className: "rounded-lg border border-border-subtle bg-bg-surface p-3 sm:p-4",
|
|
227
|
-
children: [/* @__PURE__ */
|
|
229
|
+
children: [/* @__PURE__ */ C("p", {
|
|
228
230
|
className: "text-xs text-text-secondary",
|
|
229
231
|
children: "Total Target"
|
|
230
|
-
}), /* @__PURE__ */
|
|
232
|
+
}), /* @__PURE__ */ C("p", {
|
|
231
233
|
className: "text-lg font-bold text-text-primary sm:text-2xl",
|
|
232
|
-
children: o(
|
|
234
|
+
children: o(Y.totalTarget, {
|
|
233
235
|
minimumFractionDigits: 0,
|
|
234
236
|
notation: "compact"
|
|
235
237
|
})
|
|
@@ -237,124 +239,124 @@ function A() {
|
|
|
237
239
|
})
|
|
238
240
|
]
|
|
239
241
|
})] }),
|
|
240
|
-
/* @__PURE__ */
|
|
242
|
+
/* @__PURE__ */ C("div", {
|
|
241
243
|
className: "mt-6 rounded-lg border border-border-subtle bg-bg-surface p-4 sm:p-6",
|
|
242
|
-
children: /* @__PURE__ */
|
|
244
|
+
children: /* @__PURE__ */ w("div", {
|
|
243
245
|
className: "grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-5",
|
|
244
246
|
children: [
|
|
245
|
-
/* @__PURE__ */
|
|
247
|
+
/* @__PURE__ */ w("div", {
|
|
246
248
|
className: "relative sm:col-span-2 lg:col-span-1",
|
|
247
|
-
children: [/* @__PURE__ */
|
|
249
|
+
children: [/* @__PURE__ */ C(y, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-secondary" }), /* @__PURE__ */ C("input", {
|
|
248
250
|
type: "text",
|
|
249
251
|
placeholder: "Search opportunities...",
|
|
250
|
-
value:
|
|
251
|
-
onChange: (e) =>
|
|
252
|
+
value: K.searchQuery,
|
|
253
|
+
onChange: (e) => X("searchQuery", e.target.value),
|
|
252
254
|
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)]"
|
|
253
255
|
})]
|
|
254
256
|
}),
|
|
255
|
-
/* @__PURE__ */
|
|
256
|
-
value:
|
|
257
|
-
onChange: (e) =>
|
|
257
|
+
/* @__PURE__ */ w("select", {
|
|
258
|
+
value: K.category,
|
|
259
|
+
onChange: (e) => X("category", e.target.value),
|
|
258
260
|
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)]",
|
|
259
261
|
children: [
|
|
260
|
-
/* @__PURE__ */
|
|
262
|
+
/* @__PURE__ */ C("option", {
|
|
261
263
|
value: "",
|
|
262
264
|
children: "All Categories"
|
|
263
265
|
}),
|
|
264
|
-
/* @__PURE__ */
|
|
266
|
+
/* @__PURE__ */ C("option", {
|
|
265
267
|
value: "Healthy Food",
|
|
266
268
|
children: "Healthy Food"
|
|
267
269
|
}),
|
|
268
|
-
/* @__PURE__ */
|
|
270
|
+
/* @__PURE__ */ C("option", {
|
|
269
271
|
value: "Fast Food",
|
|
270
272
|
children: "Fast Food"
|
|
271
273
|
}),
|
|
272
|
-
/* @__PURE__ */
|
|
274
|
+
/* @__PURE__ */ C("option", {
|
|
273
275
|
value: "Fusion Food",
|
|
274
276
|
children: "Fusion Food"
|
|
275
277
|
}),
|
|
276
|
-
/* @__PURE__ */
|
|
278
|
+
/* @__PURE__ */ C("option", {
|
|
277
279
|
value: "Beverages",
|
|
278
280
|
children: "Beverages"
|
|
279
281
|
}),
|
|
280
|
-
/* @__PURE__ */
|
|
282
|
+
/* @__PURE__ */ C("option", {
|
|
281
283
|
value: "Street Food",
|
|
282
284
|
children: "Street Food"
|
|
283
285
|
})
|
|
284
286
|
]
|
|
285
287
|
}),
|
|
286
|
-
/* @__PURE__ */
|
|
287
|
-
value:
|
|
288
|
-
onChange: (e) =>
|
|
288
|
+
/* @__PURE__ */ w("select", {
|
|
289
|
+
value: K.riskLevel,
|
|
290
|
+
onChange: (e) => X("riskLevel", e.target.value),
|
|
289
291
|
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)]",
|
|
290
292
|
children: [
|
|
291
|
-
/* @__PURE__ */
|
|
293
|
+
/* @__PURE__ */ C("option", {
|
|
292
294
|
value: "",
|
|
293
295
|
children: "All Risk Levels"
|
|
294
296
|
}),
|
|
295
|
-
/* @__PURE__ */
|
|
297
|
+
/* @__PURE__ */ C("option", {
|
|
296
298
|
value: "low",
|
|
297
299
|
children: "Low Risk"
|
|
298
300
|
}),
|
|
299
|
-
/* @__PURE__ */
|
|
301
|
+
/* @__PURE__ */ C("option", {
|
|
300
302
|
value: "medium",
|
|
301
303
|
children: "Medium Risk"
|
|
302
304
|
}),
|
|
303
|
-
/* @__PURE__ */
|
|
305
|
+
/* @__PURE__ */ C("option", {
|
|
304
306
|
value: "high",
|
|
305
307
|
children: "High Risk"
|
|
306
308
|
})
|
|
307
309
|
]
|
|
308
310
|
}),
|
|
309
|
-
/* @__PURE__ */
|
|
310
|
-
value:
|
|
311
|
-
onChange: (e) =>
|
|
311
|
+
/* @__PURE__ */ w("select", {
|
|
312
|
+
value: K.minimumAmount,
|
|
313
|
+
onChange: (e) => X("minimumAmount", e.target.value),
|
|
312
314
|
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)]",
|
|
313
315
|
children: [
|
|
314
|
-
/* @__PURE__ */
|
|
316
|
+
/* @__PURE__ */ C("option", {
|
|
315
317
|
value: "",
|
|
316
318
|
children: "Any Amount"
|
|
317
319
|
}),
|
|
318
|
-
/* @__PURE__ */
|
|
320
|
+
/* @__PURE__ */ C("option", {
|
|
319
321
|
value: "15000",
|
|
320
322
|
children: "Under ₹15,000"
|
|
321
323
|
}),
|
|
322
|
-
/* @__PURE__ */
|
|
324
|
+
/* @__PURE__ */ C("option", {
|
|
323
325
|
value: "25000",
|
|
324
326
|
children: "Under ₹25,000"
|
|
325
327
|
}),
|
|
326
|
-
/* @__PURE__ */
|
|
328
|
+
/* @__PURE__ */ C("option", {
|
|
327
329
|
value: "50000",
|
|
328
330
|
children: "Under ₹50,000"
|
|
329
331
|
}),
|
|
330
|
-
/* @__PURE__ */
|
|
332
|
+
/* @__PURE__ */ C("option", {
|
|
331
333
|
value: "100000",
|
|
332
334
|
children: "Under ₹1,00,000"
|
|
333
335
|
})
|
|
334
336
|
]
|
|
335
337
|
}),
|
|
336
|
-
/* @__PURE__ */
|
|
337
|
-
value:
|
|
338
|
-
onChange: (e) =>
|
|
338
|
+
/* @__PURE__ */ w("select", {
|
|
339
|
+
value: K.sortBy,
|
|
340
|
+
onChange: (e) => X("sortBy", e.target.value),
|
|
339
341
|
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)]",
|
|
340
342
|
children: [
|
|
341
|
-
/* @__PURE__ */
|
|
343
|
+
/* @__PURE__ */ C("option", {
|
|
342
344
|
value: "featured",
|
|
343
345
|
children: "Featured"
|
|
344
346
|
}),
|
|
345
|
-
/* @__PURE__ */
|
|
347
|
+
/* @__PURE__ */ C("option", {
|
|
346
348
|
value: "returns",
|
|
347
349
|
children: "Highest Returns"
|
|
348
350
|
}),
|
|
349
|
-
/* @__PURE__ */
|
|
351
|
+
/* @__PURE__ */ C("option", {
|
|
350
352
|
value: "funding",
|
|
351
353
|
children: "Most Funded"
|
|
352
354
|
}),
|
|
353
|
-
/* @__PURE__ */
|
|
355
|
+
/* @__PURE__ */ C("option", {
|
|
354
356
|
value: "closing",
|
|
355
357
|
children: "Closing Soon"
|
|
356
358
|
}),
|
|
357
|
-
/* @__PURE__ */
|
|
359
|
+
/* @__PURE__ */ C("option", {
|
|
358
360
|
value: "minimum",
|
|
359
361
|
children: "Lowest Minimum"
|
|
360
362
|
})
|
|
@@ -363,15 +365,15 @@ function A() {
|
|
|
363
365
|
]
|
|
364
366
|
})
|
|
365
367
|
}),
|
|
366
|
-
|
|
368
|
+
Z.length === 0 ? /* @__PURE__ */ C("div", {
|
|
367
369
|
className: "mt-6",
|
|
368
|
-
children: /* @__PURE__ */
|
|
369
|
-
icon: /* @__PURE__ */
|
|
370
|
+
children: /* @__PURE__ */ C(r, {
|
|
371
|
+
icon: /* @__PURE__ */ C(y, { className: "h-10 w-10" }),
|
|
370
372
|
title: "No opportunities found",
|
|
371
373
|
description: "Try adjusting your filters to find more opportunities",
|
|
372
|
-
action: /* @__PURE__ */
|
|
374
|
+
action: /* @__PURE__ */ C("button", {
|
|
373
375
|
type: "button",
|
|
374
|
-
onClick: () =>
|
|
376
|
+
onClick: () => q({
|
|
375
377
|
searchQuery: "",
|
|
376
378
|
category: "",
|
|
377
379
|
riskLevel: "",
|
|
@@ -382,54 +384,54 @@ function A() {
|
|
|
382
384
|
children: "Clear Filters"
|
|
383
385
|
})
|
|
384
386
|
})
|
|
385
|
-
}) : /* @__PURE__ */
|
|
387
|
+
}) : /* @__PURE__ */ C("div", {
|
|
386
388
|
className: "mt-6 grid grid-cols-1 gap-4 md:grid-cols-2 xl:grid-cols-3",
|
|
387
|
-
children:
|
|
388
|
-
let n =
|
|
389
|
-
return /* @__PURE__ */
|
|
389
|
+
children: Z.map((e) => {
|
|
390
|
+
let n = j(e.raisedAmount, e.targetAmount), r = Math.max(0, e.targetAmount - e.raisedAmount), i = e.status === "funded";
|
|
391
|
+
return /* @__PURE__ */ w(E, {
|
|
390
392
|
treatment: "plain",
|
|
391
393
|
className: "flex flex-col p-5",
|
|
392
394
|
children: [
|
|
393
|
-
/* @__PURE__ */
|
|
395
|
+
/* @__PURE__ */ w("div", {
|
|
394
396
|
className: "flex items-start gap-3",
|
|
395
397
|
children: [
|
|
396
|
-
/* @__PURE__ */
|
|
398
|
+
/* @__PURE__ */ C("div", {
|
|
397
399
|
className: "flex h-12 w-12 shrink-0 items-center justify-center rounded-full bg-[var(--color-accent-soft)]",
|
|
398
|
-
children: /* @__PURE__ */
|
|
400
|
+
children: /* @__PURE__ */ C(p, { className: "h-5 w-5 text-text-primary" })
|
|
399
401
|
}),
|
|
400
|
-
/* @__PURE__ */
|
|
402
|
+
/* @__PURE__ */ w("div", {
|
|
401
403
|
className: "min-w-0 flex-1",
|
|
402
|
-
children: [/* @__PURE__ */
|
|
404
|
+
children: [/* @__PURE__ */ C("p", {
|
|
403
405
|
className: "truncate text-xs text-text-secondary",
|
|
404
406
|
children: e.cartOwner || "Local business"
|
|
405
|
-
}), /* @__PURE__ */
|
|
407
|
+
}), /* @__PURE__ */ C("h3", {
|
|
406
408
|
className: "truncate text-base font-semibold text-text-primary",
|
|
407
409
|
children: e.cartName
|
|
408
410
|
})]
|
|
409
411
|
}),
|
|
410
|
-
/* @__PURE__ */
|
|
411
|
-
className: t("shrink-0 rounded-full px-2.5 py-1 text-xs font-semibold",
|
|
412
|
-
children:
|
|
412
|
+
/* @__PURE__ */ C("span", {
|
|
413
|
+
className: t("shrink-0 rounded-full px-2.5 py-1 text-xs font-semibold", k(e.riskLevel)),
|
|
414
|
+
children: A(e.riskLevel)
|
|
413
415
|
})
|
|
414
416
|
]
|
|
415
417
|
}),
|
|
416
|
-
e.description && /* @__PURE__ */
|
|
418
|
+
e.description && /* @__PURE__ */ C("p", {
|
|
417
419
|
className: "mt-3 line-clamp-2 text-sm leading-relaxed text-text-secondary",
|
|
418
420
|
children: e.description
|
|
419
421
|
}),
|
|
420
|
-
/* @__PURE__ */
|
|
422
|
+
/* @__PURE__ */ w("div", {
|
|
421
423
|
className: "mt-4 grid grid-cols-4 gap-2 rounded-lg border border-border-subtle bg-bg-sunken/40 p-3 text-center",
|
|
422
424
|
children: [
|
|
423
|
-
/* @__PURE__ */
|
|
424
|
-
/* @__PURE__ */
|
|
425
|
+
/* @__PURE__ */ w("div", { children: [
|
|
426
|
+
/* @__PURE__ */ C("div", {
|
|
425
427
|
className: "flex items-center justify-center gap-1 text-text-secondary",
|
|
426
|
-
children: /* @__PURE__ */
|
|
428
|
+
children: /* @__PURE__ */ C(b, { className: "h-3.5 w-3.5" })
|
|
427
429
|
}),
|
|
428
|
-
/* @__PURE__ */
|
|
430
|
+
/* @__PURE__ */ C("p", {
|
|
429
431
|
className: "mt-1 text-xs text-text-secondary",
|
|
430
432
|
children: "Target"
|
|
431
433
|
}),
|
|
432
|
-
/* @__PURE__ */
|
|
434
|
+
/* @__PURE__ */ C("p", {
|
|
433
435
|
className: "text-sm font-bold text-text-primary",
|
|
434
436
|
children: o(e.targetAmount, {
|
|
435
437
|
minimumFractionDigits: 0,
|
|
@@ -437,16 +439,16 @@ function A() {
|
|
|
437
439
|
})
|
|
438
440
|
})
|
|
439
441
|
] }),
|
|
440
|
-
/* @__PURE__ */
|
|
441
|
-
/* @__PURE__ */
|
|
442
|
+
/* @__PURE__ */ w("div", { children: [
|
|
443
|
+
/* @__PURE__ */ C("div", {
|
|
442
444
|
className: "flex items-center justify-center gap-1 text-text-secondary",
|
|
443
|
-
children: /* @__PURE__ */
|
|
445
|
+
children: /* @__PURE__ */ C(_, { className: "h-3.5 w-3.5" })
|
|
444
446
|
}),
|
|
445
|
-
/* @__PURE__ */
|
|
447
|
+
/* @__PURE__ */ C("p", {
|
|
446
448
|
className: "mt-1 text-xs text-text-secondary",
|
|
447
449
|
children: "Min"
|
|
448
450
|
}),
|
|
449
|
-
/* @__PURE__ */
|
|
451
|
+
/* @__PURE__ */ C("p", {
|
|
450
452
|
className: "text-sm font-bold text-text-primary",
|
|
451
453
|
children: o(e.minimumInvestment, {
|
|
452
454
|
minimumFractionDigits: 0,
|
|
@@ -454,42 +456,42 @@ function A() {
|
|
|
454
456
|
})
|
|
455
457
|
})
|
|
456
458
|
] }),
|
|
457
|
-
/* @__PURE__ */
|
|
458
|
-
/* @__PURE__ */
|
|
459
|
+
/* @__PURE__ */ w("div", { children: [
|
|
460
|
+
/* @__PURE__ */ C("div", {
|
|
459
461
|
className: "flex items-center justify-center gap-1 text-text-secondary",
|
|
460
|
-
children: /* @__PURE__ */ x
|
|
462
|
+
children: /* @__PURE__ */ C(x, { className: "h-3.5 w-3.5" })
|
|
461
463
|
}),
|
|
462
|
-
/* @__PURE__ */
|
|
464
|
+
/* @__PURE__ */ C("p", {
|
|
463
465
|
className: "mt-1 text-xs text-text-secondary",
|
|
464
466
|
children: "Returns"
|
|
465
467
|
}),
|
|
466
|
-
/* @__PURE__ */
|
|
468
|
+
/* @__PURE__ */ w("p", {
|
|
467
469
|
className: "text-sm font-bold text-status-success-text",
|
|
468
470
|
children: [e.expectedReturns, "%"]
|
|
469
471
|
})
|
|
470
472
|
] }),
|
|
471
|
-
/* @__PURE__ */
|
|
472
|
-
/* @__PURE__ */
|
|
473
|
+
/* @__PURE__ */ w("div", { children: [
|
|
474
|
+
/* @__PURE__ */ C("div", {
|
|
473
475
|
className: "flex items-center justify-center gap-1 text-text-secondary",
|
|
474
|
-
children: /* @__PURE__ */
|
|
476
|
+
children: /* @__PURE__ */ C(v, { className: "h-3.5 w-3.5" })
|
|
475
477
|
}),
|
|
476
|
-
/* @__PURE__ */
|
|
478
|
+
/* @__PURE__ */ C("p", {
|
|
477
479
|
className: "mt-1 text-xs text-text-secondary",
|
|
478
480
|
children: "Lock-in"
|
|
479
481
|
}),
|
|
480
|
-
/* @__PURE__ */
|
|
482
|
+
/* @__PURE__ */ w("p", {
|
|
481
483
|
className: "text-sm font-bold text-text-primary",
|
|
482
484
|
children: [e.paybackPeriod, "mo"]
|
|
483
485
|
})
|
|
484
486
|
] })
|
|
485
487
|
]
|
|
486
488
|
}),
|
|
487
|
-
/* @__PURE__ */
|
|
489
|
+
/* @__PURE__ */ w("div", {
|
|
488
490
|
className: "mt-4",
|
|
489
|
-
children: [/* @__PURE__ */
|
|
491
|
+
children: [/* @__PURE__ */ C(s, {
|
|
490
492
|
height: 10,
|
|
491
493
|
showLegend: !1,
|
|
492
|
-
label: /* @__PURE__ */
|
|
494
|
+
label: /* @__PURE__ */ w("span", {
|
|
493
495
|
className: "text-text-primary",
|
|
494
496
|
children: [
|
|
495
497
|
o(e.raisedAmount, { minimumFractionDigits: 0 }),
|
|
@@ -506,7 +508,7 @@ function A() {
|
|
|
506
508
|
value: r,
|
|
507
509
|
color: "var(--color-bg-sunken)"
|
|
508
510
|
}]
|
|
509
|
-
}), /* @__PURE__ */
|
|
511
|
+
}), /* @__PURE__ */ w("p", {
|
|
510
512
|
className: "mt-1.5 text-xs text-text-secondary",
|
|
511
513
|
children: [
|
|
512
514
|
e.investorCount,
|
|
@@ -521,177 +523,178 @@ function A() {
|
|
|
521
523
|
]
|
|
522
524
|
})]
|
|
523
525
|
}),
|
|
524
|
-
e.documents.length > 0 && /* @__PURE__ */
|
|
526
|
+
e.documents.length > 0 && /* @__PURE__ */ w("div", {
|
|
525
527
|
className: "mt-3 flex items-center gap-1.5 text-xs text-text-secondary",
|
|
526
|
-
children: [/* @__PURE__ */
|
|
528
|
+
children: [/* @__PURE__ */ C(g, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ w("span", { children: [e.documents.length, " documents available"] })]
|
|
527
529
|
}),
|
|
528
|
-
/* @__PURE__ */
|
|
530
|
+
/* @__PURE__ */ w("div", {
|
|
529
531
|
className: "mt-auto flex flex-col gap-2 pt-4 sm:flex-row",
|
|
530
|
-
children: [/* @__PURE__ */
|
|
532
|
+
children: [/* @__PURE__ */ C("button", {
|
|
531
533
|
type: "button",
|
|
532
|
-
onClick: () =>
|
|
533
|
-
disabled: i,
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
534
|
+
onClick: () => $(e),
|
|
535
|
+
disabled: i || !L,
|
|
536
|
+
title: !L && !i ? "Investing isn't open in this workspace yet" : void 0,
|
|
537
|
+
className: t("flex-1 rounded-lg px-4 py-2.5 text-sm font-semibold transition-colors", i || !L ? "cursor-not-allowed bg-bg-sunken text-text-secondary" : "bg-action-primary-bg text-action-primary-text hover:bg-action-primary-bg-hover"),
|
|
538
|
+
children: i ? "Fully Funded" : L ? "Invest" : "Coming Soon"
|
|
539
|
+
}), /* @__PURE__ */ w("button", {
|
|
537
540
|
type: "button",
|
|
538
|
-
onClick: () =>
|
|
541
|
+
onClick: () => M(`/investor/opportunity/${e.id}`),
|
|
539
542
|
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",
|
|
540
|
-
children: [/* @__PURE__ */
|
|
543
|
+
children: [/* @__PURE__ */ C(h, { className: "h-4 w-4" }), "Details"]
|
|
541
544
|
})]
|
|
542
545
|
})
|
|
543
546
|
]
|
|
544
547
|
}, e.id);
|
|
545
548
|
})
|
|
546
549
|
}),
|
|
547
|
-
|
|
550
|
+
B && R && /* @__PURE__ */ C("div", {
|
|
548
551
|
className: "fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4",
|
|
549
|
-
children: /* @__PURE__ */
|
|
552
|
+
children: /* @__PURE__ */ w("div", {
|
|
550
553
|
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",
|
|
551
554
|
children: [
|
|
552
|
-
/* @__PURE__ */
|
|
555
|
+
/* @__PURE__ */ C("button", {
|
|
553
556
|
type: "button",
|
|
554
557
|
onClick: () => {
|
|
555
|
-
|
|
558
|
+
V(!1), U(""), G("idle");
|
|
556
559
|
},
|
|
557
560
|
className: "absolute right-3 top-3 rounded-lg p-1 text-text-secondary hover:bg-accent transition-colors",
|
|
558
|
-
children: /* @__PURE__ */
|
|
561
|
+
children: /* @__PURE__ */ C(S, { className: "h-5 w-5" })
|
|
559
562
|
}),
|
|
560
|
-
/* @__PURE__ */
|
|
563
|
+
/* @__PURE__ */ w("h3", {
|
|
561
564
|
className: "mb-4 text-base font-semibold text-text-primary sm:text-lg",
|
|
562
|
-
children: ["Invest in ",
|
|
565
|
+
children: ["Invest in ", R.cartName]
|
|
563
566
|
}),
|
|
564
|
-
|
|
567
|
+
W === "success" ? /* @__PURE__ */ w("div", {
|
|
565
568
|
className: "py-8 text-center",
|
|
566
569
|
children: [
|
|
567
|
-
/* @__PURE__ */
|
|
568
|
-
/* @__PURE__ */
|
|
570
|
+
/* @__PURE__ */ C(m, { className: "mx-auto mb-3 h-12 w-12 text-status-success-text" }),
|
|
571
|
+
/* @__PURE__ */ C("p", {
|
|
569
572
|
className: "text-sm font-medium text-text-primary",
|
|
570
573
|
children: "Investment successful!"
|
|
571
574
|
}),
|
|
572
|
-
/* @__PURE__ */
|
|
575
|
+
/* @__PURE__ */ C("p", {
|
|
573
576
|
className: "mt-1 text-xs text-text-secondary",
|
|
574
577
|
children: "Redirecting to your portfolio..."
|
|
575
578
|
})
|
|
576
579
|
]
|
|
577
|
-
}) : /* @__PURE__ */
|
|
580
|
+
}) : /* @__PURE__ */ w("div", {
|
|
578
581
|
className: "space-y-4",
|
|
579
582
|
children: [
|
|
580
|
-
/* @__PURE__ */
|
|
583
|
+
/* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
|
|
581
584
|
className: "mb-1 text-xs text-text-secondary sm:text-sm",
|
|
582
585
|
children: "Investment Range"
|
|
583
|
-
}), /* @__PURE__ */
|
|
586
|
+
}), /* @__PURE__ */ w("p", {
|
|
584
587
|
className: "text-sm font-medium text-text-primary sm:text-base",
|
|
585
588
|
children: [
|
|
586
|
-
o(
|
|
589
|
+
o(R.minimumInvestment, { minimumFractionDigits: 0 }),
|
|
587
590
|
" ",
|
|
588
591
|
"-",
|
|
589
592
|
" ",
|
|
590
|
-
o(
|
|
593
|
+
o(R.maximumInvestment, { minimumFractionDigits: 0 })
|
|
591
594
|
]
|
|
592
595
|
})] }),
|
|
593
|
-
/* @__PURE__ */
|
|
594
|
-
/* @__PURE__ */
|
|
596
|
+
/* @__PURE__ */ w("div", { children: [
|
|
597
|
+
/* @__PURE__ */ C("label", {
|
|
595
598
|
className: "mb-1 block text-xs font-medium text-text-primary sm:text-sm",
|
|
596
599
|
children: "Investment Amount"
|
|
597
600
|
}),
|
|
598
|
-
/* @__PURE__ */
|
|
601
|
+
/* @__PURE__ */ w("div", {
|
|
599
602
|
className: "relative",
|
|
600
|
-
children: [/* @__PURE__ */
|
|
603
|
+
children: [/* @__PURE__ */ C(_, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-secondary" }), /* @__PURE__ */ C("input", {
|
|
601
604
|
type: "number",
|
|
602
|
-
value:
|
|
605
|
+
value: H,
|
|
603
606
|
onChange: (e) => {
|
|
604
|
-
|
|
607
|
+
U(e.target.value), G("idle");
|
|
605
608
|
},
|
|
606
609
|
placeholder: "Enter amount",
|
|
607
610
|
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)]"
|
|
608
611
|
})]
|
|
609
612
|
}),
|
|
610
|
-
|
|
613
|
+
W === "error" && /* @__PURE__ */ w("p", {
|
|
611
614
|
className: "mt-1 text-xs text-status-error-text",
|
|
612
615
|
children: [
|
|
613
616
|
"Amount must be between",
|
|
614
617
|
" ",
|
|
615
|
-
o(
|
|
618
|
+
o(R.minimumInvestment, { minimumFractionDigits: 0 }),
|
|
616
619
|
" ",
|
|
617
620
|
"and",
|
|
618
621
|
" ",
|
|
619
|
-
o(
|
|
622
|
+
o(R.maximumInvestment, { minimumFractionDigits: 0 })
|
|
620
623
|
]
|
|
621
624
|
})
|
|
622
625
|
] }),
|
|
623
|
-
|
|
626
|
+
H && !isNaN(parseInt(H, 10)) && parseInt(H, 10) > 0 && /* @__PURE__ */ w("div", {
|
|
624
627
|
className: "rounded-lg border border-border-subtle bg-bg-sunken/50 p-3 sm:p-4",
|
|
625
|
-
children: [/* @__PURE__ */
|
|
628
|
+
children: [/* @__PURE__ */ C("p", {
|
|
626
629
|
className: "mb-2 text-xs text-text-secondary sm:text-sm",
|
|
627
630
|
children: "Expected Returns"
|
|
628
|
-
}), /* @__PURE__ */
|
|
631
|
+
}), /* @__PURE__ */ w("div", {
|
|
629
632
|
className: "space-y-1.5",
|
|
630
633
|
children: [
|
|
631
|
-
/* @__PURE__ */
|
|
634
|
+
/* @__PURE__ */ w("div", {
|
|
632
635
|
className: "flex justify-between",
|
|
633
|
-
children: [/* @__PURE__ */
|
|
636
|
+
children: [/* @__PURE__ */ C("span", {
|
|
634
637
|
className: "text-xs text-text-primary sm:text-sm",
|
|
635
638
|
children: "Investment:"
|
|
636
|
-
}), /* @__PURE__ */
|
|
639
|
+
}), /* @__PURE__ */ C("span", {
|
|
637
640
|
className: "text-xs font-medium text-text-primary sm:text-sm",
|
|
638
|
-
children: o(parseInt(
|
|
641
|
+
children: o(parseInt(H, 10), { minimumFractionDigits: 0 })
|
|
639
642
|
})]
|
|
640
643
|
}),
|
|
641
|
-
/* @__PURE__ */
|
|
644
|
+
/* @__PURE__ */ w("div", {
|
|
642
645
|
className: "flex justify-between",
|
|
643
|
-
children: [/* @__PURE__ */
|
|
646
|
+
children: [/* @__PURE__ */ w("span", {
|
|
644
647
|
className: "text-xs text-text-primary sm:text-sm",
|
|
645
648
|
children: [
|
|
646
649
|
"Expected Return (",
|
|
647
|
-
|
|
650
|
+
R.expectedReturns,
|
|
648
651
|
"%):"
|
|
649
652
|
]
|
|
650
|
-
}), /* @__PURE__ */
|
|
653
|
+
}), /* @__PURE__ */ w("span", {
|
|
651
654
|
className: "text-xs font-medium text-status-success-text sm:text-sm",
|
|
652
|
-
children: ["+", o(parseInt(
|
|
655
|
+
children: ["+", o(parseInt(H, 10) * R.expectedReturns / 100, { minimumFractionDigits: 0 })]
|
|
653
656
|
})]
|
|
654
657
|
}),
|
|
655
|
-
/* @__PURE__ */
|
|
658
|
+
/* @__PURE__ */ w("div", {
|
|
656
659
|
className: "flex justify-between border-t border-border-subtle pt-2",
|
|
657
|
-
children: [/* @__PURE__ */
|
|
660
|
+
children: [/* @__PURE__ */ C("span", {
|
|
658
661
|
className: "text-xs font-medium text-text-primary sm:text-sm",
|
|
659
662
|
children: "Total Value:"
|
|
660
|
-
}), /* @__PURE__ */
|
|
663
|
+
}), /* @__PURE__ */ C("span", {
|
|
661
664
|
className: "text-xs font-bold text-text-primary sm:text-sm",
|
|
662
|
-
children: o(parseInt(
|
|
665
|
+
children: o(parseInt(H, 10) * (1 + R.expectedReturns / 100), { minimumFractionDigits: 0 })
|
|
663
666
|
})]
|
|
664
667
|
})
|
|
665
668
|
]
|
|
666
669
|
})]
|
|
667
670
|
}),
|
|
668
|
-
/* @__PURE__ */
|
|
671
|
+
/* @__PURE__ */ w("div", {
|
|
669
672
|
className: "space-y-1 text-xs text-text-secondary sm:text-sm",
|
|
670
|
-
children: [/* @__PURE__ */
|
|
673
|
+
children: [/* @__PURE__ */ w("p", { children: [
|
|
671
674
|
"• Minimum lock-in period:",
|
|
672
675
|
" ",
|
|
673
|
-
|
|
676
|
+
R.investmentTerms.lockInPeriod,
|
|
674
677
|
" months"
|
|
675
|
-
] }), /* @__PURE__ */
|
|
678
|
+
] }), /* @__PURE__ */ w("p", { children: [
|
|
676
679
|
"• Expected returns: ",
|
|
677
|
-
|
|
680
|
+
R.expectedReturns,
|
|
678
681
|
"% over the lock-in period"
|
|
679
682
|
] })]
|
|
680
683
|
}),
|
|
681
|
-
/* @__PURE__ */
|
|
684
|
+
/* @__PURE__ */ w("div", {
|
|
682
685
|
className: "flex flex-col gap-2 pt-2 sm:flex-row sm:gap-3",
|
|
683
|
-
children: [/* @__PURE__ */
|
|
686
|
+
children: [/* @__PURE__ */ C("button", {
|
|
684
687
|
type: "button",
|
|
685
688
|
onClick: () => {
|
|
686
|
-
|
|
689
|
+
V(!1), U(""), G("idle");
|
|
687
690
|
},
|
|
688
691
|
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",
|
|
689
692
|
children: "Cancel"
|
|
690
|
-
}), /* @__PURE__ */
|
|
693
|
+
}), /* @__PURE__ */ C("button", {
|
|
691
694
|
type: "button",
|
|
692
|
-
onClick:
|
|
693
|
-
disabled: !
|
|
694
|
-
className: t("flex-1 rounded-lg px-4 py-2.5 text-sm font-medium transition-colors", !
|
|
695
|
+
onClick: Q,
|
|
696
|
+
disabled: !L || !H || isNaN(parseInt(H, 10)) || parseInt(H, 10) < R.minimumInvestment,
|
|
697
|
+
className: t("flex-1 rounded-lg px-4 py-2.5 text-sm font-medium transition-colors", !H || isNaN(parseInt(H, 10)) || parseInt(H, 10) < R.minimumInvestment ? "cursor-not-allowed bg-bg-sunken text-text-secondary" : "bg-action-primary-bg text-action-primary-text hover:bg-action-primary-bg/90"),
|
|
695
698
|
children: "Confirm Investment"
|
|
696
699
|
})]
|
|
697
700
|
})
|
|
@@ -704,6 +707,6 @@ function A() {
|
|
|
704
707
|
});
|
|
705
708
|
}
|
|
706
709
|
//#endregion
|
|
707
|
-
export {
|
|
710
|
+
export { M as InvestmentOpportunitiesPage };
|
|
708
711
|
|
|
709
712
|
//# sourceMappingURL=InvestmentOpportunitiesPage.js.map
|