@burdenoff/microfe-subscriberbot 2026.625.1 → 2026.626.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/subscriberbot/pages/HomePage.js +19 -14
- package/dist/subscriberbot/pages/HomePage.js.map +1 -1
- package/dist/subscriberbot/pages/admin/AdminAnalyticsPage.js +66 -60
- package/dist/subscriberbot/pages/admin/AdminAnalyticsPage.js.map +1 -1
- package/dist/subscriberbot/pages/admin/AdminDashboard.js +83 -44
- package/dist/subscriberbot/pages/admin/AdminDashboard.js.map +1 -1
- package/dist/subscriberbot/pages/admin/AdminFinancialPage.js +38 -32
- package/dist/subscriberbot/pages/admin/AdminFinancialPage.js.map +1 -1
- package/dist/subscriberbot/pages/admin/AdminOrdersPage.js +226 -221
- package/dist/subscriberbot/pages/admin/AdminOrdersPage.js.map +1 -1
- package/dist/subscriberbot/pages/admin/AdminProfilePage.js +127 -125
- package/dist/subscriberbot/pages/admin/AdminProfilePage.js.map +1 -1
- package/dist/subscriberbot/pages/admin/AdminSettingsPage.js +235 -230
- package/dist/subscriberbot/pages/admin/AdminSettingsPage.js.map +1 -1
- package/dist/subscriberbot/pages/admin/CartManagementPage.js +267 -262
- package/dist/subscriberbot/pages/admin/CartManagementPage.js.map +1 -1
- package/dist/subscriberbot/pages/admin/UserManagementPage.js +267 -262
- package/dist/subscriberbot/pages/admin/UserManagementPage.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/AnalyticsDashboard.js +46 -41
- package/dist/subscriberbot/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/BusinessSettingsPage.js +257 -252
- package/dist/subscriberbot/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/CartOwnerDashboard.js +231 -194
- package/dist/subscriberbot/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/CartOwnerProfilePage.js +167 -162
- package/dist/subscriberbot/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/CartServiceConfigPage.js +128 -126
- package/dist/subscriberbot/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/InventoryManagementPage.js +297 -300
- package/dist/subscriberbot/pages/cart-owner/InventoryManagementPage.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/OrderManagementPage.js +220 -223
- package/dist/subscriberbot/pages/cart-owner/OrderManagementPage.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/StaffManagementPage.js +250 -245
- package/dist/subscriberbot/pages/cart-owner/StaffManagementPage.js.map +1 -1
- package/dist/subscriberbot/pages/common/HelpSupportPage.js +94 -96
- package/dist/subscriberbot/pages/common/HelpSupportPage.js.map +1 -1
- package/dist/subscriberbot/pages/common/NotificationCenterPage.js +48 -42
- package/dist/subscriberbot/pages/common/NotificationCenterPage.js.map +1 -1
- package/dist/subscriberbot/pages/common/SettingsPage.js +745 -736
- package/dist/subscriberbot/pages/common/SettingsPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/BookingDetailsPage.js +353 -321
- package/dist/subscriberbot/pages/customer/BookingDetailsPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/CartDetailPage.js +258 -225
- package/dist/subscriberbot/pages/customer/CartDetailPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/CartDiscoveryPage.js +82 -76
- package/dist/subscriberbot/pages/customer/CartDiscoveryPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/CheckoutPage.js +212 -215
- package/dist/subscriberbot/pages/customer/CheckoutPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/CustomerDashboard.js +416 -381
- package/dist/subscriberbot/pages/customer/CustomerDashboard.js.map +1 -1
- package/dist/subscriberbot/pages/customer/CustomerProfilePage.js +488 -479
- package/dist/subscriberbot/pages/customer/CustomerProfilePage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/DirectServiceBookingPage.js +521 -512
- package/dist/subscriberbot/pages/customer/DirectServiceBookingPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/FavoritesPage.js +57 -51
- package/dist/subscriberbot/pages/customer/FavoritesPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/OrderHistoryPage.js +56 -50
- package/dist/subscriberbot/pages/customer/OrderHistoryPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/OrderTrackingPage.js +65 -60
- package/dist/subscriberbot/pages/customer/OrderTrackingPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/PaymentMethodsPage.js +79 -73
- package/dist/subscriberbot/pages/customer/PaymentMethodsPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/ReviewsPage.js +68 -62
- package/dist/subscriberbot/pages/customer/ReviewsPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/SavedAddressesPage.js +60 -54
- package/dist/subscriberbot/pages/customer/SavedAddressesPage.js.map +1 -1
- package/dist/subscriberbot/pages/investor/InvestmentDetailsPage.js +292 -255
- package/dist/subscriberbot/pages/investor/InvestmentDetailsPage.js.map +1 -1
- package/dist/subscriberbot/pages/investor/InvestmentOpportunitiesPage.js +237 -231
- package/dist/subscriberbot/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
- package/dist/subscriberbot/pages/investor/InvestorAnalyticsPage.js +60 -54
- package/dist/subscriberbot/pages/investor/InvestorAnalyticsPage.js.map +1 -1
- package/dist/subscriberbot/pages/investor/InvestorDashboard.js +350 -319
- package/dist/subscriberbot/pages/investor/InvestorDashboard.js.map +1 -1
- package/dist/subscriberbot/pages/investor/InvestorInvestmentsPage.js +106 -100
- package/dist/subscriberbot/pages/investor/InvestorInvestmentsPage.js.map +1 -1
- package/dist/subscriberbot/pages/investor/InvestorPortfolioPage.js +51 -45
- package/dist/subscriberbot/pages/investor/InvestorPortfolioPage.js.map +1 -1
- package/dist/subscriberbot/pages/investor/InvestorProfilePage.js +387 -382
- package/dist/subscriberbot/pages/investor/InvestorProfilePage.js.map +1 -1
- package/dist/subscriberbot/pages/worker/TaskDetailsPage.js +320 -282
- package/dist/subscriberbot/pages/worker/TaskDetailsPage.js.map +1 -1
- package/dist/subscriberbot/pages/worker/WorkerDashboard.js +92 -61
- package/dist/subscriberbot/pages/worker/WorkerDashboard.js.map +1 -1
- package/dist/subscriberbot/pages/worker/WorkerOrdersPage.js +82 -77
- package/dist/subscriberbot/pages/worker/WorkerOrdersPage.js.map +1 -1
- package/dist/subscriberbot/pages/worker/WorkerProfilePage.js +82 -77
- package/dist/subscriberbot/pages/worker/WorkerProfilePage.js.map +1 -1
- package/dist/subscriberbot/pages/worker/WorkerSchedulePage.js +348 -340
- package/dist/subscriberbot/pages/worker/WorkerSchedulePage.js.map +1 -1
- package/package.json +3 -3
|
@@ -4,10 +4,11 @@ import { PageLayout as n } from "../../components/PageLayout.js";
|
|
|
4
4
|
import { EmptyState as r } from "../../components/EmptyState.js";
|
|
5
5
|
import { formatCurrency as i, formatNumber as a } from "../../utils/formatters.js";
|
|
6
6
|
import { useCallback as o, useEffect as s, useMemo as c, useState as l } from "react";
|
|
7
|
-
import { CheckCircle2 as u, Eye as d, FileText as f, IndianRupee as p, MapPin as m, Search as h, Star as g,
|
|
8
|
-
import { jsx as
|
|
7
|
+
import { CheckCircle2 as u, Eye as d, FileText as f, IndianRupee as p, MapPin as m, Search as h, Star as g, Target as _, X as v } from "lucide-react";
|
|
8
|
+
import { jsx as y, jsxs as b } from "react/jsx-runtime";
|
|
9
|
+
import { EmphasisPanel as x, PagePurpose as S } from "@burdenoff/fe-libs/ui";
|
|
9
10
|
//#region src/subscriberbot/pages/investor/InvestmentOpportunitiesPage.tsx
|
|
10
|
-
var
|
|
11
|
+
var C = [
|
|
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
|
-
],
|
|
220
|
+
], w = {
|
|
220
221
|
totalOpportunities: 24,
|
|
221
222
|
averageReturns: 21.5,
|
|
222
223
|
totalFunded: 156e5,
|
|
223
224
|
successRate: 89
|
|
224
225
|
};
|
|
225
|
-
function
|
|
226
|
+
function T(e) {
|
|
226
227
|
switch (e) {
|
|
227
228
|
case "low": return "bg-status-success-bg/20 text-status-success-text";
|
|
228
229
|
case "medium": return "bg-status-warning-bg/20 text-status-warning-text";
|
|
@@ -230,7 +231,7 @@ function S(e) {
|
|
|
230
231
|
default: return "bg-secondary text-secondary-foreground";
|
|
231
232
|
}
|
|
232
233
|
}
|
|
233
|
-
function
|
|
234
|
+
function E(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
|
|
242
|
+
function D(e, t) {
|
|
242
243
|
return t > 0 ? Math.min(e / t * 100, 100) : 0;
|
|
243
244
|
}
|
|
244
|
-
function
|
|
245
|
-
let { navigateTo:
|
|
245
|
+
function O() {
|
|
246
|
+
let { navigateTo: O } = e(), [k, A] = l(!0), [j, M] = l(null), [N, P] = l(!1), [F, I] = l(""), [L, R] = l("idle"), [z, B] = 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(() =>
|
|
255
|
+
let e = setTimeout(() => A(!1), 600);
|
|
255
256
|
return () => clearTimeout(e);
|
|
256
257
|
}, []);
|
|
257
|
-
let
|
|
258
|
-
|
|
258
|
+
let V = o((e, t) => {
|
|
259
|
+
B((n) => ({
|
|
259
260
|
...n,
|
|
260
261
|
[e]: t
|
|
261
262
|
}));
|
|
262
|
-
}, []),
|
|
263
|
-
let e = [...
|
|
264
|
-
if (
|
|
265
|
-
let t =
|
|
263
|
+
}, []), H = c(() => {
|
|
264
|
+
let e = [...C];
|
|
265
|
+
if (z.searchQuery.trim()) {
|
|
266
|
+
let t = z.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 (
|
|
269
|
-
let t = parseInt(
|
|
269
|
+
if (z.category && (e = e.filter((e) => e.category === z.category)), z.riskLevel && (e = e.filter((e) => e.riskLevel === z.riskLevel)), z.location && (e = e.filter((e) => e.location.includes(z.location))), z.minimumAmount) {
|
|
270
|
+
let t = parseInt(z.minimumAmount, 10);
|
|
270
271
|
e = e.filter((e) => e.minimumInvestment <= t);
|
|
271
272
|
}
|
|
272
|
-
switch (
|
|
273
|
+
switch (z.sortBy) {
|
|
273
274
|
case "returns":
|
|
274
275
|
e.sort((e, t) => t.expectedReturns - e.expectedReturns);
|
|
275
276
|
break;
|
|
@@ -285,244 +286,249 @@ function T() {
|
|
|
285
286
|
default: break;
|
|
286
287
|
}
|
|
287
288
|
return e;
|
|
288
|
-
}, [
|
|
289
|
-
if (!
|
|
290
|
-
let e = parseInt(
|
|
289
|
+
}, [z]), U = o(() => {
|
|
290
|
+
if (!j || !F) return;
|
|
291
|
+
let e = parseInt(F, 10);
|
|
291
292
|
if (!isNaN(e)) {
|
|
292
|
-
if (e <
|
|
293
|
-
|
|
293
|
+
if (e < j.minimumInvestment) {
|
|
294
|
+
R("error");
|
|
294
295
|
return;
|
|
295
296
|
}
|
|
296
|
-
if (e >
|
|
297
|
-
|
|
297
|
+
if (e > j.maximumInvestment) {
|
|
298
|
+
R("error");
|
|
298
299
|
return;
|
|
299
300
|
}
|
|
300
|
-
|
|
301
|
-
|
|
301
|
+
R("success"), setTimeout(() => {
|
|
302
|
+
P(!1), I(""), R("idle"), O("/investor/portfolio");
|
|
302
303
|
}, 1500);
|
|
303
304
|
}
|
|
304
305
|
}, [
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
]),
|
|
309
|
-
|
|
306
|
+
j,
|
|
307
|
+
F,
|
|
308
|
+
O
|
|
309
|
+
]), W = o((e) => {
|
|
310
|
+
M(e), I(""), R("idle"), P(!0);
|
|
310
311
|
}, []);
|
|
311
|
-
return
|
|
312
|
+
return k ? /* @__PURE__ */ y(n, {
|
|
312
313
|
title: "Investment Opportunities",
|
|
313
314
|
description: "Loading opportunities...",
|
|
314
|
-
children: /* @__PURE__ */
|
|
315
|
+
children: /* @__PURE__ */ y("div", {
|
|
315
316
|
className: "flex items-center justify-center py-20",
|
|
316
|
-
children: /* @__PURE__ */
|
|
317
|
+
children: /* @__PURE__ */ b("div", {
|
|
317
318
|
className: "text-center",
|
|
318
|
-
children: [/* @__PURE__ */
|
|
319
|
+
children: [/* @__PURE__ */ y("div", { className: "mx-auto mb-4 h-12 w-12 animate-spin rounded-full border-b-2 border-primary" }), /* @__PURE__ */ y("p", {
|
|
319
320
|
className: "text-sm text-text-secondary",
|
|
320
321
|
children: "Loading opportunities..."
|
|
321
322
|
})]
|
|
322
323
|
})
|
|
323
324
|
})
|
|
324
|
-
}) : /* @__PURE__ */
|
|
325
|
+
}) : /* @__PURE__ */ b(n, {
|
|
325
326
|
title: "Investment Opportunities",
|
|
326
327
|
description: "Discover and invest in growing local businesses",
|
|
327
328
|
titleGradient: !0,
|
|
328
|
-
actions: /* @__PURE__ */
|
|
329
|
+
actions: /* @__PURE__ */ b("span", {
|
|
329
330
|
className: "text-sm text-text-secondary",
|
|
330
|
-
children: [
|
|
331
|
+
children: [H.length, " opportunities"]
|
|
331
332
|
}),
|
|
332
333
|
children: [
|
|
333
|
-
/* @__PURE__ */ y(
|
|
334
|
+
/* @__PURE__ */ y(S, {
|
|
335
|
+
icon: /* @__PURE__ */ y(_, { className: "h-4 w-4" }),
|
|
336
|
+
className: "mb-6",
|
|
337
|
+
children: "Where you find your next investment. Browse local carts actively raising capital, each with its expected returns, funding progress and risk level laid out clearly. Filter by category, return or risk to match your strategy, then open any opportunity to review the full pitch before you commit."
|
|
338
|
+
}),
|
|
339
|
+
/* @__PURE__ */ b(x, {
|
|
334
340
|
className: "grid grid-cols-2 gap-3 sm:gap-4 lg:grid-cols-4",
|
|
335
341
|
children: [
|
|
336
|
-
/* @__PURE__ */
|
|
342
|
+
/* @__PURE__ */ b("div", {
|
|
337
343
|
className: "rounded-lg border border-border-seam bg-bg-surface p-3 sm:p-4",
|
|
338
|
-
children: [/* @__PURE__ */
|
|
344
|
+
children: [/* @__PURE__ */ y("p", {
|
|
339
345
|
className: "text-xs text-text-secondary",
|
|
340
346
|
children: "Active Opportunities"
|
|
341
|
-
}), /* @__PURE__ */
|
|
347
|
+
}), /* @__PURE__ */ y("p", {
|
|
342
348
|
className: "text-lg font-bold text-text-primary sm:text-2xl",
|
|
343
|
-
children:
|
|
349
|
+
children: w.totalOpportunities
|
|
344
350
|
})]
|
|
345
351
|
}),
|
|
346
|
-
/* @__PURE__ */
|
|
352
|
+
/* @__PURE__ */ b("div", {
|
|
347
353
|
className: "rounded-lg border border-border-seam bg-bg-surface p-3 sm:p-4",
|
|
348
|
-
children: [/* @__PURE__ */
|
|
354
|
+
children: [/* @__PURE__ */ y("p", {
|
|
349
355
|
className: "text-xs text-text-secondary",
|
|
350
356
|
children: "Average Returns"
|
|
351
|
-
}), /* @__PURE__ */
|
|
357
|
+
}), /* @__PURE__ */ b("p", {
|
|
352
358
|
className: "text-lg font-bold text-status-success-text sm:text-2xl",
|
|
353
|
-
children: [
|
|
359
|
+
children: [w.averageReturns, "%"]
|
|
354
360
|
})]
|
|
355
361
|
}),
|
|
356
|
-
/* @__PURE__ */
|
|
362
|
+
/* @__PURE__ */ b("div", {
|
|
357
363
|
className: "rounded-lg border border-border-seam bg-bg-surface p-3 sm:p-4",
|
|
358
|
-
children: [/* @__PURE__ */
|
|
364
|
+
children: [/* @__PURE__ */ y("p", {
|
|
359
365
|
className: "text-xs text-text-secondary",
|
|
360
366
|
children: "Total Funded"
|
|
361
|
-
}), /* @__PURE__ */
|
|
367
|
+
}), /* @__PURE__ */ y("p", {
|
|
362
368
|
className: "text-lg font-bold text-text-primary sm:text-2xl",
|
|
363
|
-
children: i(
|
|
369
|
+
children: i(w.totalFunded, {
|
|
364
370
|
minimumFractionDigits: 0,
|
|
365
371
|
notation: "compact"
|
|
366
372
|
})
|
|
367
373
|
})]
|
|
368
374
|
}),
|
|
369
|
-
/* @__PURE__ */
|
|
375
|
+
/* @__PURE__ */ b("div", {
|
|
370
376
|
className: "rounded-lg border border-border-seam bg-bg-surface p-3 sm:p-4",
|
|
371
|
-
children: [/* @__PURE__ */
|
|
377
|
+
children: [/* @__PURE__ */ y("p", {
|
|
372
378
|
className: "text-xs text-text-secondary",
|
|
373
379
|
children: "Success Rate"
|
|
374
|
-
}), /* @__PURE__ */
|
|
380
|
+
}), /* @__PURE__ */ b("p", {
|
|
375
381
|
className: "text-lg font-bold text-text-primary sm:text-2xl",
|
|
376
|
-
children: [
|
|
382
|
+
children: [w.successRate, "%"]
|
|
377
383
|
})]
|
|
378
384
|
})
|
|
379
385
|
]
|
|
380
386
|
}),
|
|
381
|
-
/* @__PURE__ */
|
|
387
|
+
/* @__PURE__ */ y("div", {
|
|
382
388
|
className: "mt-6 rounded-lg border border-border-seam bg-bg-surface p-4 sm:p-6",
|
|
383
|
-
children: /* @__PURE__ */
|
|
389
|
+
children: /* @__PURE__ */ b("div", {
|
|
384
390
|
className: "grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-6",
|
|
385
391
|
children: [
|
|
386
|
-
/* @__PURE__ */
|
|
392
|
+
/* @__PURE__ */ b("div", {
|
|
387
393
|
className: "relative sm:col-span-2 lg:col-span-1",
|
|
388
|
-
children: [/* @__PURE__ */
|
|
394
|
+
children: [/* @__PURE__ */ y(h, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-secondary" }), /* @__PURE__ */ y("input", {
|
|
389
395
|
type: "text",
|
|
390
396
|
placeholder: "Search opportunities...",
|
|
391
|
-
value:
|
|
392
|
-
onChange: (e) =>
|
|
397
|
+
value: z.searchQuery,
|
|
398
|
+
onChange: (e) => V("searchQuery", e.target.value),
|
|
393
399
|
className: "w-full rounded-lg border border-border-seam 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)]"
|
|
394
400
|
})]
|
|
395
401
|
}),
|
|
396
|
-
/* @__PURE__ */
|
|
397
|
-
value:
|
|
398
|
-
onChange: (e) =>
|
|
402
|
+
/* @__PURE__ */ b("select", {
|
|
403
|
+
value: z.category,
|
|
404
|
+
onChange: (e) => V("category", e.target.value),
|
|
399
405
|
className: "rounded-lg border border-border-seam bg-bg-surface px-3 py-2 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]",
|
|
400
406
|
children: [
|
|
401
|
-
/* @__PURE__ */
|
|
407
|
+
/* @__PURE__ */ y("option", {
|
|
402
408
|
value: "",
|
|
403
409
|
children: "All Categories"
|
|
404
410
|
}),
|
|
405
|
-
/* @__PURE__ */
|
|
411
|
+
/* @__PURE__ */ y("option", {
|
|
406
412
|
value: "Healthy Food",
|
|
407
413
|
children: "Healthy Food"
|
|
408
414
|
}),
|
|
409
|
-
/* @__PURE__ */
|
|
415
|
+
/* @__PURE__ */ y("option", {
|
|
410
416
|
value: "Fast Food",
|
|
411
417
|
children: "Fast Food"
|
|
412
418
|
}),
|
|
413
|
-
/* @__PURE__ */
|
|
419
|
+
/* @__PURE__ */ y("option", {
|
|
414
420
|
value: "Fusion Food",
|
|
415
421
|
children: "Fusion Food"
|
|
416
422
|
}),
|
|
417
|
-
/* @__PURE__ */
|
|
423
|
+
/* @__PURE__ */ y("option", {
|
|
418
424
|
value: "Beverages",
|
|
419
425
|
children: "Beverages"
|
|
420
426
|
}),
|
|
421
|
-
/* @__PURE__ */
|
|
427
|
+
/* @__PURE__ */ y("option", {
|
|
422
428
|
value: "Street Food",
|
|
423
429
|
children: "Street Food"
|
|
424
430
|
})
|
|
425
431
|
]
|
|
426
432
|
}),
|
|
427
|
-
/* @__PURE__ */
|
|
428
|
-
value:
|
|
429
|
-
onChange: (e) =>
|
|
433
|
+
/* @__PURE__ */ b("select", {
|
|
434
|
+
value: z.riskLevel,
|
|
435
|
+
onChange: (e) => V("riskLevel", e.target.value),
|
|
430
436
|
className: "rounded-lg border border-border-seam bg-bg-surface px-3 py-2 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]",
|
|
431
437
|
children: [
|
|
432
|
-
/* @__PURE__ */
|
|
438
|
+
/* @__PURE__ */ y("option", {
|
|
433
439
|
value: "",
|
|
434
440
|
children: "All Risk Levels"
|
|
435
441
|
}),
|
|
436
|
-
/* @__PURE__ */
|
|
442
|
+
/* @__PURE__ */ y("option", {
|
|
437
443
|
value: "low",
|
|
438
444
|
children: "Low Risk"
|
|
439
445
|
}),
|
|
440
|
-
/* @__PURE__ */
|
|
446
|
+
/* @__PURE__ */ y("option", {
|
|
441
447
|
value: "medium",
|
|
442
448
|
children: "Medium Risk"
|
|
443
449
|
}),
|
|
444
|
-
/* @__PURE__ */
|
|
450
|
+
/* @__PURE__ */ y("option", {
|
|
445
451
|
value: "high",
|
|
446
452
|
children: "High Risk"
|
|
447
453
|
})
|
|
448
454
|
]
|
|
449
455
|
}),
|
|
450
|
-
/* @__PURE__ */
|
|
451
|
-
value:
|
|
452
|
-
onChange: (e) =>
|
|
456
|
+
/* @__PURE__ */ b("select", {
|
|
457
|
+
value: z.minimumAmount,
|
|
458
|
+
onChange: (e) => V("minimumAmount", e.target.value),
|
|
453
459
|
className: "rounded-lg border border-border-seam bg-bg-surface px-3 py-2 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]",
|
|
454
460
|
children: [
|
|
455
|
-
/* @__PURE__ */
|
|
461
|
+
/* @__PURE__ */ y("option", {
|
|
456
462
|
value: "",
|
|
457
463
|
children: "Any Amount"
|
|
458
464
|
}),
|
|
459
|
-
/* @__PURE__ */
|
|
465
|
+
/* @__PURE__ */ y("option", {
|
|
460
466
|
value: "15000",
|
|
461
467
|
children: "Under ₹15,000"
|
|
462
468
|
}),
|
|
463
|
-
/* @__PURE__ */
|
|
469
|
+
/* @__PURE__ */ y("option", {
|
|
464
470
|
value: "25000",
|
|
465
471
|
children: "Under ₹25,000"
|
|
466
472
|
}),
|
|
467
|
-
/* @__PURE__ */
|
|
473
|
+
/* @__PURE__ */ y("option", {
|
|
468
474
|
value: "50000",
|
|
469
475
|
children: "Under ₹50,000"
|
|
470
476
|
}),
|
|
471
|
-
/* @__PURE__ */
|
|
477
|
+
/* @__PURE__ */ y("option", {
|
|
472
478
|
value: "100000",
|
|
473
479
|
children: "Under ₹1,00,000"
|
|
474
480
|
})
|
|
475
481
|
]
|
|
476
482
|
}),
|
|
477
|
-
/* @__PURE__ */
|
|
478
|
-
value:
|
|
479
|
-
onChange: (e) =>
|
|
483
|
+
/* @__PURE__ */ b("select", {
|
|
484
|
+
value: z.location,
|
|
485
|
+
onChange: (e) => V("location", e.target.value),
|
|
480
486
|
className: "rounded-lg border border-border-seam bg-bg-surface px-3 py-2 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]",
|
|
481
487
|
children: [
|
|
482
|
-
/* @__PURE__ */
|
|
488
|
+
/* @__PURE__ */ y("option", {
|
|
483
489
|
value: "",
|
|
484
490
|
children: "All Locations"
|
|
485
491
|
}),
|
|
486
|
-
/* @__PURE__ */
|
|
492
|
+
/* @__PURE__ */ y("option", {
|
|
487
493
|
value: "Whitefield",
|
|
488
494
|
children: "Whitefield"
|
|
489
495
|
}),
|
|
490
|
-
/* @__PURE__ */
|
|
496
|
+
/* @__PURE__ */ y("option", {
|
|
491
497
|
value: "Koramangala",
|
|
492
498
|
children: "Koramangala"
|
|
493
499
|
}),
|
|
494
|
-
/* @__PURE__ */
|
|
500
|
+
/* @__PURE__ */ y("option", {
|
|
495
501
|
value: "Indiranagar",
|
|
496
502
|
children: "Indiranagar"
|
|
497
503
|
}),
|
|
498
|
-
/* @__PURE__ */
|
|
504
|
+
/* @__PURE__ */ y("option", {
|
|
499
505
|
value: "Electronic City",
|
|
500
506
|
children: "Electronic City"
|
|
501
507
|
})
|
|
502
508
|
]
|
|
503
509
|
}),
|
|
504
|
-
/* @__PURE__ */
|
|
505
|
-
value:
|
|
506
|
-
onChange: (e) =>
|
|
510
|
+
/* @__PURE__ */ b("select", {
|
|
511
|
+
value: z.sortBy,
|
|
512
|
+
onChange: (e) => V("sortBy", e.target.value),
|
|
507
513
|
className: "rounded-lg border border-border-seam bg-bg-surface px-3 py-2 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]",
|
|
508
514
|
children: [
|
|
509
|
-
/* @__PURE__ */
|
|
515
|
+
/* @__PURE__ */ y("option", {
|
|
510
516
|
value: "featured",
|
|
511
517
|
children: "Featured"
|
|
512
518
|
}),
|
|
513
|
-
/* @__PURE__ */
|
|
519
|
+
/* @__PURE__ */ y("option", {
|
|
514
520
|
value: "returns",
|
|
515
521
|
children: "Highest Returns"
|
|
516
522
|
}),
|
|
517
|
-
/* @__PURE__ */
|
|
523
|
+
/* @__PURE__ */ y("option", {
|
|
518
524
|
value: "funding",
|
|
519
525
|
children: "Most Funded"
|
|
520
526
|
}),
|
|
521
|
-
/* @__PURE__ */
|
|
527
|
+
/* @__PURE__ */ y("option", {
|
|
522
528
|
value: "closing",
|
|
523
529
|
children: "Closing Soon"
|
|
524
530
|
}),
|
|
525
|
-
/* @__PURE__ */
|
|
531
|
+
/* @__PURE__ */ y("option", {
|
|
526
532
|
value: "minimum",
|
|
527
533
|
children: "Lowest Minimum"
|
|
528
534
|
})
|
|
@@ -531,16 +537,16 @@ function T() {
|
|
|
531
537
|
]
|
|
532
538
|
})
|
|
533
539
|
}),
|
|
534
|
-
|
|
540
|
+
H.length === 0 ? /* @__PURE__ */ y("div", {
|
|
535
541
|
className: "mt-6",
|
|
536
|
-
children: /* @__PURE__ */
|
|
542
|
+
children: /* @__PURE__ */ y(r, {
|
|
537
543
|
illustration: "empty-search",
|
|
538
|
-
icon: /* @__PURE__ */
|
|
544
|
+
icon: /* @__PURE__ */ y(h, { className: "h-10 w-10" }),
|
|
539
545
|
title: "No opportunities found",
|
|
540
546
|
description: "Try adjusting your filters to find more opportunities",
|
|
541
|
-
action: /* @__PURE__ */
|
|
547
|
+
action: /* @__PURE__ */ y("button", {
|
|
542
548
|
type: "button",
|
|
543
|
-
onClick: () =>
|
|
549
|
+
onClick: () => B({
|
|
544
550
|
searchQuery: "",
|
|
545
551
|
category: "",
|
|
546
552
|
riskLevel: "",
|
|
@@ -552,178 +558,178 @@ function T() {
|
|
|
552
558
|
children: "Clear Filters"
|
|
553
559
|
})
|
|
554
560
|
})
|
|
555
|
-
}) : /* @__PURE__ */
|
|
561
|
+
}) : /* @__PURE__ */ y("div", {
|
|
556
562
|
className: "mt-6 grid grid-cols-1 gap-4 lg:grid-cols-2",
|
|
557
|
-
children:
|
|
558
|
-
let n =
|
|
559
|
-
return /* @__PURE__ */
|
|
563
|
+
children: H.map((e) => {
|
|
564
|
+
let n = D(e.raisedAmount, e.targetAmount);
|
|
565
|
+
return /* @__PURE__ */ b("div", {
|
|
560
566
|
className: "rounded-lg border border-border-seam bg-bg-surface shadow-sm hover:shadow-md transition-shadow",
|
|
561
|
-
children: [/* @__PURE__ */
|
|
567
|
+
children: [/* @__PURE__ */ b("div", {
|
|
562
568
|
className: "relative",
|
|
563
569
|
children: [
|
|
564
|
-
/* @__PURE__ */
|
|
570
|
+
/* @__PURE__ */ y("div", {
|
|
565
571
|
className: "h-40 w-full overflow-hidden rounded-t-lg bg-bg-sunken sm:h-48",
|
|
566
|
-
children: /* @__PURE__ */
|
|
572
|
+
children: /* @__PURE__ */ y("img", {
|
|
567
573
|
src: e.image,
|
|
568
574
|
alt: e.cartName,
|
|
569
575
|
className: "h-full w-full object-cover",
|
|
570
576
|
loading: "lazy"
|
|
571
577
|
})
|
|
572
578
|
}),
|
|
573
|
-
e.status === "funded" && /* @__PURE__ */
|
|
579
|
+
e.status === "funded" && /* @__PURE__ */ y("div", {
|
|
574
580
|
className: "absolute right-2 top-2 rounded-full bg-status-success-text px-2 py-1 text-xs font-medium text-text-inverse sm:right-4 sm:top-4 sm:px-3",
|
|
575
581
|
children: "Fully Funded"
|
|
576
582
|
}),
|
|
577
|
-
e.daysLeft > 0 && e.daysLeft <= 7 && /* @__PURE__ */
|
|
583
|
+
e.daysLeft > 0 && e.daysLeft <= 7 && /* @__PURE__ */ b("div", {
|
|
578
584
|
className: "absolute left-2 top-2 rounded-full bg-status-error-text px-2 py-1 text-xs font-medium text-text-inverse sm:left-4 sm:top-4 sm:px-3",
|
|
579
585
|
children: [e.daysLeft, " days left"]
|
|
580
586
|
})
|
|
581
587
|
]
|
|
582
|
-
}), /* @__PURE__ */
|
|
588
|
+
}), /* @__PURE__ */ b("div", {
|
|
583
589
|
className: "p-4 sm:p-6",
|
|
584
590
|
children: [
|
|
585
|
-
/* @__PURE__ */
|
|
591
|
+
/* @__PURE__ */ b("div", {
|
|
586
592
|
className: "mb-4 flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",
|
|
587
|
-
children: [/* @__PURE__ */
|
|
593
|
+
children: [/* @__PURE__ */ b("div", {
|
|
588
594
|
className: "flex-1",
|
|
589
595
|
children: [
|
|
590
|
-
/* @__PURE__ */
|
|
596
|
+
/* @__PURE__ */ y("h3", {
|
|
591
597
|
className: "text-base font-semibold text-text-primary sm:text-xl",
|
|
592
598
|
children: e.cartName
|
|
593
599
|
}),
|
|
594
|
-
/* @__PURE__ */
|
|
600
|
+
/* @__PURE__ */ b("p", {
|
|
595
601
|
className: "text-xs text-text-secondary sm:text-sm",
|
|
596
602
|
children: ["by ", e.cartOwner]
|
|
597
603
|
}),
|
|
598
|
-
/* @__PURE__ */
|
|
604
|
+
/* @__PURE__ */ b("div", {
|
|
599
605
|
className: "mt-2 flex flex-wrap items-center gap-2",
|
|
600
|
-
children: [/* @__PURE__ */
|
|
606
|
+
children: [/* @__PURE__ */ y("span", {
|
|
601
607
|
className: "text-xs text-text-secondary sm:text-sm",
|
|
602
608
|
children: e.category
|
|
603
|
-
}), /* @__PURE__ */
|
|
604
|
-
className: t("rounded-full px-2 py-0.5 text-xs font-medium",
|
|
605
|
-
children:
|
|
609
|
+
}), /* @__PURE__ */ y("span", {
|
|
610
|
+
className: t("rounded-full px-2 py-0.5 text-xs font-medium", T(e.riskLevel)),
|
|
611
|
+
children: E(e.riskLevel)
|
|
606
612
|
})]
|
|
607
613
|
})
|
|
608
614
|
]
|
|
609
|
-
}), /* @__PURE__ */
|
|
615
|
+
}), /* @__PURE__ */ b("div", {
|
|
610
616
|
className: "text-left sm:text-right",
|
|
611
|
-
children: [/* @__PURE__ */
|
|
617
|
+
children: [/* @__PURE__ */ b("p", {
|
|
612
618
|
className: "text-xl font-bold text-status-success-text sm:text-2xl",
|
|
613
619
|
children: [e.expectedReturns, "%"]
|
|
614
|
-
}), /* @__PURE__ */
|
|
620
|
+
}), /* @__PURE__ */ y("p", {
|
|
615
621
|
className: "text-xs text-text-secondary",
|
|
616
622
|
children: "Expected Returns"
|
|
617
623
|
})]
|
|
618
624
|
})]
|
|
619
625
|
}),
|
|
620
|
-
/* @__PURE__ */
|
|
626
|
+
/* @__PURE__ */ y("p", {
|
|
621
627
|
className: "mb-4 text-sm leading-relaxed text-text-secondary line-clamp-2",
|
|
622
628
|
children: e.description
|
|
623
629
|
}),
|
|
624
|
-
/* @__PURE__ */
|
|
630
|
+
/* @__PURE__ */ b("div", {
|
|
625
631
|
className: "mb-4",
|
|
626
632
|
children: [
|
|
627
|
-
/* @__PURE__ */
|
|
633
|
+
/* @__PURE__ */ b("div", {
|
|
628
634
|
className: "mb-1 flex justify-between text-xs sm:text-sm",
|
|
629
|
-
children: [/* @__PURE__ */
|
|
635
|
+
children: [/* @__PURE__ */ b("span", {
|
|
630
636
|
className: "font-medium text-text-primary",
|
|
631
637
|
children: [
|
|
632
638
|
i(e.raisedAmount, { minimumFractionDigits: 0 }),
|
|
633
639
|
" ",
|
|
634
640
|
"raised"
|
|
635
641
|
]
|
|
636
|
-
}), /* @__PURE__ */
|
|
642
|
+
}), /* @__PURE__ */ b("span", {
|
|
637
643
|
className: "text-text-secondary",
|
|
638
644
|
children: ["of ", i(e.targetAmount, { minimumFractionDigits: 0 })]
|
|
639
645
|
})]
|
|
640
646
|
}),
|
|
641
|
-
/* @__PURE__ */
|
|
647
|
+
/* @__PURE__ */ y("div", {
|
|
642
648
|
className: "h-2 w-full overflow-hidden rounded-full bg-bg-sunken",
|
|
643
|
-
children: /* @__PURE__ */
|
|
649
|
+
children: /* @__PURE__ */ y("div", {
|
|
644
650
|
className: "h-full rounded-full bg-action-primary-bg transition-all duration-300",
|
|
645
651
|
style: { width: `${n}%` }
|
|
646
652
|
})
|
|
647
653
|
}),
|
|
648
|
-
/* @__PURE__ */
|
|
654
|
+
/* @__PURE__ */ b("div", {
|
|
649
655
|
className: "mt-1 flex justify-between text-xs text-text-secondary",
|
|
650
|
-
children: [/* @__PURE__ */
|
|
656
|
+
children: [/* @__PURE__ */ b("span", { children: [e.investorCount, " investors"] }), /* @__PURE__ */ b("span", { children: [n.toFixed(0), "% funded"] })]
|
|
651
657
|
})
|
|
652
658
|
]
|
|
653
659
|
}),
|
|
654
|
-
/* @__PURE__ */
|
|
660
|
+
/* @__PURE__ */ b("div", {
|
|
655
661
|
className: "mb-4 grid grid-cols-3 gap-2 text-center sm:gap-4",
|
|
656
662
|
children: [
|
|
657
|
-
/* @__PURE__ */
|
|
663
|
+
/* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
|
|
658
664
|
className: "text-sm font-bold text-text-primary sm:text-lg",
|
|
659
665
|
children: i(e.minimumInvestment, { minimumFractionDigits: 0 })
|
|
660
|
-
}), /* @__PURE__ */
|
|
666
|
+
}), /* @__PURE__ */ y("p", {
|
|
661
667
|
className: "text-xs text-text-secondary",
|
|
662
668
|
children: "Min Investment"
|
|
663
669
|
})] }),
|
|
664
|
-
/* @__PURE__ */
|
|
670
|
+
/* @__PURE__ */ b("div", { children: [/* @__PURE__ */ b("p", {
|
|
665
671
|
className: "text-sm font-bold text-text-primary sm:text-lg",
|
|
666
672
|
children: [e.paybackPeriod, " mo"]
|
|
667
|
-
}), /* @__PURE__ */
|
|
673
|
+
}), /* @__PURE__ */ y("p", {
|
|
668
674
|
className: "text-xs text-text-secondary",
|
|
669
675
|
children: "Payback Period"
|
|
670
676
|
})] }),
|
|
671
|
-
/* @__PURE__ */
|
|
677
|
+
/* @__PURE__ */ b("div", { children: [/* @__PURE__ */ b("div", {
|
|
672
678
|
className: "flex items-center justify-center gap-1",
|
|
673
|
-
children: [/* @__PURE__ */
|
|
679
|
+
children: [/* @__PURE__ */ y(g, { className: "h-3.5 w-3.5 fill-status-warning-text text-status-warning-text" }), /* @__PURE__ */ y("p", {
|
|
674
680
|
className: "text-sm font-bold text-text-primary sm:text-lg",
|
|
675
681
|
children: e.businessMetrics.rating
|
|
676
682
|
})]
|
|
677
|
-
}), /* @__PURE__ */
|
|
683
|
+
}), /* @__PURE__ */ y("p", {
|
|
678
684
|
className: "text-xs text-text-secondary",
|
|
679
685
|
children: "Rating"
|
|
680
686
|
})] })
|
|
681
687
|
]
|
|
682
688
|
}),
|
|
683
|
-
/* @__PURE__ */
|
|
689
|
+
/* @__PURE__ */ b("div", {
|
|
684
690
|
className: "mb-4 border-t border-border-seam pt-3 sm:pt-4",
|
|
685
|
-
children: [/* @__PURE__ */
|
|
691
|
+
children: [/* @__PURE__ */ y("p", {
|
|
686
692
|
className: "mb-2 text-xs font-medium text-text-secondary sm:text-sm",
|
|
687
693
|
children: "Business Performance"
|
|
688
|
-
}), /* @__PURE__ */
|
|
694
|
+
}), /* @__PURE__ */ b("div", {
|
|
689
695
|
className: "grid grid-cols-1 gap-2 text-xs sm:grid-cols-2 sm:text-sm",
|
|
690
696
|
children: [
|
|
691
|
-
/* @__PURE__ */
|
|
697
|
+
/* @__PURE__ */ b("div", {
|
|
692
698
|
className: "flex justify-between",
|
|
693
|
-
children: [/* @__PURE__ */
|
|
699
|
+
children: [/* @__PURE__ */ y("span", {
|
|
694
700
|
className: "text-text-secondary",
|
|
695
701
|
children: "Monthly Revenue:"
|
|
696
|
-
}), /* @__PURE__ */
|
|
702
|
+
}), /* @__PURE__ */ y("span", {
|
|
697
703
|
className: "font-medium text-text-primary",
|
|
698
704
|
children: i(e.businessMetrics.monthlyRevenue, { minimumFractionDigits: 0 })
|
|
699
705
|
})]
|
|
700
706
|
}),
|
|
701
|
-
/* @__PURE__ */
|
|
707
|
+
/* @__PURE__ */ b("div", {
|
|
702
708
|
className: "flex justify-between",
|
|
703
|
-
children: [/* @__PURE__ */
|
|
709
|
+
children: [/* @__PURE__ */ y("span", {
|
|
704
710
|
className: "text-text-secondary",
|
|
705
711
|
children: "Gross Margin:"
|
|
706
|
-
}), /* @__PURE__ */
|
|
712
|
+
}), /* @__PURE__ */ b("span", {
|
|
707
713
|
className: "font-medium text-text-primary",
|
|
708
714
|
children: [e.financials.grossMargin, "%"]
|
|
709
715
|
})]
|
|
710
716
|
}),
|
|
711
|
-
/* @__PURE__ */
|
|
717
|
+
/* @__PURE__ */ b("div", {
|
|
712
718
|
className: "flex justify-between",
|
|
713
|
-
children: [/* @__PURE__ */
|
|
719
|
+
children: [/* @__PURE__ */ y("span", {
|
|
714
720
|
className: "text-text-secondary",
|
|
715
721
|
children: "Monthly Orders:"
|
|
716
|
-
}), /* @__PURE__ */
|
|
722
|
+
}), /* @__PURE__ */ y("span", {
|
|
717
723
|
className: "font-medium text-text-primary",
|
|
718
724
|
children: a(e.businessMetrics.monthlyOrders)
|
|
719
725
|
})]
|
|
720
726
|
}),
|
|
721
|
-
/* @__PURE__ */
|
|
727
|
+
/* @__PURE__ */ b("div", {
|
|
722
728
|
className: "flex justify-between",
|
|
723
|
-
children: [/* @__PURE__ */
|
|
729
|
+
children: [/* @__PURE__ */ y("span", {
|
|
724
730
|
className: "text-text-secondary",
|
|
725
731
|
children: "Net Margin:"
|
|
726
|
-
}), /* @__PURE__ */
|
|
732
|
+
}), /* @__PURE__ */ b("span", {
|
|
727
733
|
className: "font-medium text-text-primary",
|
|
728
734
|
children: [e.financials.netMargin, "%"]
|
|
729
735
|
})]
|
|
@@ -731,30 +737,30 @@ function T() {
|
|
|
731
737
|
]
|
|
732
738
|
})]
|
|
733
739
|
}),
|
|
734
|
-
/* @__PURE__ */
|
|
740
|
+
/* @__PURE__ */ y("div", {
|
|
735
741
|
className: "mb-4 border-t border-border-seam pt-3",
|
|
736
|
-
children: /* @__PURE__ */
|
|
742
|
+
children: /* @__PURE__ */ b("div", {
|
|
737
743
|
className: "flex items-center gap-1.5 text-xs text-text-secondary",
|
|
738
|
-
children: [/* @__PURE__ */
|
|
744
|
+
children: [/* @__PURE__ */ y(f, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ b("span", { children: [e.documents.length, " documents available"] })]
|
|
739
745
|
})
|
|
740
746
|
}),
|
|
741
|
-
/* @__PURE__ */
|
|
747
|
+
/* @__PURE__ */ b("div", {
|
|
742
748
|
className: "mb-4 flex items-center gap-1.5 text-xs text-text-secondary",
|
|
743
|
-
children: [/* @__PURE__ */
|
|
749
|
+
children: [/* @__PURE__ */ y(m, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ y("span", { children: e.location })]
|
|
744
750
|
}),
|
|
745
|
-
/* @__PURE__ */
|
|
751
|
+
/* @__PURE__ */ b("div", {
|
|
746
752
|
className: "flex flex-col gap-2 sm:flex-row sm:gap-3",
|
|
747
|
-
children: [/* @__PURE__ */
|
|
753
|
+
children: [/* @__PURE__ */ y("button", {
|
|
748
754
|
type: "button",
|
|
749
|
-
onClick: () =>
|
|
755
|
+
onClick: () => W(e),
|
|
750
756
|
disabled: e.status === "funded",
|
|
751
757
|
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"),
|
|
752
758
|
children: e.status === "funded" ? "Fully Funded" : "Invest Now"
|
|
753
|
-
}), /* @__PURE__ */
|
|
759
|
+
}), /* @__PURE__ */ b("button", {
|
|
754
760
|
type: "button",
|
|
755
|
-
onClick: () =>
|
|
761
|
+
onClick: () => O(`/investor/opportunities/${e.id}`),
|
|
756
762
|
className: "flex flex-1 items-center justify-center gap-2 rounded-lg border border-border-seam px-4 py-2.5 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
|
|
757
|
-
children: [/* @__PURE__ */
|
|
763
|
+
children: [/* @__PURE__ */ y(d, { className: "h-4 w-4" }), "View Details"]
|
|
758
764
|
})]
|
|
759
765
|
})
|
|
760
766
|
]
|
|
@@ -762,168 +768,168 @@ function T() {
|
|
|
762
768
|
}, e.id);
|
|
763
769
|
})
|
|
764
770
|
}),
|
|
765
|
-
|
|
771
|
+
N && j && /* @__PURE__ */ y("div", {
|
|
766
772
|
className: "fixed inset-0 z-50 flex items-center justify-center bg-bg-canvas/50 p-4",
|
|
767
|
-
children: /* @__PURE__ */
|
|
773
|
+
children: /* @__PURE__ */ b("div", {
|
|
768
774
|
className: "relative max-h-[90vh] w-full max-w-md overflow-y-auto rounded-lg border border-border-seam bg-bg-surface p-4 sm:p-6",
|
|
769
775
|
children: [
|
|
770
|
-
/* @__PURE__ */
|
|
776
|
+
/* @__PURE__ */ y("button", {
|
|
771
777
|
type: "button",
|
|
772
778
|
onClick: () => {
|
|
773
|
-
|
|
779
|
+
P(!1), I(""), R("idle");
|
|
774
780
|
},
|
|
775
781
|
className: "absolute right-3 top-3 rounded-lg p-1 text-text-secondary hover:bg-accent transition-colors",
|
|
776
|
-
children: /* @__PURE__ */ v
|
|
782
|
+
children: /* @__PURE__ */ y(v, { className: "h-5 w-5" })
|
|
777
783
|
}),
|
|
778
|
-
/* @__PURE__ */
|
|
784
|
+
/* @__PURE__ */ b("h3", {
|
|
779
785
|
className: "mb-4 text-base font-semibold text-text-primary sm:text-lg",
|
|
780
|
-
children: ["Invest in ",
|
|
786
|
+
children: ["Invest in ", j.cartName]
|
|
781
787
|
}),
|
|
782
|
-
|
|
788
|
+
L === "success" ? /* @__PURE__ */ b("div", {
|
|
783
789
|
className: "py-8 text-center",
|
|
784
790
|
children: [
|
|
785
|
-
/* @__PURE__ */
|
|
786
|
-
/* @__PURE__ */
|
|
791
|
+
/* @__PURE__ */ y(u, { className: "mx-auto mb-3 h-12 w-12 text-status-success-text" }),
|
|
792
|
+
/* @__PURE__ */ y("p", {
|
|
787
793
|
className: "text-sm font-medium text-text-primary",
|
|
788
794
|
children: "Investment successful!"
|
|
789
795
|
}),
|
|
790
|
-
/* @__PURE__ */
|
|
796
|
+
/* @__PURE__ */ y("p", {
|
|
791
797
|
className: "mt-1 text-xs text-text-secondary",
|
|
792
798
|
children: "Redirecting to your portfolio..."
|
|
793
799
|
})
|
|
794
800
|
]
|
|
795
|
-
}) : /* @__PURE__ */
|
|
801
|
+
}) : /* @__PURE__ */ b("div", {
|
|
796
802
|
className: "space-y-4",
|
|
797
803
|
children: [
|
|
798
|
-
/* @__PURE__ */
|
|
804
|
+
/* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
|
|
799
805
|
className: "mb-1 text-xs text-text-secondary sm:text-sm",
|
|
800
806
|
children: "Investment Range"
|
|
801
|
-
}), /* @__PURE__ */
|
|
807
|
+
}), /* @__PURE__ */ b("p", {
|
|
802
808
|
className: "text-sm font-medium text-text-primary sm:text-base",
|
|
803
809
|
children: [
|
|
804
|
-
i(
|
|
810
|
+
i(j.minimumInvestment, { minimumFractionDigits: 0 }),
|
|
805
811
|
" ",
|
|
806
812
|
"-",
|
|
807
813
|
" ",
|
|
808
|
-
i(
|
|
814
|
+
i(j.maximumInvestment, { minimumFractionDigits: 0 })
|
|
809
815
|
]
|
|
810
816
|
})] }),
|
|
811
|
-
/* @__PURE__ */
|
|
812
|
-
/* @__PURE__ */
|
|
817
|
+
/* @__PURE__ */ b("div", { children: [
|
|
818
|
+
/* @__PURE__ */ y("label", {
|
|
813
819
|
className: "mb-1 block text-xs font-medium text-text-primary sm:text-sm",
|
|
814
820
|
children: "Investment Amount"
|
|
815
821
|
}),
|
|
816
|
-
/* @__PURE__ */
|
|
822
|
+
/* @__PURE__ */ b("div", {
|
|
817
823
|
className: "relative",
|
|
818
|
-
children: [/* @__PURE__ */
|
|
824
|
+
children: [/* @__PURE__ */ y(p, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-secondary" }), /* @__PURE__ */ y("input", {
|
|
819
825
|
type: "number",
|
|
820
|
-
value:
|
|
826
|
+
value: F,
|
|
821
827
|
onChange: (e) => {
|
|
822
|
-
|
|
828
|
+
I(e.target.value), R("idle");
|
|
823
829
|
},
|
|
824
830
|
placeholder: "Enter amount",
|
|
825
831
|
className: "w-full rounded-lg border border-border-seam 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)]"
|
|
826
832
|
})]
|
|
827
833
|
}),
|
|
828
|
-
|
|
834
|
+
L === "error" && /* @__PURE__ */ b("p", {
|
|
829
835
|
className: "mt-1 text-xs text-status-error-text",
|
|
830
836
|
children: [
|
|
831
837
|
"Amount must be between",
|
|
832
838
|
" ",
|
|
833
|
-
i(
|
|
839
|
+
i(j.minimumInvestment, { minimumFractionDigits: 0 }),
|
|
834
840
|
" ",
|
|
835
841
|
"and",
|
|
836
842
|
" ",
|
|
837
|
-
i(
|
|
843
|
+
i(j.maximumInvestment, { minimumFractionDigits: 0 })
|
|
838
844
|
]
|
|
839
845
|
})
|
|
840
846
|
] }),
|
|
841
|
-
|
|
847
|
+
F && !isNaN(parseInt(F, 10)) && parseInt(F, 10) > 0 && /* @__PURE__ */ b("div", {
|
|
842
848
|
className: "rounded-lg border border-border-seam bg-bg-sunken/50 p-3 sm:p-4",
|
|
843
|
-
children: [/* @__PURE__ */
|
|
849
|
+
children: [/* @__PURE__ */ y("p", {
|
|
844
850
|
className: "mb-2 text-xs text-text-secondary sm:text-sm",
|
|
845
851
|
children: "Expected Returns"
|
|
846
|
-
}), /* @__PURE__ */
|
|
852
|
+
}), /* @__PURE__ */ b("div", {
|
|
847
853
|
className: "space-y-1.5",
|
|
848
854
|
children: [
|
|
849
|
-
/* @__PURE__ */
|
|
855
|
+
/* @__PURE__ */ b("div", {
|
|
850
856
|
className: "flex justify-between",
|
|
851
|
-
children: [/* @__PURE__ */
|
|
857
|
+
children: [/* @__PURE__ */ y("span", {
|
|
852
858
|
className: "text-xs text-text-primary sm:text-sm",
|
|
853
859
|
children: "Investment:"
|
|
854
|
-
}), /* @__PURE__ */
|
|
860
|
+
}), /* @__PURE__ */ y("span", {
|
|
855
861
|
className: "text-xs font-medium text-text-primary sm:text-sm",
|
|
856
|
-
children: i(parseInt(
|
|
862
|
+
children: i(parseInt(F, 10), { minimumFractionDigits: 0 })
|
|
857
863
|
})]
|
|
858
864
|
}),
|
|
859
|
-
/* @__PURE__ */
|
|
865
|
+
/* @__PURE__ */ b("div", {
|
|
860
866
|
className: "flex justify-between",
|
|
861
|
-
children: [/* @__PURE__ */
|
|
867
|
+
children: [/* @__PURE__ */ b("span", {
|
|
862
868
|
className: "text-xs text-text-primary sm:text-sm",
|
|
863
869
|
children: [
|
|
864
870
|
"Expected Return (",
|
|
865
|
-
|
|
871
|
+
j.expectedReturns,
|
|
866
872
|
"%):"
|
|
867
873
|
]
|
|
868
|
-
}), /* @__PURE__ */
|
|
874
|
+
}), /* @__PURE__ */ b("span", {
|
|
869
875
|
className: "text-xs font-medium text-status-success-text sm:text-sm",
|
|
870
|
-
children: ["+", i(parseInt(
|
|
876
|
+
children: ["+", i(parseInt(F, 10) * j.expectedReturns / 100, { minimumFractionDigits: 0 })]
|
|
871
877
|
})]
|
|
872
878
|
}),
|
|
873
|
-
/* @__PURE__ */
|
|
879
|
+
/* @__PURE__ */ b("div", {
|
|
874
880
|
className: "flex justify-between border-t border-border-seam pt-2",
|
|
875
|
-
children: [/* @__PURE__ */
|
|
881
|
+
children: [/* @__PURE__ */ y("span", {
|
|
876
882
|
className: "text-xs font-medium text-text-primary sm:text-sm",
|
|
877
883
|
children: "Total Value:"
|
|
878
|
-
}), /* @__PURE__ */
|
|
884
|
+
}), /* @__PURE__ */ y("span", {
|
|
879
885
|
className: "text-xs font-bold text-text-primary sm:text-sm",
|
|
880
|
-
children: i(parseInt(
|
|
886
|
+
children: i(parseInt(F, 10) * (1 + j.expectedReturns / 100), { minimumFractionDigits: 0 })
|
|
881
887
|
})]
|
|
882
888
|
})
|
|
883
889
|
]
|
|
884
890
|
})]
|
|
885
891
|
}),
|
|
886
|
-
/* @__PURE__ */
|
|
892
|
+
/* @__PURE__ */ b("div", {
|
|
887
893
|
className: "space-y-1 text-xs text-text-secondary sm:text-sm",
|
|
888
894
|
children: [
|
|
889
|
-
/* @__PURE__ */
|
|
895
|
+
/* @__PURE__ */ b("p", { children: [
|
|
890
896
|
"• Minimum lock-in period:",
|
|
891
897
|
" ",
|
|
892
|
-
|
|
898
|
+
j.investmentTerms.lockInPeriod,
|
|
893
899
|
" months"
|
|
894
900
|
] }),
|
|
895
|
-
/* @__PURE__ */
|
|
901
|
+
/* @__PURE__ */ b("p", { children: [
|
|
896
902
|
"• Dividend frequency:",
|
|
897
903
|
" ",
|
|
898
|
-
|
|
904
|
+
j.investmentTerms.dividendFrequency
|
|
899
905
|
] }),
|
|
900
|
-
/* @__PURE__ */
|
|
906
|
+
/* @__PURE__ */ b("p", { children: [
|
|
901
907
|
"• Your equity stake:",
|
|
902
908
|
" ",
|
|
903
|
-
((parseInt(
|
|
909
|
+
((parseInt(F, 10) || 0) / j.targetAmount * j.investmentTerms.equityOffered).toFixed(2),
|
|
904
910
|
"%"
|
|
905
911
|
] }),
|
|
906
|
-
/* @__PURE__ */
|
|
912
|
+
/* @__PURE__ */ b("p", { children: [
|
|
907
913
|
"• Exit options:",
|
|
908
914
|
" ",
|
|
909
|
-
|
|
915
|
+
j.investmentTerms.exitOptions.join(", ")
|
|
910
916
|
] })
|
|
911
917
|
]
|
|
912
918
|
}),
|
|
913
|
-
/* @__PURE__ */
|
|
919
|
+
/* @__PURE__ */ b("div", {
|
|
914
920
|
className: "flex flex-col gap-2 pt-2 sm:flex-row sm:gap-3",
|
|
915
|
-
children: [/* @__PURE__ */
|
|
921
|
+
children: [/* @__PURE__ */ y("button", {
|
|
916
922
|
type: "button",
|
|
917
923
|
onClick: () => {
|
|
918
|
-
|
|
924
|
+
P(!1), I(""), R("idle");
|
|
919
925
|
},
|
|
920
926
|
className: "flex-1 rounded-lg border border-border-seam px-4 py-2.5 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
|
|
921
927
|
children: "Cancel"
|
|
922
|
-
}), /* @__PURE__ */
|
|
928
|
+
}), /* @__PURE__ */ y("button", {
|
|
923
929
|
type: "button",
|
|
924
|
-
onClick:
|
|
925
|
-
disabled: !
|
|
926
|
-
className: t("flex-1 rounded-lg px-4 py-2.5 text-sm font-medium transition-colors", !
|
|
930
|
+
onClick: U,
|
|
931
|
+
disabled: !F || isNaN(parseInt(F, 10)) || parseInt(F, 10) < j.minimumInvestment,
|
|
932
|
+
className: t("flex-1 rounded-lg px-4 py-2.5 text-sm font-medium transition-colors", !F || isNaN(parseInt(F, 10)) || parseInt(F, 10) < j.minimumInvestment ? "cursor-not-allowed bg-bg-sunken text-text-secondary" : "bg-action-primary-bg text-action-primary-text hover:bg-action-primary-bg/90"),
|
|
927
933
|
children: "Confirm Investment"
|
|
928
934
|
})]
|
|
929
935
|
})
|
|
@@ -936,6 +942,6 @@ function T() {
|
|
|
936
942
|
});
|
|
937
943
|
}
|
|
938
944
|
//#endregion
|
|
939
|
-
export {
|
|
945
|
+
export { O as InvestmentOpportunitiesPage };
|
|
940
946
|
|
|
941
947
|
//# sourceMappingURL=InvestmentOpportunitiesPage.js.map
|