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