@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 { MetricsCard as r } from "../../components/MetricsCard.js";
|
|
5
5
|
import { formatCurrency as i, formatDate as a } from "../../utils/formatters.js";
|
|
6
6
|
import { useCallback as o, useMemo as s, useState as c } from "react";
|
|
7
|
-
import { ArrowDownCircle as l, BarChart3 as u, Briefcase as d, CreditCard as f, Eye as p, IndianRupee as m,
|
|
8
|
-
import { jsx as
|
|
7
|
+
import { ArrowDownCircle as l, BarChart3 as u, Briefcase as d, CreditCard as f, Eye as p, IndianRupee as m, LayoutList as h, Star as g, TrendingDown as _, TrendingUp as v, Wallet as y } from "lucide-react";
|
|
8
|
+
import { jsx as b, jsxs as x } from "react/jsx-runtime";
|
|
9
|
+
import { EmphasisPanel as S, NextSteps as C, PagePurpose as w } from "@burdenoff/fe-libs/ui";
|
|
9
10
|
//#region src/coolandlovely/pages/investor/InvestorPortfolioPage.tsx
|
|
10
|
-
var
|
|
11
|
+
var T = [
|
|
11
12
|
{
|
|
12
13
|
id: "inv-001",
|
|
13
14
|
cartId: "SERV-001",
|
|
@@ -104,7 +105,7 @@ var x = [
|
|
|
104
105
|
growthRate: 5
|
|
105
106
|
}
|
|
106
107
|
}
|
|
107
|
-
],
|
|
108
|
+
], E = [
|
|
108
109
|
{
|
|
109
110
|
id: "txn-001",
|
|
110
111
|
type: "investment",
|
|
@@ -145,14 +146,14 @@ var x = [
|
|
|
145
146
|
date: "2024-06-01",
|
|
146
147
|
status: "pending"
|
|
147
148
|
}
|
|
148
|
-
],
|
|
149
|
+
], D = [
|
|
149
150
|
"",
|
|
150
151
|
"Personal Care & Beauty",
|
|
151
152
|
"Repair & Maintenance",
|
|
152
153
|
"Home Services",
|
|
153
154
|
"Food & Beverage"
|
|
154
155
|
];
|
|
155
|
-
function
|
|
156
|
+
function O(e) {
|
|
156
157
|
let { color: n, label: r } = {
|
|
157
158
|
low: {
|
|
158
159
|
color: "bg-status-success-bg-subtle/20 text-status-success-text",
|
|
@@ -167,123 +168,155 @@ function w(e) {
|
|
|
167
168
|
label: "High Risk"
|
|
168
169
|
}
|
|
169
170
|
}[e];
|
|
170
|
-
return /* @__PURE__ */
|
|
171
|
+
return /* @__PURE__ */ b("span", {
|
|
171
172
|
className: t("rounded-full px-2 py-0.5 text-xs font-medium", n),
|
|
172
173
|
children: r
|
|
173
174
|
});
|
|
174
175
|
}
|
|
175
|
-
function
|
|
176
|
+
function k(e) {
|
|
176
177
|
return `${e > 0 ? "+" : ""}${e.toFixed(1)}%`;
|
|
177
178
|
}
|
|
178
|
-
function
|
|
179
|
-
let { navigateTo:
|
|
179
|
+
function A() {
|
|
180
|
+
let { navigateTo: A } = e(), [j, M] = c("overview"), [N, P] = c(""), F = s(() => N ? T.filter((e) => e.category === N) : T, [N]), I = F.reduce((e, t) => e + t.amount, 0), L = F.reduce((e, t) => e + t.currentValue, 0), R = L - I, z = I > 0 ? R / I * 100 : 0, B = F.reduce((e, t) => e + t.monthlyDividend, 0), V = F.filter((e) => e.status === "active").length, H = {
|
|
180
181
|
low: 1,
|
|
181
182
|
medium: 2,
|
|
182
183
|
high: 3
|
|
183
|
-
},
|
|
184
|
+
}, U = F.length > 0 ? F.reduce((e, t) => e + H[t.riskLevel], 0) / F.length : 0, W = F.reduce((e, t) => t.returnsPercentage > e.returnsPercentage ? t : e, F[0] || {
|
|
184
185
|
cartName: "",
|
|
185
186
|
returnsPercentage: 0
|
|
186
|
-
}),
|
|
187
|
+
}), G = o((e) => {
|
|
187
188
|
alert(`Withdrawal request submitted for ${e}`);
|
|
188
|
-
}, []),
|
|
189
|
-
return /* @__PURE__ */
|
|
189
|
+
}, []), K = F.reduce((e, t) => (e[t.category] = (e[t.category] || 0) + t.currentValue, e), {});
|
|
190
|
+
return /* @__PURE__ */ x(n, {
|
|
190
191
|
title: "My Portfolio",
|
|
191
192
|
description: "Track your investment performance and holdings",
|
|
192
193
|
children: [
|
|
193
|
-
/* @__PURE__ */ b(
|
|
194
|
-
className: "
|
|
194
|
+
/* @__PURE__ */ b(w, {
|
|
195
|
+
className: "mb-6",
|
|
196
|
+
icon: /* @__PURE__ */ b(u, { className: "h-4 w-4" }),
|
|
197
|
+
children: "The complete picture of your investments: how much you've put in, what it's worth today, the returns and dividends you're earning, and a full transaction history. Use the tabs to drill into individual holdings or review every movement of money."
|
|
198
|
+
}),
|
|
199
|
+
/* @__PURE__ */ b(C, {
|
|
200
|
+
className: "mb-6",
|
|
201
|
+
storageKey: "coolandlovely-investor-portfolio",
|
|
202
|
+
steps: [
|
|
203
|
+
{
|
|
204
|
+
id: "holdings",
|
|
205
|
+
label: "Review your holdings",
|
|
206
|
+
description: "Open the Investments tab to inspect each business you back.",
|
|
207
|
+
icon: /* @__PURE__ */ b(d, { className: "h-4 w-4" }),
|
|
208
|
+
onClick: () => M("investments")
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
id: "transactions",
|
|
212
|
+
label: "Check recent transactions",
|
|
213
|
+
description: "See dividends, deposits and exits in your transaction log.",
|
|
214
|
+
icon: /* @__PURE__ */ b(h, { className: "h-4 w-4" }),
|
|
215
|
+
onClick: () => M("transactions")
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
id: "grow",
|
|
219
|
+
label: "Find new opportunities",
|
|
220
|
+
description: "Put idle returns to work by backing another business.",
|
|
221
|
+
icon: /* @__PURE__ */ b(v, { className: "h-4 w-4" }),
|
|
222
|
+
onClick: () => A("/investor/opportunities")
|
|
223
|
+
}
|
|
224
|
+
]
|
|
225
|
+
}),
|
|
226
|
+
/* @__PURE__ */ x(S, {
|
|
227
|
+
className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4 p-4",
|
|
195
228
|
children: [
|
|
196
|
-
/* @__PURE__ */
|
|
197
|
-
icon: /* @__PURE__ */ y
|
|
198
|
-
value: i(
|
|
229
|
+
/* @__PURE__ */ b(r, {
|
|
230
|
+
icon: /* @__PURE__ */ b(y, { className: "h-5 w-5" }),
|
|
231
|
+
value: i(I, { minimumFractionDigits: 0 }),
|
|
199
232
|
label: "Total Invested",
|
|
200
233
|
trend: "up",
|
|
201
|
-
trendValue: `${
|
|
234
|
+
trendValue: `${V} active`
|
|
202
235
|
}),
|
|
203
|
-
/* @__PURE__ */
|
|
204
|
-
icon: /* @__PURE__ */
|
|
205
|
-
value: i(
|
|
236
|
+
/* @__PURE__ */ b(r, {
|
|
237
|
+
icon: /* @__PURE__ */ b(m, { className: "h-5 w-5" }),
|
|
238
|
+
value: i(L, { minimumFractionDigits: 0 }),
|
|
206
239
|
label: "Current Value",
|
|
207
|
-
trend:
|
|
208
|
-
trendValue:
|
|
240
|
+
trend: z > 0 ? "up" : "down",
|
|
241
|
+
trendValue: k(z)
|
|
209
242
|
}),
|
|
210
|
-
/* @__PURE__ */
|
|
211
|
-
icon: /* @__PURE__ */
|
|
212
|
-
value: i(Math.abs(
|
|
243
|
+
/* @__PURE__ */ b(r, {
|
|
244
|
+
icon: /* @__PURE__ */ b(v, { className: "h-5 w-5" }),
|
|
245
|
+
value: i(Math.abs(R), { minimumFractionDigits: 0 }),
|
|
213
246
|
label: "Total Returns",
|
|
214
|
-
trend:
|
|
215
|
-
trendValue:
|
|
247
|
+
trend: R >= 0 ? "up" : "down",
|
|
248
|
+
trendValue: k(z)
|
|
216
249
|
}),
|
|
217
|
-
/* @__PURE__ */
|
|
218
|
-
icon: /* @__PURE__ */
|
|
219
|
-
value: i(
|
|
250
|
+
/* @__PURE__ */ b(r, {
|
|
251
|
+
icon: /* @__PURE__ */ b(d, { className: "h-5 w-5" }),
|
|
252
|
+
value: i(B, { minimumFractionDigits: 0 }),
|
|
220
253
|
label: "Monthly Dividend",
|
|
221
254
|
trend: "up",
|
|
222
255
|
trendValue: "Next: July 1"
|
|
223
256
|
})
|
|
224
257
|
]
|
|
225
258
|
}),
|
|
226
|
-
/* @__PURE__ */
|
|
259
|
+
/* @__PURE__ */ x("div", {
|
|
227
260
|
className: "mt-4 grid grid-cols-2 gap-3 lg:grid-cols-4",
|
|
228
261
|
children: [
|
|
229
|
-
/* @__PURE__ */
|
|
262
|
+
/* @__PURE__ */ x("div", {
|
|
230
263
|
className: "rounded-lg border border-border-subtle bg-bg-surface p-3",
|
|
231
|
-
children: [/* @__PURE__ */
|
|
264
|
+
children: [/* @__PURE__ */ b("p", {
|
|
232
265
|
className: "text-xs text-text-secondary",
|
|
233
266
|
children: "Active Investments"
|
|
234
|
-
}), /* @__PURE__ */
|
|
267
|
+
}), /* @__PURE__ */ b("p", {
|
|
235
268
|
className: "text-xl font-bold text-text-primary",
|
|
236
|
-
children:
|
|
269
|
+
children: V
|
|
237
270
|
})]
|
|
238
271
|
}),
|
|
239
|
-
/* @__PURE__ */
|
|
272
|
+
/* @__PURE__ */ x("div", {
|
|
240
273
|
className: "rounded-lg border border-border-subtle bg-bg-surface p-3",
|
|
241
|
-
children: [/* @__PURE__ */
|
|
274
|
+
children: [/* @__PURE__ */ b("p", {
|
|
242
275
|
className: "text-xs text-text-secondary",
|
|
243
276
|
children: "Avg Risk Score"
|
|
244
|
-
}), /* @__PURE__ */
|
|
277
|
+
}), /* @__PURE__ */ x("div", {
|
|
245
278
|
className: "mt-1 flex items-center gap-2",
|
|
246
|
-
children: [/* @__PURE__ */
|
|
279
|
+
children: [/* @__PURE__ */ b("div", {
|
|
247
280
|
className: "h-2 flex-1 rounded-full bg-bg-sunken overflow-hidden",
|
|
248
|
-
children: /* @__PURE__ */
|
|
249
|
-
className: t("h-full rounded-full",
|
|
250
|
-
style: { width: `${
|
|
281
|
+
children: /* @__PURE__ */ b("div", {
|
|
282
|
+
className: t("h-full rounded-full", U <= 1.5 ? "bg-status-success-bg-subtle" : U <= 2.5 ? "bg-status-warning-bg-subtle" : "bg-status-error-bg-subtle"),
|
|
283
|
+
style: { width: `${U / 3 * 100}%` }
|
|
251
284
|
})
|
|
252
|
-
}), /* @__PURE__ */
|
|
285
|
+
}), /* @__PURE__ */ x("span", {
|
|
253
286
|
className: "text-sm font-medium text-text-primary",
|
|
254
|
-
children: [
|
|
287
|
+
children: [U.toFixed(1), "/3"]
|
|
255
288
|
})]
|
|
256
289
|
})]
|
|
257
290
|
}),
|
|
258
|
-
/* @__PURE__ */
|
|
291
|
+
/* @__PURE__ */ x("div", {
|
|
259
292
|
className: "rounded-lg border border-border-subtle bg-bg-surface p-3",
|
|
260
293
|
children: [
|
|
261
|
-
/* @__PURE__ */
|
|
294
|
+
/* @__PURE__ */ b("p", {
|
|
262
295
|
className: "text-xs text-text-secondary",
|
|
263
296
|
children: "Best Performer"
|
|
264
297
|
}),
|
|
265
|
-
/* @__PURE__ */
|
|
298
|
+
/* @__PURE__ */ b("p", {
|
|
266
299
|
className: "truncate text-sm font-bold text-text-primary",
|
|
267
|
-
children:
|
|
300
|
+
children: W.cartName
|
|
268
301
|
}),
|
|
269
|
-
/* @__PURE__ */
|
|
302
|
+
/* @__PURE__ */ b("p", {
|
|
270
303
|
className: "text-xs text-status-success-text",
|
|
271
|
-
children:
|
|
304
|
+
children: k(W.returnsPercentage)
|
|
272
305
|
})
|
|
273
306
|
]
|
|
274
307
|
}),
|
|
275
|
-
/* @__PURE__ */
|
|
308
|
+
/* @__PURE__ */ x("div", {
|
|
276
309
|
className: "rounded-lg border border-border-subtle bg-bg-surface p-3",
|
|
277
310
|
children: [
|
|
278
|
-
/* @__PURE__ */
|
|
311
|
+
/* @__PURE__ */ b("p", {
|
|
279
312
|
className: "text-xs text-text-secondary",
|
|
280
313
|
children: "Next Payout"
|
|
281
314
|
}),
|
|
282
|
-
/* @__PURE__ */
|
|
315
|
+
/* @__PURE__ */ b("p", {
|
|
283
316
|
className: "text-lg font-bold text-text-primary",
|
|
284
317
|
children: "July 1"
|
|
285
318
|
}),
|
|
286
|
-
/* @__PURE__ */
|
|
319
|
+
/* @__PURE__ */ b("p", {
|
|
287
320
|
className: "text-xs text-text-secondary",
|
|
288
321
|
children: "In 7 days"
|
|
289
322
|
})
|
|
@@ -291,9 +324,9 @@ function E() {
|
|
|
291
324
|
})
|
|
292
325
|
]
|
|
293
326
|
}),
|
|
294
|
-
/* @__PURE__ */
|
|
327
|
+
/* @__PURE__ */ x("div", {
|
|
295
328
|
className: "mt-6 rounded-lg border border-border-subtle bg-bg-surface shadow-sm",
|
|
296
|
-
children: [/* @__PURE__ */
|
|
329
|
+
children: [/* @__PURE__ */ b("div", {
|
|
297
330
|
className: "flex border-b border-border-subtle overflow-x-auto",
|
|
298
331
|
children: [
|
|
299
332
|
{
|
|
@@ -303,7 +336,7 @@ function E() {
|
|
|
303
336
|
},
|
|
304
337
|
{
|
|
305
338
|
key: "investments",
|
|
306
|
-
label: `Investments (${
|
|
339
|
+
label: `Investments (${F.length})`,
|
|
307
340
|
Icon: d
|
|
308
341
|
},
|
|
309
342
|
{
|
|
@@ -311,57 +344,57 @@ function E() {
|
|
|
311
344
|
label: "Transactions",
|
|
312
345
|
Icon: f
|
|
313
346
|
}
|
|
314
|
-
].map(({ key: e, label: n, Icon: r }) => /* @__PURE__ */
|
|
347
|
+
].map(({ key: e, label: n, Icon: r }) => /* @__PURE__ */ x("button", {
|
|
315
348
|
type: "button",
|
|
316
|
-
onClick: () =>
|
|
317
|
-
className: t("flex items-center gap-2 whitespace-nowrap px-4 py-3 text-sm font-medium transition-colors",
|
|
318
|
-
children: [/* @__PURE__ */
|
|
349
|
+
onClick: () => M(e),
|
|
350
|
+
className: t("flex items-center gap-2 whitespace-nowrap px-4 py-3 text-sm font-medium transition-colors", j === e ? "border-b-2 border-primary text-text-primary" : "text-text-secondary hover:text-text-primary"),
|
|
351
|
+
children: [/* @__PURE__ */ b(r, { className: "h-4 w-4" }), n]
|
|
319
352
|
}, e))
|
|
320
|
-
}), /* @__PURE__ */
|
|
353
|
+
}), /* @__PURE__ */ x("div", {
|
|
321
354
|
className: "p-4",
|
|
322
355
|
children: [
|
|
323
|
-
|
|
356
|
+
j === "overview" && /* @__PURE__ */ x("div", {
|
|
324
357
|
className: "space-y-6",
|
|
325
|
-
children: [/* @__PURE__ */
|
|
358
|
+
children: [/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("h3", {
|
|
326
359
|
className: "mb-4 text-base font-semibold text-text-primary",
|
|
327
360
|
children: "Portfolio Performance"
|
|
328
|
-
}), /* @__PURE__ */
|
|
361
|
+
}), /* @__PURE__ */ x("div", {
|
|
329
362
|
className: "rounded-lg border border-border-subtle bg-bg-sunken/50 p-8 text-center",
|
|
330
363
|
children: [
|
|
331
|
-
/* @__PURE__ */
|
|
332
|
-
/* @__PURE__ */
|
|
364
|
+
/* @__PURE__ */ b(u, { className: "mx-auto mb-2 h-8 w-8 text-text-secondary/50" }),
|
|
365
|
+
/* @__PURE__ */ b("p", {
|
|
333
366
|
className: "text-sm text-text-secondary",
|
|
334
367
|
children: "Performance chart visualization"
|
|
335
368
|
}),
|
|
336
|
-
/* @__PURE__ */
|
|
369
|
+
/* @__PURE__ */ b("p", {
|
|
337
370
|
className: "mt-1 text-xs text-text-secondary",
|
|
338
371
|
children: "Shows portfolio value over time"
|
|
339
372
|
})
|
|
340
373
|
]
|
|
341
|
-
})] }), /* @__PURE__ */
|
|
374
|
+
})] }), /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("h3", {
|
|
342
375
|
className: "mb-4 text-base font-semibold text-text-primary",
|
|
343
376
|
children: "Asset Allocation"
|
|
344
|
-
}), /* @__PURE__ */
|
|
377
|
+
}), /* @__PURE__ */ b("div", {
|
|
345
378
|
className: "space-y-3",
|
|
346
|
-
children: Object.entries(
|
|
379
|
+
children: Object.entries(K).map(([e, t]) => /* @__PURE__ */ x("div", {
|
|
347
380
|
className: "flex items-center",
|
|
348
381
|
children: [
|
|
349
|
-
/* @__PURE__ */
|
|
382
|
+
/* @__PURE__ */ b("span", {
|
|
350
383
|
className: "w-40 truncate text-sm text-text-primary",
|
|
351
384
|
children: e
|
|
352
385
|
}),
|
|
353
|
-
/* @__PURE__ */
|
|
386
|
+
/* @__PURE__ */ b("div", {
|
|
354
387
|
className: "mx-3 h-6 flex-1 rounded-full bg-bg-sunken overflow-hidden",
|
|
355
|
-
children: /* @__PURE__ */
|
|
388
|
+
children: /* @__PURE__ */ b("div", {
|
|
356
389
|
className: "flex h-6 items-center justify-end rounded-full bg-action-primary-bg pr-2",
|
|
357
|
-
style: { width: `${
|
|
358
|
-
children: /* @__PURE__ */
|
|
390
|
+
style: { width: `${L > 0 ? t / L * 100 : 0}%` },
|
|
391
|
+
children: /* @__PURE__ */ x("span", {
|
|
359
392
|
className: "text-xs font-medium text-action-primary-text",
|
|
360
|
-
children: [
|
|
393
|
+
children: [L > 0 ? (t / L * 100).toFixed(1) : 0, "%"]
|
|
361
394
|
})
|
|
362
395
|
})
|
|
363
396
|
}),
|
|
364
|
-
/* @__PURE__ */
|
|
397
|
+
/* @__PURE__ */ b("span", {
|
|
365
398
|
className: "ml-2 text-sm font-medium text-text-primary",
|
|
366
399
|
children: i(t, { minimumFractionDigits: 0 })
|
|
367
400
|
})
|
|
@@ -369,35 +402,35 @@ function E() {
|
|
|
369
402
|
}, e))
|
|
370
403
|
})] })]
|
|
371
404
|
}),
|
|
372
|
-
|
|
405
|
+
j === "investments" && /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("div", {
|
|
373
406
|
className: "mb-4",
|
|
374
|
-
children: /* @__PURE__ */
|
|
375
|
-
value:
|
|
376
|
-
onChange: (e) =>
|
|
407
|
+
children: /* @__PURE__ */ x("select", {
|
|
408
|
+
value: N,
|
|
409
|
+
onChange: (e) => P(e.target.value),
|
|
377
410
|
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)]",
|
|
378
|
-
children: [/* @__PURE__ */
|
|
411
|
+
children: [/* @__PURE__ */ b("option", {
|
|
379
412
|
value: "",
|
|
380
413
|
children: "All Categories"
|
|
381
|
-
}),
|
|
414
|
+
}), D.filter(Boolean).map((e) => /* @__PURE__ */ b("option", {
|
|
382
415
|
value: e,
|
|
383
416
|
children: e
|
|
384
417
|
}, e))]
|
|
385
418
|
})
|
|
386
|
-
}), /* @__PURE__ */
|
|
419
|
+
}), /* @__PURE__ */ b("div", {
|
|
387
420
|
className: "space-y-4",
|
|
388
|
-
children:
|
|
421
|
+
children: F.map((e) => /* @__PURE__ */ x("div", {
|
|
389
422
|
className: "rounded-lg border border-border-subtle p-4 hover:bg-accent/50 transition-colors",
|
|
390
423
|
children: [
|
|
391
|
-
/* @__PURE__ */
|
|
424
|
+
/* @__PURE__ */ x("div", {
|
|
392
425
|
className: "mb-4 flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",
|
|
393
|
-
children: [/* @__PURE__ */
|
|
426
|
+
children: [/* @__PURE__ */ x("div", {
|
|
394
427
|
className: "flex-1",
|
|
395
428
|
children: [
|
|
396
|
-
/* @__PURE__ */
|
|
429
|
+
/* @__PURE__ */ b("h4", {
|
|
397
430
|
className: "text-base font-semibold text-text-primary",
|
|
398
431
|
children: e.cartName
|
|
399
432
|
}),
|
|
400
|
-
/* @__PURE__ */
|
|
433
|
+
/* @__PURE__ */ x("p", {
|
|
401
434
|
className: "text-sm text-text-secondary",
|
|
402
435
|
children: [
|
|
403
436
|
"Owned by ",
|
|
@@ -406,58 +439,58 @@ function E() {
|
|
|
406
439
|
e.location
|
|
407
440
|
]
|
|
408
441
|
}),
|
|
409
|
-
/* @__PURE__ */
|
|
442
|
+
/* @__PURE__ */ x("div", {
|
|
410
443
|
className: "mt-2 flex flex-wrap items-center gap-2",
|
|
411
|
-
children: [/* @__PURE__ */
|
|
444
|
+
children: [/* @__PURE__ */ b("span", {
|
|
412
445
|
className: "text-sm text-text-secondary",
|
|
413
446
|
children: e.category
|
|
414
|
-
}),
|
|
447
|
+
}), O(e.riskLevel)]
|
|
415
448
|
})
|
|
416
449
|
]
|
|
417
|
-
}), /* @__PURE__ */
|
|
450
|
+
}), /* @__PURE__ */ x("div", {
|
|
418
451
|
className: "text-left sm:text-right",
|
|
419
|
-
children: [/* @__PURE__ */
|
|
452
|
+
children: [/* @__PURE__ */ b("p", {
|
|
420
453
|
className: "text-xl font-bold text-text-primary",
|
|
421
454
|
children: i(e.currentValue, { minimumFractionDigits: 0 })
|
|
422
|
-
}), /* @__PURE__ */
|
|
455
|
+
}), /* @__PURE__ */ x("p", {
|
|
423
456
|
className: t("text-sm", e.returns > 0 ? "text-status-success-text" : "text-status-error-text"),
|
|
424
457
|
children: [
|
|
425
458
|
i(Math.abs(e.returns), { minimumFractionDigits: 0 }),
|
|
426
459
|
" (",
|
|
427
|
-
|
|
460
|
+
k(e.returnsPercentage),
|
|
428
461
|
")"
|
|
429
462
|
]
|
|
430
463
|
})]
|
|
431
464
|
})]
|
|
432
465
|
}),
|
|
433
|
-
/* @__PURE__ */
|
|
466
|
+
/* @__PURE__ */ x("div", {
|
|
434
467
|
className: "mb-4 grid grid-cols-2 gap-3 lg:grid-cols-4",
|
|
435
468
|
children: [
|
|
436
|
-
/* @__PURE__ */
|
|
469
|
+
/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
|
|
437
470
|
className: "text-xs text-text-secondary",
|
|
438
471
|
children: "Invested"
|
|
439
|
-
}), /* @__PURE__ */
|
|
472
|
+
}), /* @__PURE__ */ b("p", {
|
|
440
473
|
className: "text-sm font-medium text-text-primary",
|
|
441
474
|
children: i(e.amount, { minimumFractionDigits: 0 })
|
|
442
475
|
})] }),
|
|
443
|
-
/* @__PURE__ */
|
|
476
|
+
/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
|
|
444
477
|
className: "text-xs text-text-secondary",
|
|
445
478
|
children: "Ownership"
|
|
446
|
-
}), /* @__PURE__ */
|
|
479
|
+
}), /* @__PURE__ */ x("p", {
|
|
447
480
|
className: "text-sm font-medium text-text-primary",
|
|
448
481
|
children: [e.ownership, "%"]
|
|
449
482
|
})] }),
|
|
450
|
-
/* @__PURE__ */
|
|
483
|
+
/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
|
|
451
484
|
className: "text-xs text-text-secondary",
|
|
452
485
|
children: "Monthly Dividend"
|
|
453
|
-
}), /* @__PURE__ */
|
|
486
|
+
}), /* @__PURE__ */ b("p", {
|
|
454
487
|
className: "text-sm font-medium text-text-primary",
|
|
455
488
|
children: i(e.monthlyDividend, { minimumFractionDigits: 0 })
|
|
456
489
|
})] }),
|
|
457
|
-
/* @__PURE__ */
|
|
490
|
+
/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
|
|
458
491
|
className: "text-xs text-text-secondary",
|
|
459
492
|
children: "Investment Date"
|
|
460
|
-
}), /* @__PURE__ */
|
|
493
|
+
}), /* @__PURE__ */ b("p", {
|
|
461
494
|
className: "text-sm font-medium text-text-primary",
|
|
462
495
|
children: a(e.investmentDate, {
|
|
463
496
|
hour: void 0,
|
|
@@ -466,91 +499,91 @@ function E() {
|
|
|
466
499
|
})] })
|
|
467
500
|
]
|
|
468
501
|
}),
|
|
469
|
-
/* @__PURE__ */
|
|
502
|
+
/* @__PURE__ */ x("div", {
|
|
470
503
|
className: "border-t border-border-subtle pt-4",
|
|
471
|
-
children: [/* @__PURE__ */
|
|
504
|
+
children: [/* @__PURE__ */ b("p", {
|
|
472
505
|
className: "mb-2 text-sm font-medium text-text-secondary",
|
|
473
506
|
children: "Performance Metrics"
|
|
474
|
-
}), /* @__PURE__ */
|
|
507
|
+
}), /* @__PURE__ */ x("div", {
|
|
475
508
|
className: "grid grid-cols-3 gap-3 text-center",
|
|
476
509
|
children: [
|
|
477
|
-
/* @__PURE__ */
|
|
510
|
+
/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
|
|
478
511
|
className: "text-lg font-bold text-text-primary",
|
|
479
512
|
children: e.performanceMetrics.monthlyOrders
|
|
480
|
-
}), /* @__PURE__ */
|
|
513
|
+
}), /* @__PURE__ */ b("p", {
|
|
481
514
|
className: "text-xs text-text-secondary",
|
|
482
515
|
children: "Monthly Orders"
|
|
483
516
|
})] }),
|
|
484
|
-
/* @__PURE__ */
|
|
517
|
+
/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ x("div", {
|
|
485
518
|
className: "flex items-center justify-center gap-1",
|
|
486
|
-
children: [/* @__PURE__ */
|
|
519
|
+
children: [/* @__PURE__ */ b(g, { className: "h-4 w-4 fill-status-warning-text text-status-warning-text" }), /* @__PURE__ */ b("p", {
|
|
487
520
|
className: "text-lg font-bold text-text-primary",
|
|
488
521
|
children: e.performanceMetrics.averageRating
|
|
489
522
|
})]
|
|
490
|
-
}), /* @__PURE__ */
|
|
523
|
+
}), /* @__PURE__ */ b("p", {
|
|
491
524
|
className: "text-xs text-text-secondary",
|
|
492
525
|
children: "Rating"
|
|
493
526
|
})] }),
|
|
494
|
-
/* @__PURE__ */
|
|
527
|
+
/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ x("p", {
|
|
495
528
|
className: "text-lg font-bold text-status-success-text",
|
|
496
529
|
children: [
|
|
497
530
|
"+",
|
|
498
531
|
e.performanceMetrics.growthRate,
|
|
499
532
|
"%"
|
|
500
533
|
]
|
|
501
|
-
}), /* @__PURE__ */
|
|
534
|
+
}), /* @__PURE__ */ b("p", {
|
|
502
535
|
className: "text-xs text-text-secondary",
|
|
503
536
|
children: "Growth Rate"
|
|
504
537
|
})] })
|
|
505
538
|
]
|
|
506
539
|
})]
|
|
507
540
|
}),
|
|
508
|
-
/* @__PURE__ */
|
|
541
|
+
/* @__PURE__ */ x("div", {
|
|
509
542
|
className: "mt-4 flex flex-wrap gap-2",
|
|
510
|
-
children: [/* @__PURE__ */
|
|
543
|
+
children: [/* @__PURE__ */ x("button", {
|
|
511
544
|
type: "button",
|
|
512
|
-
onClick: () =>
|
|
545
|
+
onClick: () => A(`/investor/investments/${e.id}`),
|
|
513
546
|
className: "flex items-center gap-2 rounded-lg border border-border-subtle px-3 py-2 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
|
|
514
|
-
children: [/* @__PURE__ */
|
|
515
|
-
}), e.status === "active" && /* @__PURE__ */
|
|
547
|
+
children: [/* @__PURE__ */ b(p, { className: "h-4 w-4" }), "View Details"]
|
|
548
|
+
}), e.status === "active" && /* @__PURE__ */ x("button", {
|
|
516
549
|
type: "button",
|
|
517
|
-
onClick: () =>
|
|
550
|
+
onClick: () => G(e.id),
|
|
518
551
|
className: "flex items-center gap-2 rounded-lg border border-border-subtle px-3 py-2 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
|
|
519
|
-
children: [/* @__PURE__ */
|
|
552
|
+
children: [/* @__PURE__ */ b(l, { className: "h-4 w-4" }), "Withdraw"]
|
|
520
553
|
})]
|
|
521
554
|
})
|
|
522
555
|
]
|
|
523
556
|
}, e.id))
|
|
524
557
|
})] }),
|
|
525
|
-
|
|
558
|
+
j === "transactions" && /* @__PURE__ */ b("div", {
|
|
526
559
|
className: "space-y-3",
|
|
527
|
-
children:
|
|
560
|
+
children: E.map((e) => /* @__PURE__ */ x("div", {
|
|
528
561
|
className: "flex flex-col gap-3 rounded-lg border border-border-subtle p-4 hover:bg-accent/50 transition-colors sm:flex-row sm:items-center sm:justify-between",
|
|
529
|
-
children: [/* @__PURE__ */
|
|
562
|
+
children: [/* @__PURE__ */ x("div", {
|
|
530
563
|
className: "flex items-center gap-3",
|
|
531
|
-
children: [/* @__PURE__ */
|
|
564
|
+
children: [/* @__PURE__ */ b("div", {
|
|
532
565
|
className: t("flex h-10 w-10 shrink-0 items-center justify-center rounded-full", e.type === "investment" ? "bg-accent-blue-subtle/10" : e.type === "dividend" ? "bg-status-success-bg-subtle/10" : "bg-status-error-bg-subtle/10"),
|
|
533
|
-
children: e.type === "investment" ? /* @__PURE__ */ y
|
|
534
|
-
}), /* @__PURE__ */
|
|
566
|
+
children: e.type === "investment" ? /* @__PURE__ */ b(y, { className: "h-5 w-5 text-accent-blue" }) : e.type === "dividend" ? /* @__PURE__ */ b(v, { className: "h-5 w-5 text-status-success-text" }) : /* @__PURE__ */ b(_, { className: "h-5 w-5 text-status-error-text" })
|
|
567
|
+
}), /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ x("p", {
|
|
535
568
|
className: "text-sm font-medium text-text-primary",
|
|
536
569
|
children: [
|
|
537
570
|
e.type === "investment" ? "Investment in" : e.type === "dividend" ? "Dividend from" : "Withdrawal from",
|
|
538
571
|
" ",
|
|
539
572
|
e.cartName
|
|
540
573
|
]
|
|
541
|
-
}), /* @__PURE__ */
|
|
574
|
+
}), /* @__PURE__ */ b("p", {
|
|
542
575
|
className: "text-xs text-text-secondary",
|
|
543
576
|
children: a(e.date, {
|
|
544
577
|
hour: void 0,
|
|
545
578
|
minute: void 0
|
|
546
579
|
})
|
|
547
580
|
})] })]
|
|
548
|
-
}), /* @__PURE__ */
|
|
581
|
+
}), /* @__PURE__ */ x("div", {
|
|
549
582
|
className: "flex items-center justify-between sm:gap-4",
|
|
550
|
-
children: [/* @__PURE__ */
|
|
583
|
+
children: [/* @__PURE__ */ x("p", {
|
|
551
584
|
className: t("text-sm font-bold", e.type === "dividend" ? "text-status-success-text" : "text-text-primary"),
|
|
552
585
|
children: [e.type === "dividend" ? "+" : "-", i(e.amount, { minimumFractionDigits: 0 })]
|
|
553
|
-
}), /* @__PURE__ */
|
|
586
|
+
}), /* @__PURE__ */ b("span", {
|
|
554
587
|
className: t("rounded-full px-2.5 py-0.5 text-xs font-medium", e.status === "completed" ? "bg-status-success-bg-subtle/20 text-status-success-text" : e.status === "pending" ? "bg-status-warning-bg-subtle/20 text-status-warning-text" : "bg-status-error-bg-subtle/20 text-status-error-text"),
|
|
555
588
|
children: e.status
|
|
556
589
|
})]
|
|
@@ -564,6 +597,6 @@ function E() {
|
|
|
564
597
|
});
|
|
565
598
|
}
|
|
566
599
|
//#endregion
|
|
567
|
-
export {
|
|
600
|
+
export { A as InvestorPortfolioPage };
|
|
568
601
|
|
|
569
602
|
//# sourceMappingURL=InvestorPortfolioPage.js.map
|