@burdenoff/microfe-subscriberbot 2026.624.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/components/EmptyState.js +17 -10
- package/dist/subscriberbot/components/EmptyState.js.map +1 -1
- package/dist/subscriberbot/components/InvestmentCard.js +23 -22
- package/dist/subscriberbot/components/InvestmentCard.js.map +1 -1
- package/dist/subscriberbot/components/MetricsCard.js +15 -12
- package/dist/subscriberbot/components/MetricsCard.js.map +1 -1
- package/dist/subscriberbot/components/PageLayout.js +27 -15
- package/dist/subscriberbot/components/PageLayout.js.map +1 -1
- package/dist/subscriberbot/components/RatingDisplay.js +3 -3
- package/dist/subscriberbot/components/RatingDisplay.js.map +1 -1
- package/dist/subscriberbot/components/StatusBadge.js +25 -13
- package/dist/subscriberbot/components/StatusBadge.js.map +1 -1
- package/dist/subscriberbot/context/SubscriberBotContext.js.map +1 -1
- package/dist/subscriberbot/pages/HomePage.js +72 -63
- package/dist/subscriberbot/pages/HomePage.js.map +1 -1
- package/dist/subscriberbot/pages/admin/AdminAnalyticsPage.js +106 -100
- package/dist/subscriberbot/pages/admin/AdminAnalyticsPage.js.map +1 -1
- package/dist/subscriberbot/pages/admin/AdminDashboard.js +125 -85
- package/dist/subscriberbot/pages/admin/AdminDashboard.js.map +1 -1
- package/dist/subscriberbot/pages/admin/AdminFinancialPage.js +51 -45
- package/dist/subscriberbot/pages/admin/AdminFinancialPage.js.map +1 -1
- package/dist/subscriberbot/pages/admin/AdminOrdersPage.js +246 -241
- package/dist/subscriberbot/pages/admin/AdminOrdersPage.js.map +1 -1
- package/dist/subscriberbot/pages/admin/AdminProfilePage.js +131 -129
- package/dist/subscriberbot/pages/admin/AdminProfilePage.js.map +1 -1
- package/dist/subscriberbot/pages/admin/AdminSettingsPage.js +247 -242
- package/dist/subscriberbot/pages/admin/AdminSettingsPage.js.map +1 -1
- package/dist/subscriberbot/pages/admin/CartManagementPage.js +307 -302
- package/dist/subscriberbot/pages/admin/CartManagementPage.js.map +1 -1
- package/dist/subscriberbot/pages/admin/UserManagementPage.js +308 -303
- package/dist/subscriberbot/pages/admin/UserManagementPage.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/AnalyticsDashboard.js +89 -84
- package/dist/subscriberbot/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/BusinessSettingsPage.js +269 -264
- package/dist/subscriberbot/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/CartOwnerDashboard.js +269 -227
- package/dist/subscriberbot/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/CartOwnerProfilePage.js +191 -186
- package/dist/subscriberbot/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/CartServiceConfigPage.js +168 -166
- package/dist/subscriberbot/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/InventoryManagementPage.js +344 -347
- package/dist/subscriberbot/pages/cart-owner/InventoryManagementPage.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/OrderManagementPage.js +270 -272
- package/dist/subscriberbot/pages/cart-owner/OrderManagementPage.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/StaffManagementPage.js +294 -289
- package/dist/subscriberbot/pages/cart-owner/StaffManagementPage.js.map +1 -1
- package/dist/subscriberbot/pages/common/HelpSupportPage.js +156 -158
- package/dist/subscriberbot/pages/common/HelpSupportPage.js.map +1 -1
- package/dist/subscriberbot/pages/common/NotificationCenterPage.js +94 -87
- package/dist/subscriberbot/pages/common/NotificationCenterPage.js.map +1 -1
- package/dist/subscriberbot/pages/common/SettingsPage.js +749 -740
- package/dist/subscriberbot/pages/common/SettingsPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/BookingDetailsPage.js +357 -324
- package/dist/subscriberbot/pages/customer/BookingDetailsPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/CartDetailPage.js +281 -247
- package/dist/subscriberbot/pages/customer/CartDetailPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/CartDiscoveryPage.js +106 -98
- package/dist/subscriberbot/pages/customer/CartDiscoveryPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/CheckoutPage.js +235 -238
- package/dist/subscriberbot/pages/customer/CheckoutPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/CustomerDashboard.js +426 -390
- 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 +522 -512
- package/dist/subscriberbot/pages/customer/DirectServiceBookingPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/FavoritesPage.js +73 -66
- package/dist/subscriberbot/pages/customer/FavoritesPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/OrderHistoryPage.js +75 -67
- package/dist/subscriberbot/pages/customer/OrderHistoryPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/OrderTrackingPage.js +82 -76
- package/dist/subscriberbot/pages/customer/OrderTrackingPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/PaymentMethodsPage.js +100 -93
- package/dist/subscriberbot/pages/customer/PaymentMethodsPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/ReviewsPage.js +97 -90
- package/dist/subscriberbot/pages/customer/ReviewsPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/SavedAddressesPage.js +86 -79
- package/dist/subscriberbot/pages/customer/SavedAddressesPage.js.map +1 -1
- package/dist/subscriberbot/pages/investor/InvestmentDetailsPage.js +330 -293
- package/dist/subscriberbot/pages/investor/InvestmentDetailsPage.js.map +1 -1
- package/dist/subscriberbot/pages/investor/InvestmentOpportunitiesPage.js +269 -261
- package/dist/subscriberbot/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
- package/dist/subscriberbot/pages/investor/InvestorAnalyticsPage.js +97 -91
- package/dist/subscriberbot/pages/investor/InvestorAnalyticsPage.js.map +1 -1
- package/dist/subscriberbot/pages/investor/InvestorDashboard.js +354 -322
- package/dist/subscriberbot/pages/investor/InvestorDashboard.js.map +1 -1
- package/dist/subscriberbot/pages/investor/InvestorInvestmentsPage.js +118 -111
- package/dist/subscriberbot/pages/investor/InvestorInvestmentsPage.js.map +1 -1
- package/dist/subscriberbot/pages/investor/InvestorPortfolioPage.js +75 -69
- package/dist/subscriberbot/pages/investor/InvestorPortfolioPage.js.map +1 -1
- package/dist/subscriberbot/pages/investor/InvestorProfilePage.js +435 -430
- package/dist/subscriberbot/pages/investor/InvestorProfilePage.js.map +1 -1
- package/dist/subscriberbot/pages/worker/TaskDetailsPage.js +328 -289
- package/dist/subscriberbot/pages/worker/TaskDetailsPage.js.map +1 -1
- package/dist/subscriberbot/pages/worker/WorkerDashboard.js +135 -103
- package/dist/subscriberbot/pages/worker/WorkerDashboard.js.map +1 -1
- package/dist/subscriberbot/pages/worker/WorkerOrdersPage.js +120 -114
- package/dist/subscriberbot/pages/worker/WorkerOrdersPage.js.map +1 -1
- package/dist/subscriberbot/pages/worker/WorkerProfilePage.js +125 -120
- package/dist/subscriberbot/pages/worker/WorkerProfilePage.js.map +1 -1
- package/dist/subscriberbot/pages/worker/WorkerSchedulePage.js +354 -344
- 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,21 +217,21 @@ 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
|
-
case "low": return "bg-
|
|
228
|
-
case "medium": return "bg-
|
|
229
|
-
case "high": return "bg-
|
|
228
|
+
case "low": return "bg-status-success-bg/20 text-status-success-text";
|
|
229
|
+
case "medium": return "bg-status-warning-bg/20 text-status-warning-text";
|
|
230
|
+
case "high": return "bg-status-error-bg/20 text-status-error-text";
|
|
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,243 +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,
|
|
329
|
+
actions: /* @__PURE__ */ b("span", {
|
|
328
330
|
className: "text-sm text-text-secondary",
|
|
329
|
-
children: [
|
|
331
|
+
children: [H.length, " opportunities"]
|
|
330
332
|
}),
|
|
331
333
|
children: [
|
|
332
|
-
/* @__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, {
|
|
333
340
|
className: "grid grid-cols-2 gap-3 sm:gap-4 lg:grid-cols-4",
|
|
334
341
|
children: [
|
|
335
|
-
/* @__PURE__ */
|
|
336
|
-
className: "rounded-lg border border-border-
|
|
337
|
-
children: [/* @__PURE__ */
|
|
342
|
+
/* @__PURE__ */ b("div", {
|
|
343
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-3 sm:p-4",
|
|
344
|
+
children: [/* @__PURE__ */ y("p", {
|
|
338
345
|
className: "text-xs text-text-secondary",
|
|
339
346
|
children: "Active Opportunities"
|
|
340
|
-
}), /* @__PURE__ */
|
|
347
|
+
}), /* @__PURE__ */ y("p", {
|
|
341
348
|
className: "text-lg font-bold text-text-primary sm:text-2xl",
|
|
342
|
-
children:
|
|
349
|
+
children: w.totalOpportunities
|
|
343
350
|
})]
|
|
344
351
|
}),
|
|
345
|
-
/* @__PURE__ */
|
|
346
|
-
className: "rounded-lg border border-border-
|
|
347
|
-
children: [/* @__PURE__ */
|
|
352
|
+
/* @__PURE__ */ b("div", {
|
|
353
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-3 sm:p-4",
|
|
354
|
+
children: [/* @__PURE__ */ y("p", {
|
|
348
355
|
className: "text-xs text-text-secondary",
|
|
349
356
|
children: "Average Returns"
|
|
350
|
-
}), /* @__PURE__ */
|
|
351
|
-
className: "text-lg font-bold text-
|
|
352
|
-
children: [
|
|
357
|
+
}), /* @__PURE__ */ b("p", {
|
|
358
|
+
className: "text-lg font-bold text-status-success-text sm:text-2xl",
|
|
359
|
+
children: [w.averageReturns, "%"]
|
|
353
360
|
})]
|
|
354
361
|
}),
|
|
355
|
-
/* @__PURE__ */
|
|
356
|
-
className: "rounded-lg border border-border-
|
|
357
|
-
children: [/* @__PURE__ */
|
|
362
|
+
/* @__PURE__ */ b("div", {
|
|
363
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-3 sm:p-4",
|
|
364
|
+
children: [/* @__PURE__ */ y("p", {
|
|
358
365
|
className: "text-xs text-text-secondary",
|
|
359
366
|
children: "Total Funded"
|
|
360
|
-
}), /* @__PURE__ */
|
|
367
|
+
}), /* @__PURE__ */ y("p", {
|
|
361
368
|
className: "text-lg font-bold text-text-primary sm:text-2xl",
|
|
362
|
-
children: i(
|
|
369
|
+
children: i(w.totalFunded, {
|
|
363
370
|
minimumFractionDigits: 0,
|
|
364
371
|
notation: "compact"
|
|
365
372
|
})
|
|
366
373
|
})]
|
|
367
374
|
}),
|
|
368
|
-
/* @__PURE__ */
|
|
369
|
-
className: "rounded-lg border border-border-
|
|
370
|
-
children: [/* @__PURE__ */
|
|
375
|
+
/* @__PURE__ */ b("div", {
|
|
376
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-3 sm:p-4",
|
|
377
|
+
children: [/* @__PURE__ */ y("p", {
|
|
371
378
|
className: "text-xs text-text-secondary",
|
|
372
379
|
children: "Success Rate"
|
|
373
|
-
}), /* @__PURE__ */
|
|
380
|
+
}), /* @__PURE__ */ b("p", {
|
|
374
381
|
className: "text-lg font-bold text-text-primary sm:text-2xl",
|
|
375
|
-
children: [
|
|
382
|
+
children: [w.successRate, "%"]
|
|
376
383
|
})]
|
|
377
384
|
})
|
|
378
385
|
]
|
|
379
386
|
}),
|
|
380
|
-
/* @__PURE__ */
|
|
381
|
-
className: "mt-6 rounded-lg border border-border-
|
|
382
|
-
children: /* @__PURE__ */
|
|
387
|
+
/* @__PURE__ */ y("div", {
|
|
388
|
+
className: "mt-6 rounded-lg border border-border-seam bg-bg-surface p-4 sm:p-6",
|
|
389
|
+
children: /* @__PURE__ */ b("div", {
|
|
383
390
|
className: "grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-6",
|
|
384
391
|
children: [
|
|
385
|
-
/* @__PURE__ */
|
|
392
|
+
/* @__PURE__ */ b("div", {
|
|
386
393
|
className: "relative sm:col-span-2 lg:col-span-1",
|
|
387
|
-
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", {
|
|
388
395
|
type: "text",
|
|
389
396
|
placeholder: "Search opportunities...",
|
|
390
|
-
value:
|
|
391
|
-
onChange: (e) =>
|
|
392
|
-
className: "w-full rounded-lg border border-border-
|
|
397
|
+
value: z.searchQuery,
|
|
398
|
+
onChange: (e) => V("searchQuery", e.target.value),
|
|
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)]"
|
|
393
400
|
})]
|
|
394
401
|
}),
|
|
395
|
-
/* @__PURE__ */
|
|
396
|
-
value:
|
|
397
|
-
onChange: (e) =>
|
|
398
|
-
className: "rounded-lg border border-border-
|
|
402
|
+
/* @__PURE__ */ b("select", {
|
|
403
|
+
value: z.category,
|
|
404
|
+
onChange: (e) => V("category", e.target.value),
|
|
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)]",
|
|
399
406
|
children: [
|
|
400
|
-
/* @__PURE__ */
|
|
407
|
+
/* @__PURE__ */ y("option", {
|
|
401
408
|
value: "",
|
|
402
409
|
children: "All Categories"
|
|
403
410
|
}),
|
|
404
|
-
/* @__PURE__ */
|
|
411
|
+
/* @__PURE__ */ y("option", {
|
|
405
412
|
value: "Healthy Food",
|
|
406
413
|
children: "Healthy Food"
|
|
407
414
|
}),
|
|
408
|
-
/* @__PURE__ */
|
|
415
|
+
/* @__PURE__ */ y("option", {
|
|
409
416
|
value: "Fast Food",
|
|
410
417
|
children: "Fast Food"
|
|
411
418
|
}),
|
|
412
|
-
/* @__PURE__ */
|
|
419
|
+
/* @__PURE__ */ y("option", {
|
|
413
420
|
value: "Fusion Food",
|
|
414
421
|
children: "Fusion Food"
|
|
415
422
|
}),
|
|
416
|
-
/* @__PURE__ */
|
|
423
|
+
/* @__PURE__ */ y("option", {
|
|
417
424
|
value: "Beverages",
|
|
418
425
|
children: "Beverages"
|
|
419
426
|
}),
|
|
420
|
-
/* @__PURE__ */
|
|
427
|
+
/* @__PURE__ */ y("option", {
|
|
421
428
|
value: "Street Food",
|
|
422
429
|
children: "Street Food"
|
|
423
430
|
})
|
|
424
431
|
]
|
|
425
432
|
}),
|
|
426
|
-
/* @__PURE__ */
|
|
427
|
-
value:
|
|
428
|
-
onChange: (e) =>
|
|
429
|
-
className: "rounded-lg border border-border-
|
|
433
|
+
/* @__PURE__ */ b("select", {
|
|
434
|
+
value: z.riskLevel,
|
|
435
|
+
onChange: (e) => V("riskLevel", e.target.value),
|
|
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)]",
|
|
430
437
|
children: [
|
|
431
|
-
/* @__PURE__ */
|
|
438
|
+
/* @__PURE__ */ y("option", {
|
|
432
439
|
value: "",
|
|
433
440
|
children: "All Risk Levels"
|
|
434
441
|
}),
|
|
435
|
-
/* @__PURE__ */
|
|
442
|
+
/* @__PURE__ */ y("option", {
|
|
436
443
|
value: "low",
|
|
437
444
|
children: "Low Risk"
|
|
438
445
|
}),
|
|
439
|
-
/* @__PURE__ */
|
|
446
|
+
/* @__PURE__ */ y("option", {
|
|
440
447
|
value: "medium",
|
|
441
448
|
children: "Medium Risk"
|
|
442
449
|
}),
|
|
443
|
-
/* @__PURE__ */
|
|
450
|
+
/* @__PURE__ */ y("option", {
|
|
444
451
|
value: "high",
|
|
445
452
|
children: "High Risk"
|
|
446
453
|
})
|
|
447
454
|
]
|
|
448
455
|
}),
|
|
449
|
-
/* @__PURE__ */
|
|
450
|
-
value:
|
|
451
|
-
onChange: (e) =>
|
|
452
|
-
className: "rounded-lg border border-border-
|
|
456
|
+
/* @__PURE__ */ b("select", {
|
|
457
|
+
value: z.minimumAmount,
|
|
458
|
+
onChange: (e) => V("minimumAmount", e.target.value),
|
|
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)]",
|
|
453
460
|
children: [
|
|
454
|
-
/* @__PURE__ */
|
|
461
|
+
/* @__PURE__ */ y("option", {
|
|
455
462
|
value: "",
|
|
456
463
|
children: "Any Amount"
|
|
457
464
|
}),
|
|
458
|
-
/* @__PURE__ */
|
|
465
|
+
/* @__PURE__ */ y("option", {
|
|
459
466
|
value: "15000",
|
|
460
467
|
children: "Under ₹15,000"
|
|
461
468
|
}),
|
|
462
|
-
/* @__PURE__ */
|
|
469
|
+
/* @__PURE__ */ y("option", {
|
|
463
470
|
value: "25000",
|
|
464
471
|
children: "Under ₹25,000"
|
|
465
472
|
}),
|
|
466
|
-
/* @__PURE__ */
|
|
473
|
+
/* @__PURE__ */ y("option", {
|
|
467
474
|
value: "50000",
|
|
468
475
|
children: "Under ₹50,000"
|
|
469
476
|
}),
|
|
470
|
-
/* @__PURE__ */
|
|
477
|
+
/* @__PURE__ */ y("option", {
|
|
471
478
|
value: "100000",
|
|
472
479
|
children: "Under ₹1,00,000"
|
|
473
480
|
})
|
|
474
481
|
]
|
|
475
482
|
}),
|
|
476
|
-
/* @__PURE__ */
|
|
477
|
-
value:
|
|
478
|
-
onChange: (e) =>
|
|
479
|
-
className: "rounded-lg border border-border-
|
|
483
|
+
/* @__PURE__ */ b("select", {
|
|
484
|
+
value: z.location,
|
|
485
|
+
onChange: (e) => V("location", e.target.value),
|
|
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)]",
|
|
480
487
|
children: [
|
|
481
|
-
/* @__PURE__ */
|
|
488
|
+
/* @__PURE__ */ y("option", {
|
|
482
489
|
value: "",
|
|
483
490
|
children: "All Locations"
|
|
484
491
|
}),
|
|
485
|
-
/* @__PURE__ */
|
|
492
|
+
/* @__PURE__ */ y("option", {
|
|
486
493
|
value: "Whitefield",
|
|
487
494
|
children: "Whitefield"
|
|
488
495
|
}),
|
|
489
|
-
/* @__PURE__ */
|
|
496
|
+
/* @__PURE__ */ y("option", {
|
|
490
497
|
value: "Koramangala",
|
|
491
498
|
children: "Koramangala"
|
|
492
499
|
}),
|
|
493
|
-
/* @__PURE__ */
|
|
500
|
+
/* @__PURE__ */ y("option", {
|
|
494
501
|
value: "Indiranagar",
|
|
495
502
|
children: "Indiranagar"
|
|
496
503
|
}),
|
|
497
|
-
/* @__PURE__ */
|
|
504
|
+
/* @__PURE__ */ y("option", {
|
|
498
505
|
value: "Electronic City",
|
|
499
506
|
children: "Electronic City"
|
|
500
507
|
})
|
|
501
508
|
]
|
|
502
509
|
}),
|
|
503
|
-
/* @__PURE__ */
|
|
504
|
-
value:
|
|
505
|
-
onChange: (e) =>
|
|
506
|
-
className: "rounded-lg border border-border-
|
|
510
|
+
/* @__PURE__ */ b("select", {
|
|
511
|
+
value: z.sortBy,
|
|
512
|
+
onChange: (e) => V("sortBy", e.target.value),
|
|
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)]",
|
|
507
514
|
children: [
|
|
508
|
-
/* @__PURE__ */
|
|
515
|
+
/* @__PURE__ */ y("option", {
|
|
509
516
|
value: "featured",
|
|
510
517
|
children: "Featured"
|
|
511
518
|
}),
|
|
512
|
-
/* @__PURE__ */
|
|
519
|
+
/* @__PURE__ */ y("option", {
|
|
513
520
|
value: "returns",
|
|
514
521
|
children: "Highest Returns"
|
|
515
522
|
}),
|
|
516
|
-
/* @__PURE__ */
|
|
523
|
+
/* @__PURE__ */ y("option", {
|
|
517
524
|
value: "funding",
|
|
518
525
|
children: "Most Funded"
|
|
519
526
|
}),
|
|
520
|
-
/* @__PURE__ */
|
|
527
|
+
/* @__PURE__ */ y("option", {
|
|
521
528
|
value: "closing",
|
|
522
529
|
children: "Closing Soon"
|
|
523
530
|
}),
|
|
524
|
-
/* @__PURE__ */
|
|
531
|
+
/* @__PURE__ */ y("option", {
|
|
525
532
|
value: "minimum",
|
|
526
533
|
children: "Lowest Minimum"
|
|
527
534
|
})
|
|
@@ -530,15 +537,16 @@ function T() {
|
|
|
530
537
|
]
|
|
531
538
|
})
|
|
532
539
|
}),
|
|
533
|
-
|
|
540
|
+
H.length === 0 ? /* @__PURE__ */ y("div", {
|
|
534
541
|
className: "mt-6",
|
|
535
|
-
children: /* @__PURE__ */
|
|
536
|
-
|
|
542
|
+
children: /* @__PURE__ */ y(r, {
|
|
543
|
+
illustration: "empty-search",
|
|
544
|
+
icon: /* @__PURE__ */ y(h, { className: "h-10 w-10" }),
|
|
537
545
|
title: "No opportunities found",
|
|
538
546
|
description: "Try adjusting your filters to find more opportunities",
|
|
539
|
-
action: /* @__PURE__ */
|
|
547
|
+
action: /* @__PURE__ */ y("button", {
|
|
540
548
|
type: "button",
|
|
541
|
-
onClick: () =>
|
|
549
|
+
onClick: () => B({
|
|
542
550
|
searchQuery: "",
|
|
543
551
|
category: "",
|
|
544
552
|
riskLevel: "",
|
|
@@ -550,178 +558,178 @@ function T() {
|
|
|
550
558
|
children: "Clear Filters"
|
|
551
559
|
})
|
|
552
560
|
})
|
|
553
|
-
}) : /* @__PURE__ */
|
|
561
|
+
}) : /* @__PURE__ */ y("div", {
|
|
554
562
|
className: "mt-6 grid grid-cols-1 gap-4 lg:grid-cols-2",
|
|
555
|
-
children:
|
|
556
|
-
let n =
|
|
557
|
-
return /* @__PURE__ */
|
|
558
|
-
className: "rounded-lg border border-border-
|
|
559
|
-
children: [/* @__PURE__ */
|
|
563
|
+
children: H.map((e) => {
|
|
564
|
+
let n = D(e.raisedAmount, e.targetAmount);
|
|
565
|
+
return /* @__PURE__ */ b("div", {
|
|
566
|
+
className: "rounded-lg border border-border-seam bg-bg-surface shadow-sm hover:shadow-md transition-shadow",
|
|
567
|
+
children: [/* @__PURE__ */ b("div", {
|
|
560
568
|
className: "relative",
|
|
561
569
|
children: [
|
|
562
|
-
/* @__PURE__ */
|
|
570
|
+
/* @__PURE__ */ y("div", {
|
|
563
571
|
className: "h-40 w-full overflow-hidden rounded-t-lg bg-bg-sunken sm:h-48",
|
|
564
|
-
children: /* @__PURE__ */
|
|
572
|
+
children: /* @__PURE__ */ y("img", {
|
|
565
573
|
src: e.image,
|
|
566
574
|
alt: e.cartName,
|
|
567
575
|
className: "h-full w-full object-cover",
|
|
568
576
|
loading: "lazy"
|
|
569
577
|
})
|
|
570
578
|
}),
|
|
571
|
-
e.status === "funded" && /* @__PURE__ */
|
|
572
|
-
className: "absolute right-2 top-2 rounded-full bg-
|
|
579
|
+
e.status === "funded" && /* @__PURE__ */ y("div", {
|
|
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",
|
|
573
581
|
children: "Fully Funded"
|
|
574
582
|
}),
|
|
575
|
-
e.daysLeft > 0 && e.daysLeft <= 7 && /* @__PURE__ */
|
|
576
|
-
className: "absolute left-2 top-2 rounded-full bg-
|
|
583
|
+
e.daysLeft > 0 && e.daysLeft <= 7 && /* @__PURE__ */ b("div", {
|
|
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",
|
|
577
585
|
children: [e.daysLeft, " days left"]
|
|
578
586
|
})
|
|
579
587
|
]
|
|
580
|
-
}), /* @__PURE__ */
|
|
588
|
+
}), /* @__PURE__ */ b("div", {
|
|
581
589
|
className: "p-4 sm:p-6",
|
|
582
590
|
children: [
|
|
583
|
-
/* @__PURE__ */
|
|
591
|
+
/* @__PURE__ */ b("div", {
|
|
584
592
|
className: "mb-4 flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",
|
|
585
|
-
children: [/* @__PURE__ */
|
|
593
|
+
children: [/* @__PURE__ */ b("div", {
|
|
586
594
|
className: "flex-1",
|
|
587
595
|
children: [
|
|
588
|
-
/* @__PURE__ */
|
|
596
|
+
/* @__PURE__ */ y("h3", {
|
|
589
597
|
className: "text-base font-semibold text-text-primary sm:text-xl",
|
|
590
598
|
children: e.cartName
|
|
591
599
|
}),
|
|
592
|
-
/* @__PURE__ */
|
|
600
|
+
/* @__PURE__ */ b("p", {
|
|
593
601
|
className: "text-xs text-text-secondary sm:text-sm",
|
|
594
602
|
children: ["by ", e.cartOwner]
|
|
595
603
|
}),
|
|
596
|
-
/* @__PURE__ */
|
|
604
|
+
/* @__PURE__ */ b("div", {
|
|
597
605
|
className: "mt-2 flex flex-wrap items-center gap-2",
|
|
598
|
-
children: [/* @__PURE__ */
|
|
606
|
+
children: [/* @__PURE__ */ y("span", {
|
|
599
607
|
className: "text-xs text-text-secondary sm:text-sm",
|
|
600
608
|
children: e.category
|
|
601
|
-
}), /* @__PURE__ */
|
|
602
|
-
className: t("rounded-full px-2 py-0.5 text-xs font-medium",
|
|
603
|
-
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)
|
|
604
612
|
})]
|
|
605
613
|
})
|
|
606
614
|
]
|
|
607
|
-
}), /* @__PURE__ */
|
|
615
|
+
}), /* @__PURE__ */ b("div", {
|
|
608
616
|
className: "text-left sm:text-right",
|
|
609
|
-
children: [/* @__PURE__ */
|
|
610
|
-
className: "text-xl font-bold text-
|
|
617
|
+
children: [/* @__PURE__ */ b("p", {
|
|
618
|
+
className: "text-xl font-bold text-status-success-text sm:text-2xl",
|
|
611
619
|
children: [e.expectedReturns, "%"]
|
|
612
|
-
}), /* @__PURE__ */
|
|
620
|
+
}), /* @__PURE__ */ y("p", {
|
|
613
621
|
className: "text-xs text-text-secondary",
|
|
614
622
|
children: "Expected Returns"
|
|
615
623
|
})]
|
|
616
624
|
})]
|
|
617
625
|
}),
|
|
618
|
-
/* @__PURE__ */
|
|
626
|
+
/* @__PURE__ */ y("p", {
|
|
619
627
|
className: "mb-4 text-sm leading-relaxed text-text-secondary line-clamp-2",
|
|
620
628
|
children: e.description
|
|
621
629
|
}),
|
|
622
|
-
/* @__PURE__ */
|
|
630
|
+
/* @__PURE__ */ b("div", {
|
|
623
631
|
className: "mb-4",
|
|
624
632
|
children: [
|
|
625
|
-
/* @__PURE__ */
|
|
633
|
+
/* @__PURE__ */ b("div", {
|
|
626
634
|
className: "mb-1 flex justify-between text-xs sm:text-sm",
|
|
627
|
-
children: [/* @__PURE__ */
|
|
635
|
+
children: [/* @__PURE__ */ b("span", {
|
|
628
636
|
className: "font-medium text-text-primary",
|
|
629
637
|
children: [
|
|
630
638
|
i(e.raisedAmount, { minimumFractionDigits: 0 }),
|
|
631
639
|
" ",
|
|
632
640
|
"raised"
|
|
633
641
|
]
|
|
634
|
-
}), /* @__PURE__ */
|
|
642
|
+
}), /* @__PURE__ */ b("span", {
|
|
635
643
|
className: "text-text-secondary",
|
|
636
644
|
children: ["of ", i(e.targetAmount, { minimumFractionDigits: 0 })]
|
|
637
645
|
})]
|
|
638
646
|
}),
|
|
639
|
-
/* @__PURE__ */
|
|
647
|
+
/* @__PURE__ */ y("div", {
|
|
640
648
|
className: "h-2 w-full overflow-hidden rounded-full bg-bg-sunken",
|
|
641
|
-
children: /* @__PURE__ */
|
|
649
|
+
children: /* @__PURE__ */ y("div", {
|
|
642
650
|
className: "h-full rounded-full bg-action-primary-bg transition-all duration-300",
|
|
643
651
|
style: { width: `${n}%` }
|
|
644
652
|
})
|
|
645
653
|
}),
|
|
646
|
-
/* @__PURE__ */
|
|
654
|
+
/* @__PURE__ */ b("div", {
|
|
647
655
|
className: "mt-1 flex justify-between text-xs text-text-secondary",
|
|
648
|
-
children: [/* @__PURE__ */
|
|
656
|
+
children: [/* @__PURE__ */ b("span", { children: [e.investorCount, " investors"] }), /* @__PURE__ */ b("span", { children: [n.toFixed(0), "% funded"] })]
|
|
649
657
|
})
|
|
650
658
|
]
|
|
651
659
|
}),
|
|
652
|
-
/* @__PURE__ */
|
|
660
|
+
/* @__PURE__ */ b("div", {
|
|
653
661
|
className: "mb-4 grid grid-cols-3 gap-2 text-center sm:gap-4",
|
|
654
662
|
children: [
|
|
655
|
-
/* @__PURE__ */
|
|
663
|
+
/* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
|
|
656
664
|
className: "text-sm font-bold text-text-primary sm:text-lg",
|
|
657
665
|
children: i(e.minimumInvestment, { minimumFractionDigits: 0 })
|
|
658
|
-
}), /* @__PURE__ */
|
|
666
|
+
}), /* @__PURE__ */ y("p", {
|
|
659
667
|
className: "text-xs text-text-secondary",
|
|
660
668
|
children: "Min Investment"
|
|
661
669
|
})] }),
|
|
662
|
-
/* @__PURE__ */
|
|
670
|
+
/* @__PURE__ */ b("div", { children: [/* @__PURE__ */ b("p", {
|
|
663
671
|
className: "text-sm font-bold text-text-primary sm:text-lg",
|
|
664
672
|
children: [e.paybackPeriod, " mo"]
|
|
665
|
-
}), /* @__PURE__ */
|
|
673
|
+
}), /* @__PURE__ */ y("p", {
|
|
666
674
|
className: "text-xs text-text-secondary",
|
|
667
675
|
children: "Payback Period"
|
|
668
676
|
})] }),
|
|
669
|
-
/* @__PURE__ */
|
|
677
|
+
/* @__PURE__ */ b("div", { children: [/* @__PURE__ */ b("div", {
|
|
670
678
|
className: "flex items-center justify-center gap-1",
|
|
671
|
-
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", {
|
|
672
680
|
className: "text-sm font-bold text-text-primary sm:text-lg",
|
|
673
681
|
children: e.businessMetrics.rating
|
|
674
682
|
})]
|
|
675
|
-
}), /* @__PURE__ */
|
|
683
|
+
}), /* @__PURE__ */ y("p", {
|
|
676
684
|
className: "text-xs text-text-secondary",
|
|
677
685
|
children: "Rating"
|
|
678
686
|
})] })
|
|
679
687
|
]
|
|
680
688
|
}),
|
|
681
|
-
/* @__PURE__ */
|
|
682
|
-
className: "mb-4 border-t border-border-
|
|
683
|
-
children: [/* @__PURE__ */
|
|
689
|
+
/* @__PURE__ */ b("div", {
|
|
690
|
+
className: "mb-4 border-t border-border-seam pt-3 sm:pt-4",
|
|
691
|
+
children: [/* @__PURE__ */ y("p", {
|
|
684
692
|
className: "mb-2 text-xs font-medium text-text-secondary sm:text-sm",
|
|
685
693
|
children: "Business Performance"
|
|
686
|
-
}), /* @__PURE__ */
|
|
694
|
+
}), /* @__PURE__ */ b("div", {
|
|
687
695
|
className: "grid grid-cols-1 gap-2 text-xs sm:grid-cols-2 sm:text-sm",
|
|
688
696
|
children: [
|
|
689
|
-
/* @__PURE__ */
|
|
697
|
+
/* @__PURE__ */ b("div", {
|
|
690
698
|
className: "flex justify-between",
|
|
691
|
-
children: [/* @__PURE__ */
|
|
699
|
+
children: [/* @__PURE__ */ y("span", {
|
|
692
700
|
className: "text-text-secondary",
|
|
693
701
|
children: "Monthly Revenue:"
|
|
694
|
-
}), /* @__PURE__ */
|
|
702
|
+
}), /* @__PURE__ */ y("span", {
|
|
695
703
|
className: "font-medium text-text-primary",
|
|
696
704
|
children: i(e.businessMetrics.monthlyRevenue, { minimumFractionDigits: 0 })
|
|
697
705
|
})]
|
|
698
706
|
}),
|
|
699
|
-
/* @__PURE__ */
|
|
707
|
+
/* @__PURE__ */ b("div", {
|
|
700
708
|
className: "flex justify-between",
|
|
701
|
-
children: [/* @__PURE__ */
|
|
709
|
+
children: [/* @__PURE__ */ y("span", {
|
|
702
710
|
className: "text-text-secondary",
|
|
703
711
|
children: "Gross Margin:"
|
|
704
|
-
}), /* @__PURE__ */
|
|
712
|
+
}), /* @__PURE__ */ b("span", {
|
|
705
713
|
className: "font-medium text-text-primary",
|
|
706
714
|
children: [e.financials.grossMargin, "%"]
|
|
707
715
|
})]
|
|
708
716
|
}),
|
|
709
|
-
/* @__PURE__ */
|
|
717
|
+
/* @__PURE__ */ b("div", {
|
|
710
718
|
className: "flex justify-between",
|
|
711
|
-
children: [/* @__PURE__ */
|
|
719
|
+
children: [/* @__PURE__ */ y("span", {
|
|
712
720
|
className: "text-text-secondary",
|
|
713
721
|
children: "Monthly Orders:"
|
|
714
|
-
}), /* @__PURE__ */
|
|
722
|
+
}), /* @__PURE__ */ y("span", {
|
|
715
723
|
className: "font-medium text-text-primary",
|
|
716
724
|
children: a(e.businessMetrics.monthlyOrders)
|
|
717
725
|
})]
|
|
718
726
|
}),
|
|
719
|
-
/* @__PURE__ */
|
|
727
|
+
/* @__PURE__ */ b("div", {
|
|
720
728
|
className: "flex justify-between",
|
|
721
|
-
children: [/* @__PURE__ */
|
|
729
|
+
children: [/* @__PURE__ */ y("span", {
|
|
722
730
|
className: "text-text-secondary",
|
|
723
731
|
children: "Net Margin:"
|
|
724
|
-
}), /* @__PURE__ */
|
|
732
|
+
}), /* @__PURE__ */ b("span", {
|
|
725
733
|
className: "font-medium text-text-primary",
|
|
726
734
|
children: [e.financials.netMargin, "%"]
|
|
727
735
|
})]
|
|
@@ -729,30 +737,30 @@ function T() {
|
|
|
729
737
|
]
|
|
730
738
|
})]
|
|
731
739
|
}),
|
|
732
|
-
/* @__PURE__ */
|
|
733
|
-
className: "mb-4 border-t border-border-
|
|
734
|
-
children: /* @__PURE__ */
|
|
740
|
+
/* @__PURE__ */ y("div", {
|
|
741
|
+
className: "mb-4 border-t border-border-seam pt-3",
|
|
742
|
+
children: /* @__PURE__ */ b("div", {
|
|
735
743
|
className: "flex items-center gap-1.5 text-xs text-text-secondary",
|
|
736
|
-
children: [/* @__PURE__ */
|
|
744
|
+
children: [/* @__PURE__ */ y(f, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ b("span", { children: [e.documents.length, " documents available"] })]
|
|
737
745
|
})
|
|
738
746
|
}),
|
|
739
|
-
/* @__PURE__ */
|
|
747
|
+
/* @__PURE__ */ b("div", {
|
|
740
748
|
className: "mb-4 flex items-center gap-1.5 text-xs text-text-secondary",
|
|
741
|
-
children: [/* @__PURE__ */
|
|
749
|
+
children: [/* @__PURE__ */ y(m, { className: "h-3.5 w-3.5" }), /* @__PURE__ */ y("span", { children: e.location })]
|
|
742
750
|
}),
|
|
743
|
-
/* @__PURE__ */
|
|
751
|
+
/* @__PURE__ */ b("div", {
|
|
744
752
|
className: "flex flex-col gap-2 sm:flex-row sm:gap-3",
|
|
745
|
-
children: [/* @__PURE__ */
|
|
753
|
+
children: [/* @__PURE__ */ y("button", {
|
|
746
754
|
type: "button",
|
|
747
|
-
onClick: () =>
|
|
755
|
+
onClick: () => W(e),
|
|
748
756
|
disabled: e.status === "funded",
|
|
749
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"),
|
|
750
758
|
children: e.status === "funded" ? "Fully Funded" : "Invest Now"
|
|
751
|
-
}), /* @__PURE__ */
|
|
759
|
+
}), /* @__PURE__ */ b("button", {
|
|
752
760
|
type: "button",
|
|
753
|
-
onClick: () =>
|
|
754
|
-
className: "flex flex-1 items-center justify-center gap-2 rounded-lg border border-border-
|
|
755
|
-
children: [/* @__PURE__ */
|
|
761
|
+
onClick: () => O(`/investor/opportunities/${e.id}`),
|
|
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",
|
|
763
|
+
children: [/* @__PURE__ */ y(d, { className: "h-4 w-4" }), "View Details"]
|
|
756
764
|
})]
|
|
757
765
|
})
|
|
758
766
|
]
|
|
@@ -760,168 +768,168 @@ function T() {
|
|
|
760
768
|
}, e.id);
|
|
761
769
|
})
|
|
762
770
|
}),
|
|
763
|
-
|
|
764
|
-
className: "fixed inset-0 z-50 flex items-center justify-center bg-
|
|
765
|
-
children: /* @__PURE__ */
|
|
766
|
-
className: "relative max-h-[90vh] w-full max-w-md overflow-y-auto rounded-lg border border-border-
|
|
771
|
+
N && j && /* @__PURE__ */ y("div", {
|
|
772
|
+
className: "fixed inset-0 z-50 flex items-center justify-center bg-bg-canvas/50 p-4",
|
|
773
|
+
children: /* @__PURE__ */ b("div", {
|
|
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",
|
|
767
775
|
children: [
|
|
768
|
-
/* @__PURE__ */
|
|
776
|
+
/* @__PURE__ */ y("button", {
|
|
769
777
|
type: "button",
|
|
770
778
|
onClick: () => {
|
|
771
|
-
|
|
779
|
+
P(!1), I(""), R("idle");
|
|
772
780
|
},
|
|
773
781
|
className: "absolute right-3 top-3 rounded-lg p-1 text-text-secondary hover:bg-accent transition-colors",
|
|
774
|
-
children: /* @__PURE__ */ v
|
|
782
|
+
children: /* @__PURE__ */ y(v, { className: "h-5 w-5" })
|
|
775
783
|
}),
|
|
776
|
-
/* @__PURE__ */
|
|
784
|
+
/* @__PURE__ */ b("h3", {
|
|
777
785
|
className: "mb-4 text-base font-semibold text-text-primary sm:text-lg",
|
|
778
|
-
children: ["Invest in ",
|
|
786
|
+
children: ["Invest in ", j.cartName]
|
|
779
787
|
}),
|
|
780
|
-
|
|
788
|
+
L === "success" ? /* @__PURE__ */ b("div", {
|
|
781
789
|
className: "py-8 text-center",
|
|
782
790
|
children: [
|
|
783
|
-
/* @__PURE__ */
|
|
784
|
-
/* @__PURE__ */
|
|
791
|
+
/* @__PURE__ */ y(u, { className: "mx-auto mb-3 h-12 w-12 text-status-success-text" }),
|
|
792
|
+
/* @__PURE__ */ y("p", {
|
|
785
793
|
className: "text-sm font-medium text-text-primary",
|
|
786
794
|
children: "Investment successful!"
|
|
787
795
|
}),
|
|
788
|
-
/* @__PURE__ */
|
|
796
|
+
/* @__PURE__ */ y("p", {
|
|
789
797
|
className: "mt-1 text-xs text-text-secondary",
|
|
790
798
|
children: "Redirecting to your portfolio..."
|
|
791
799
|
})
|
|
792
800
|
]
|
|
793
|
-
}) : /* @__PURE__ */
|
|
801
|
+
}) : /* @__PURE__ */ b("div", {
|
|
794
802
|
className: "space-y-4",
|
|
795
803
|
children: [
|
|
796
|
-
/* @__PURE__ */
|
|
804
|
+
/* @__PURE__ */ b("div", { children: [/* @__PURE__ */ y("p", {
|
|
797
805
|
className: "mb-1 text-xs text-text-secondary sm:text-sm",
|
|
798
806
|
children: "Investment Range"
|
|
799
|
-
}), /* @__PURE__ */
|
|
807
|
+
}), /* @__PURE__ */ b("p", {
|
|
800
808
|
className: "text-sm font-medium text-text-primary sm:text-base",
|
|
801
809
|
children: [
|
|
802
|
-
i(
|
|
810
|
+
i(j.minimumInvestment, { minimumFractionDigits: 0 }),
|
|
803
811
|
" ",
|
|
804
812
|
"-",
|
|
805
813
|
" ",
|
|
806
|
-
i(
|
|
814
|
+
i(j.maximumInvestment, { minimumFractionDigits: 0 })
|
|
807
815
|
]
|
|
808
816
|
})] }),
|
|
809
|
-
/* @__PURE__ */
|
|
810
|
-
/* @__PURE__ */
|
|
817
|
+
/* @__PURE__ */ b("div", { children: [
|
|
818
|
+
/* @__PURE__ */ y("label", {
|
|
811
819
|
className: "mb-1 block text-xs font-medium text-text-primary sm:text-sm",
|
|
812
820
|
children: "Investment Amount"
|
|
813
821
|
}),
|
|
814
|
-
/* @__PURE__ */
|
|
822
|
+
/* @__PURE__ */ b("div", {
|
|
815
823
|
className: "relative",
|
|
816
|
-
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", {
|
|
817
825
|
type: "number",
|
|
818
|
-
value:
|
|
826
|
+
value: F,
|
|
819
827
|
onChange: (e) => {
|
|
820
|
-
|
|
828
|
+
I(e.target.value), R("idle");
|
|
821
829
|
},
|
|
822
830
|
placeholder: "Enter amount",
|
|
823
|
-
className: "w-full rounded-lg border border-border-
|
|
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)]"
|
|
824
832
|
})]
|
|
825
833
|
}),
|
|
826
|
-
|
|
827
|
-
className: "mt-1 text-xs text-
|
|
834
|
+
L === "error" && /* @__PURE__ */ b("p", {
|
|
835
|
+
className: "mt-1 text-xs text-status-error-text",
|
|
828
836
|
children: [
|
|
829
837
|
"Amount must be between",
|
|
830
838
|
" ",
|
|
831
|
-
i(
|
|
839
|
+
i(j.minimumInvestment, { minimumFractionDigits: 0 }),
|
|
832
840
|
" ",
|
|
833
841
|
"and",
|
|
834
842
|
" ",
|
|
835
|
-
i(
|
|
843
|
+
i(j.maximumInvestment, { minimumFractionDigits: 0 })
|
|
836
844
|
]
|
|
837
845
|
})
|
|
838
846
|
] }),
|
|
839
|
-
|
|
840
|
-
className: "rounded-lg border border-border-
|
|
841
|
-
children: [/* @__PURE__ */
|
|
847
|
+
F && !isNaN(parseInt(F, 10)) && parseInt(F, 10) > 0 && /* @__PURE__ */ b("div", {
|
|
848
|
+
className: "rounded-lg border border-border-seam bg-bg-sunken/50 p-3 sm:p-4",
|
|
849
|
+
children: [/* @__PURE__ */ y("p", {
|
|
842
850
|
className: "mb-2 text-xs text-text-secondary sm:text-sm",
|
|
843
851
|
children: "Expected Returns"
|
|
844
|
-
}), /* @__PURE__ */
|
|
852
|
+
}), /* @__PURE__ */ b("div", {
|
|
845
853
|
className: "space-y-1.5",
|
|
846
854
|
children: [
|
|
847
|
-
/* @__PURE__ */
|
|
855
|
+
/* @__PURE__ */ b("div", {
|
|
848
856
|
className: "flex justify-between",
|
|
849
|
-
children: [/* @__PURE__ */
|
|
857
|
+
children: [/* @__PURE__ */ y("span", {
|
|
850
858
|
className: "text-xs text-text-primary sm:text-sm",
|
|
851
859
|
children: "Investment:"
|
|
852
|
-
}), /* @__PURE__ */
|
|
860
|
+
}), /* @__PURE__ */ y("span", {
|
|
853
861
|
className: "text-xs font-medium text-text-primary sm:text-sm",
|
|
854
|
-
children: i(parseInt(
|
|
862
|
+
children: i(parseInt(F, 10), { minimumFractionDigits: 0 })
|
|
855
863
|
})]
|
|
856
864
|
}),
|
|
857
|
-
/* @__PURE__ */
|
|
865
|
+
/* @__PURE__ */ b("div", {
|
|
858
866
|
className: "flex justify-between",
|
|
859
|
-
children: [/* @__PURE__ */
|
|
867
|
+
children: [/* @__PURE__ */ b("span", {
|
|
860
868
|
className: "text-xs text-text-primary sm:text-sm",
|
|
861
869
|
children: [
|
|
862
870
|
"Expected Return (",
|
|
863
|
-
|
|
871
|
+
j.expectedReturns,
|
|
864
872
|
"%):"
|
|
865
873
|
]
|
|
866
|
-
}), /* @__PURE__ */
|
|
867
|
-
className: "text-xs font-medium text-
|
|
868
|
-
children: ["+", i(parseInt(
|
|
874
|
+
}), /* @__PURE__ */ b("span", {
|
|
875
|
+
className: "text-xs font-medium text-status-success-text sm:text-sm",
|
|
876
|
+
children: ["+", i(parseInt(F, 10) * j.expectedReturns / 100, { minimumFractionDigits: 0 })]
|
|
869
877
|
})]
|
|
870
878
|
}),
|
|
871
|
-
/* @__PURE__ */
|
|
872
|
-
className: "flex justify-between border-t border-border-
|
|
873
|
-
children: [/* @__PURE__ */
|
|
879
|
+
/* @__PURE__ */ b("div", {
|
|
880
|
+
className: "flex justify-between border-t border-border-seam pt-2",
|
|
881
|
+
children: [/* @__PURE__ */ y("span", {
|
|
874
882
|
className: "text-xs font-medium text-text-primary sm:text-sm",
|
|
875
883
|
children: "Total Value:"
|
|
876
|
-
}), /* @__PURE__ */
|
|
884
|
+
}), /* @__PURE__ */ y("span", {
|
|
877
885
|
className: "text-xs font-bold text-text-primary sm:text-sm",
|
|
878
|
-
children: i(parseInt(
|
|
886
|
+
children: i(parseInt(F, 10) * (1 + j.expectedReturns / 100), { minimumFractionDigits: 0 })
|
|
879
887
|
})]
|
|
880
888
|
})
|
|
881
889
|
]
|
|
882
890
|
})]
|
|
883
891
|
}),
|
|
884
|
-
/* @__PURE__ */
|
|
892
|
+
/* @__PURE__ */ b("div", {
|
|
885
893
|
className: "space-y-1 text-xs text-text-secondary sm:text-sm",
|
|
886
894
|
children: [
|
|
887
|
-
/* @__PURE__ */
|
|
895
|
+
/* @__PURE__ */ b("p", { children: [
|
|
888
896
|
"• Minimum lock-in period:",
|
|
889
897
|
" ",
|
|
890
|
-
|
|
898
|
+
j.investmentTerms.lockInPeriod,
|
|
891
899
|
" months"
|
|
892
900
|
] }),
|
|
893
|
-
/* @__PURE__ */
|
|
901
|
+
/* @__PURE__ */ b("p", { children: [
|
|
894
902
|
"• Dividend frequency:",
|
|
895
903
|
" ",
|
|
896
|
-
|
|
904
|
+
j.investmentTerms.dividendFrequency
|
|
897
905
|
] }),
|
|
898
|
-
/* @__PURE__ */
|
|
906
|
+
/* @__PURE__ */ b("p", { children: [
|
|
899
907
|
"• Your equity stake:",
|
|
900
908
|
" ",
|
|
901
|
-
((parseInt(
|
|
909
|
+
((parseInt(F, 10) || 0) / j.targetAmount * j.investmentTerms.equityOffered).toFixed(2),
|
|
902
910
|
"%"
|
|
903
911
|
] }),
|
|
904
|
-
/* @__PURE__ */
|
|
912
|
+
/* @__PURE__ */ b("p", { children: [
|
|
905
913
|
"• Exit options:",
|
|
906
914
|
" ",
|
|
907
|
-
|
|
915
|
+
j.investmentTerms.exitOptions.join(", ")
|
|
908
916
|
] })
|
|
909
917
|
]
|
|
910
918
|
}),
|
|
911
|
-
/* @__PURE__ */
|
|
919
|
+
/* @__PURE__ */ b("div", {
|
|
912
920
|
className: "flex flex-col gap-2 pt-2 sm:flex-row sm:gap-3",
|
|
913
|
-
children: [/* @__PURE__ */
|
|
921
|
+
children: [/* @__PURE__ */ y("button", {
|
|
914
922
|
type: "button",
|
|
915
923
|
onClick: () => {
|
|
916
|
-
|
|
924
|
+
P(!1), I(""), R("idle");
|
|
917
925
|
},
|
|
918
|
-
className: "flex-1 rounded-lg border border-border-
|
|
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",
|
|
919
927
|
children: "Cancel"
|
|
920
|
-
}), /* @__PURE__ */
|
|
928
|
+
}), /* @__PURE__ */ y("button", {
|
|
921
929
|
type: "button",
|
|
922
|
-
onClick:
|
|
923
|
-
disabled: !
|
|
924
|
-
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"),
|
|
925
933
|
children: "Confirm Investment"
|
|
926
934
|
})]
|
|
927
935
|
})
|
|
@@ -934,6 +942,6 @@ function T() {
|
|
|
934
942
|
});
|
|
935
943
|
}
|
|
936
944
|
//#endregion
|
|
937
|
-
export {
|
|
945
|
+
export { O as InvestmentOpportunitiesPage };
|
|
938
946
|
|
|
939
947
|
//# sourceMappingURL=InvestmentOpportunitiesPage.js.map
|