@burdenoff/microfe-kadaikodi 2026.704.1 → 2026.704.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/kadaikodi/hooks/useKadaikodiApi.js +77 -26
- package/dist/kadaikodi/hooks/useKadaikodiApi.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js +341 -461
- package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminDashboard.js +115 -399
- package/dist/kadaikodi/pages/admin/AdminDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminFinancialPage.js +140 -283
- package/dist/kadaikodi/pages/admin/AdminFinancialPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminOrdersPage.js +282 -453
- package/dist/kadaikodi/pages/admin/AdminOrdersPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminProfilePage.js +115 -242
- package/dist/kadaikodi/pages/admin/AdminProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminSettingsPage.js +2 -2
- package/dist/kadaikodi/pages/admin/AdminSettingsPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/CartManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/UserManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js +503 -627
- package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.js +339 -282
- package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js +323 -422
- package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/CartOwnerProfilePage.js +374 -383
- package/dist/kadaikodi/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/CartServiceConfigPage.js +249 -208
- package/dist/kadaikodi/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js +1 -1
- package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js +1 -1
- package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.js +171 -627
- package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/common/HelpSupportPage.js +331 -415
- package/dist/kadaikodi/pages/common/HelpSupportPage.js.map +1 -1
- package/dist/kadaikodi/pages/common/NotificationCenterPage.js +18 -670
- package/dist/kadaikodi/pages/common/NotificationCenterPage.js.map +1 -1
- package/dist/kadaikodi/pages/common/SettingsPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CheckoutPage.js +4 -2
- package/dist/kadaikodi/pages/customer/CheckoutPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CustomerDashboard.js +191 -369
- package/dist/kadaikodi/pages/customer/CustomerDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CustomerProfilePage.js +233 -389
- package/dist/kadaikodi/pages/customer/CustomerProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/OrderHistoryPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/OrderTrackingPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/PaymentMethodsPage.js +76 -118
- package/dist/kadaikodi/pages/customer/PaymentMethodsPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/ReviewsPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/SavedAddressesPage.js +135 -213
- package/dist/kadaikodi/pages/customer/SavedAddressesPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js +272 -774
- package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js +232 -343
- package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.js +112 -600
- package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorDashboard.js +127 -294
- package/dist/kadaikodi/pages/investor/InvestorDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorInvestmentsPage.js +204 -290
- package/dist/kadaikodi/pages/investor/InvestorInvestmentsPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorPortfolioPage.js +159 -500
- package/dist/kadaikodi/pages/investor/InvestorPortfolioPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorProfilePage.js +399 -487
- package/dist/kadaikodi/pages/investor/InvestorProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/TaskDetailsPage.js +13 -13
- package/dist/kadaikodi/pages/worker/TaskDetailsPage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerDashboard.js +192 -296
- package/dist/kadaikodi/pages/worker/WorkerDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerOrdersPage.js +245 -397
- package/dist/kadaikodi/pages/worker/WorkerOrdersPage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerProfilePage.js +85 -117
- package/dist/kadaikodi/pages/worker/WorkerProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js +177 -395
- package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,682 +2,194 @@ import { useKadaikodi as e } from "../../context/KadaikodiContext.js";
|
|
|
2
2
|
import { cn as t } from "../../utils/cn.js";
|
|
3
3
|
import { PageLayout as n } from "../../components/PageLayout.js";
|
|
4
4
|
import { MetricsCard as r } from "../../components/MetricsCard.js";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
5
|
+
import { EmptyState as i } from "../../components/EmptyState.js";
|
|
6
|
+
import { useInvestments as a } from "../../hooks/useKadaikodiApi.js";
|
|
7
|
+
import { formatCurrency as o } from "../../utils/formatters.js";
|
|
8
|
+
import { useMemo as s } from "react";
|
|
9
|
+
import { ArrowDown as c, ArrowUp as l, BarChart3 as u, IndianRupee as d, PieChart as f, Target as p, TrendingUp as m, Wallet as h } from "lucide-react";
|
|
10
|
+
import { jsx as g, jsxs as _ } from "react/jsx-runtime";
|
|
11
|
+
import { EmphasisPanel as v, PagePurpose as y } from "@burdenoff/fe-libs/ui";
|
|
10
12
|
//#region src/kadaikodi/pages/investor/InvestorAnalyticsPage.tsx
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
{
|
|
37
|
-
cartName: "Pizza Corner",
|
|
38
|
-
investedAmount: 75e3,
|
|
39
|
-
currentValue: 82e3,
|
|
40
|
-
returns: 7e3,
|
|
41
|
-
roi: 9.3
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
cartName: "Healthy Bites",
|
|
45
|
-
investedAmount: 3e4,
|
|
46
|
-
currentValue: 31200,
|
|
47
|
-
returns: 1200,
|
|
48
|
-
roi: 4
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
cartName: "Street Food Junction",
|
|
52
|
-
investedAmount: 4e4,
|
|
53
|
-
currentValue: 4e4,
|
|
54
|
-
returns: 0,
|
|
55
|
-
roi: 0
|
|
56
|
-
}
|
|
57
|
-
],
|
|
58
|
-
performanceByCategory: [
|
|
59
|
-
{
|
|
60
|
-
category: "South Indian",
|
|
61
|
-
investedAmount: 11e4,
|
|
62
|
-
returns: 20500,
|
|
63
|
-
percentage: 43.1
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
category: "Fast Food",
|
|
67
|
-
investedAmount: 75e3,
|
|
68
|
-
returns: 7e3,
|
|
69
|
-
percentage: 29.4
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
category: "Street Food",
|
|
73
|
-
investedAmount: 4e4,
|
|
74
|
-
returns: 0,
|
|
75
|
-
percentage: 15.7
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
category: "Healthy Food",
|
|
79
|
-
investedAmount: 3e4,
|
|
80
|
-
returns: 1200,
|
|
81
|
-
percentage: 11.8
|
|
82
|
-
}
|
|
83
|
-
],
|
|
84
|
-
monthlyPerformance: [
|
|
85
|
-
{
|
|
86
|
-
month: "Jun 2024",
|
|
87
|
-
invested: 195e3,
|
|
88
|
-
value: 202e3,
|
|
89
|
-
returns: 7e3
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
month: "Jul 2024",
|
|
93
|
-
invested: 215e3,
|
|
94
|
-
value: 228e3,
|
|
95
|
-
returns: 13e3
|
|
96
|
-
},
|
|
97
|
-
{
|
|
98
|
-
month: "Aug 2024",
|
|
99
|
-
invested: 255e3,
|
|
100
|
-
value: 265e3,
|
|
101
|
-
returns: 1e4
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
month: "Sep 2024",
|
|
105
|
-
invested: 255e3,
|
|
106
|
-
value: 275e3,
|
|
107
|
-
returns: 2e4
|
|
108
|
-
},
|
|
109
|
-
{
|
|
110
|
-
month: "Oct 2024",
|
|
111
|
-
invested: 255e3,
|
|
112
|
-
value: 28e4,
|
|
113
|
-
returns: 25e3
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
month: "Nov 2024",
|
|
117
|
-
invested: 255e3,
|
|
118
|
-
value: 283700,
|
|
119
|
-
returns: 28700
|
|
120
|
-
}
|
|
121
|
-
],
|
|
122
|
-
riskAnalysis: {
|
|
123
|
-
riskScore: 3.2,
|
|
124
|
-
diversificationScore: 7.8,
|
|
125
|
-
volatilityScore: 2.5,
|
|
126
|
-
recommendations: [
|
|
127
|
-
"Consider diversifying into more food categories",
|
|
128
|
-
"Your portfolio shows good risk distribution",
|
|
129
|
-
"Consider investing in carts from different locations",
|
|
130
|
-
"Monitor underperforming investments closely",
|
|
131
|
-
"Explore premium segment opportunities for higher returns"
|
|
132
|
-
]
|
|
133
|
-
}
|
|
134
|
-
};
|
|
135
|
-
function T(e) {
|
|
136
|
-
return e <= 2 ? {
|
|
137
|
-
label: "Low Risk",
|
|
138
|
-
color: "text-status-success-text"
|
|
139
|
-
} : e <= 4 ? {
|
|
140
|
-
label: "Moderate Risk",
|
|
141
|
-
color: "text-status-warning-text"
|
|
142
|
-
} : {
|
|
143
|
-
label: "High Risk",
|
|
144
|
-
color: "text-status-error-text"
|
|
145
|
-
};
|
|
146
|
-
}
|
|
147
|
-
function E(e) {
|
|
148
|
-
return e <= 2 ? "bg-status-success-text" : e <= 4 ? "bg-status-warning-text" : "bg-status-error-text";
|
|
149
|
-
}
|
|
150
|
-
function D(e) {
|
|
151
|
-
return e >= 8 ? {
|
|
152
|
-
label: "Well Diversified",
|
|
153
|
-
color: "text-status-success-text"
|
|
154
|
-
} : e >= 6 ? {
|
|
155
|
-
label: "Moderately Diversified",
|
|
156
|
-
color: "text-status-warning-text"
|
|
157
|
-
} : {
|
|
158
|
-
label: "Poorly Diversified",
|
|
159
|
-
color: "text-status-error-text"
|
|
160
|
-
};
|
|
161
|
-
}
|
|
162
|
-
function O(e) {
|
|
163
|
-
return e >= 8 ? "bg-status-success-text" : e >= 6 ? "bg-status-warning-text" : "bg-status-error-text";
|
|
164
|
-
}
|
|
165
|
-
function k() {
|
|
166
|
-
let { navigateTo: k } = e(), [A, j] = s(!0), [M, N] = s("6m"), [P, F] = s(null), [I, L] = s("idle");
|
|
167
|
-
o(() => {
|
|
168
|
-
j(!0);
|
|
169
|
-
let e = setTimeout(() => {
|
|
170
|
-
F(w), j(!1);
|
|
171
|
-
}, 600);
|
|
172
|
-
return () => clearTimeout(e);
|
|
173
|
-
}, [M]);
|
|
174
|
-
let R = a(() => {
|
|
175
|
-
L("exporting"), setTimeout(() => {
|
|
176
|
-
L("done"), setTimeout(() => L("idle"), 2e3);
|
|
177
|
-
}, 1200);
|
|
178
|
-
}, []);
|
|
179
|
-
if (A || !P) return /* @__PURE__ */ b(n, {
|
|
13
|
+
function b() {
|
|
14
|
+
let { navigateTo: b, currentUser: x } = e(), { data: S = [], isLoading: C } = a(x?.id || ""), w = s(() => {
|
|
15
|
+
let e = S.reduce((e, t) => e + t.investedAmount, 0), t = S.reduce((e, t) => e + t.currentValue, 0), n = t - e, r = e > 0 ? n / e * 100 : 0, i = S.map((e) => {
|
|
16
|
+
let t = e.currentValue - e.investedAmount, n = e.investedAmount > 0 ? t / e.investedAmount * 100 : 0;
|
|
17
|
+
return {
|
|
18
|
+
id: e.id,
|
|
19
|
+
cartName: e.cartName,
|
|
20
|
+
investedAmount: e.investedAmount,
|
|
21
|
+
currentValue: e.currentValue,
|
|
22
|
+
returns: t,
|
|
23
|
+
roi: n
|
|
24
|
+
};
|
|
25
|
+
}), a = i.length ? i.reduce((e, t) => e + t.roi, 0) / i.length : 0, o = [...i].sort((e, t) => t.roi - e.roi);
|
|
26
|
+
return {
|
|
27
|
+
totalInvested: e,
|
|
28
|
+
totalValue: t,
|
|
29
|
+
totalReturns: n,
|
|
30
|
+
portfolioGrowth: r,
|
|
31
|
+
averageRoi: a,
|
|
32
|
+
performanceByCart: o,
|
|
33
|
+
bestPerforming: o[0]?.cartName ?? "",
|
|
34
|
+
worstPerforming: o[o.length - 1]?.cartName ?? ""
|
|
35
|
+
};
|
|
36
|
+
}, [S]);
|
|
37
|
+
return C ? /* @__PURE__ */ g(n, {
|
|
180
38
|
title: "Investment Analytics",
|
|
181
39
|
description: "Loading analytics...",
|
|
182
|
-
children: /* @__PURE__ */
|
|
40
|
+
children: /* @__PURE__ */ g("div", {
|
|
183
41
|
className: "flex items-center justify-center py-20",
|
|
184
|
-
children: /* @__PURE__ */
|
|
42
|
+
children: /* @__PURE__ */ _("div", {
|
|
185
43
|
className: "text-center",
|
|
186
|
-
children: [/* @__PURE__ */
|
|
44
|
+
children: [/* @__PURE__ */ g("div", { className: "mx-auto mb-4 h-12 w-12 animate-spin rounded-full border-b-2 border-primary" }), /* @__PURE__ */ g("p", {
|
|
187
45
|
className: "text-sm text-text-secondary",
|
|
188
46
|
children: "Loading analytics data..."
|
|
189
47
|
})]
|
|
190
48
|
})
|
|
191
49
|
})
|
|
192
|
-
})
|
|
193
|
-
let z = T(P.riskAnalysis.riskScore), B = D(P.riskAnalysis.diversificationScore), V = [...P.performanceByCart].sort((e, t) => t.roi - e.roi);
|
|
194
|
-
return /* @__PURE__ */ x(n, {
|
|
50
|
+
}) : S.length === 0 ? /* @__PURE__ */ g(n, {
|
|
195
51
|
title: "Investment Analytics",
|
|
196
52
|
description: "Comprehensive analysis of your portfolio performance",
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
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)]",
|
|
203
|
-
children: [
|
|
204
|
-
/* @__PURE__ */ b("option", {
|
|
205
|
-
value: "1m",
|
|
206
|
-
children: "Last Month"
|
|
207
|
-
}),
|
|
208
|
-
/* @__PURE__ */ b("option", {
|
|
209
|
-
value: "3m",
|
|
210
|
-
children: "Last 3 Months"
|
|
211
|
-
}),
|
|
212
|
-
/* @__PURE__ */ b("option", {
|
|
213
|
-
value: "6m",
|
|
214
|
-
children: "Last 6 Months"
|
|
215
|
-
}),
|
|
216
|
-
/* @__PURE__ */ b("option", {
|
|
217
|
-
value: "1y",
|
|
218
|
-
children: "Last Year"
|
|
219
|
-
}),
|
|
220
|
-
/* @__PURE__ */ b("option", {
|
|
221
|
-
value: "all",
|
|
222
|
-
children: "All Time"
|
|
223
|
-
})
|
|
224
|
-
]
|
|
225
|
-
}), /* @__PURE__ */ x("button", {
|
|
53
|
+
children: /* @__PURE__ */ g(i, {
|
|
54
|
+
illustration: "empty-data",
|
|
55
|
+
title: "No analytics yet",
|
|
56
|
+
description: "Once you back a cart, your portfolio performance and per-cart analytics will appear here.",
|
|
57
|
+
action: /* @__PURE__ */ g("button", {
|
|
226
58
|
type: "button",
|
|
227
|
-
onClick:
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
59
|
+
onClick: () => b("/investor/opportunities"),
|
|
60
|
+
className: "rounded-lg bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:bg-action-primary-bg/90 transition-colors",
|
|
61
|
+
children: "Browse Opportunities"
|
|
62
|
+
})
|
|
63
|
+
})
|
|
64
|
+
}) : /* @__PURE__ */ _(n, {
|
|
65
|
+
title: "Investment Analytics",
|
|
66
|
+
description: "Comprehensive analysis of your portfolio performance",
|
|
233
67
|
children: [
|
|
234
|
-
/* @__PURE__ */
|
|
68
|
+
/* @__PURE__ */ g(y, {
|
|
235
69
|
className: "mb-6",
|
|
236
|
-
children: "The analytical lens on your whole portfolio. Use this page to judge how well your money is working — overall value and returns, average ROI
|
|
70
|
+
children: "The analytical lens on your whole portfolio. Use this page to judge how well your money is working — overall value and returns, average ROI — then see your best and worst performers so you can rebalance, double down, or trim exposure."
|
|
237
71
|
}),
|
|
238
|
-
/* @__PURE__ */
|
|
72
|
+
/* @__PURE__ */ _(v, { children: [/* @__PURE__ */ g("h2", {
|
|
239
73
|
className: "mb-4 text-base font-semibold text-text-primary",
|
|
240
74
|
children: "Portfolio Performance"
|
|
241
|
-
}), /* @__PURE__ */
|
|
75
|
+
}), /* @__PURE__ */ _("div", {
|
|
242
76
|
className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4",
|
|
243
77
|
children: [
|
|
244
|
-
/* @__PURE__ */
|
|
78
|
+
/* @__PURE__ */ g(r, {
|
|
245
79
|
featured: !0,
|
|
246
|
-
icon: /* @__PURE__ */
|
|
247
|
-
value:
|
|
80
|
+
icon: /* @__PURE__ */ g(h, { className: "h-5 w-5" }),
|
|
81
|
+
value: o(w.totalValue, { minimumFractionDigits: 0 }),
|
|
248
82
|
label: "Portfolio Value",
|
|
249
|
-
trend: "up",
|
|
250
|
-
trendValue:
|
|
83
|
+
trend: w.portfolioGrowth >= 0 ? "up" : "down",
|
|
84
|
+
trendValue: `${w.portfolioGrowth >= 0 ? "+" : ""}${w.portfolioGrowth.toFixed(1)}%`
|
|
251
85
|
}),
|
|
252
|
-
/* @__PURE__ */
|
|
253
|
-
icon: /* @__PURE__ */
|
|
254
|
-
value:
|
|
255
|
-
label: "Total
|
|
256
|
-
trend: "up",
|
|
257
|
-
trendValue: "Profit earned so far"
|
|
86
|
+
/* @__PURE__ */ g(r, {
|
|
87
|
+
icon: /* @__PURE__ */ g(d, { className: "h-5 w-5" }),
|
|
88
|
+
value: o(w.totalInvested, { minimumFractionDigits: 0 }),
|
|
89
|
+
label: "Total Invested"
|
|
258
90
|
}),
|
|
259
|
-
/* @__PURE__ */
|
|
260
|
-
icon: /* @__PURE__ */
|
|
261
|
-
value:
|
|
262
|
-
label: "
|
|
263
|
-
trend: "up"
|
|
264
|
-
trendValue: "Across all investments"
|
|
91
|
+
/* @__PURE__ */ g(r, {
|
|
92
|
+
icon: /* @__PURE__ */ g(m, { className: "h-5 w-5" }),
|
|
93
|
+
value: o(w.totalReturns, { minimumFractionDigits: 0 }),
|
|
94
|
+
label: "Total Returns",
|
|
95
|
+
trend: w.totalReturns >= 0 ? "up" : "down"
|
|
265
96
|
}),
|
|
266
|
-
/* @__PURE__ */
|
|
267
|
-
icon: /* @__PURE__ */
|
|
268
|
-
value: `${
|
|
269
|
-
label: "
|
|
270
|
-
trend: "neutral",
|
|
271
|
-
trendValue: z.label
|
|
97
|
+
/* @__PURE__ */ g(r, {
|
|
98
|
+
icon: /* @__PURE__ */ g(p, { className: "h-5 w-5" }),
|
|
99
|
+
value: `${w.averageRoi.toFixed(1)}%`,
|
|
100
|
+
label: "Average ROI"
|
|
272
101
|
})
|
|
273
102
|
]
|
|
274
103
|
})] }),
|
|
275
|
-
/* @__PURE__ */
|
|
104
|
+
w.performanceByCart.length > 1 && /* @__PURE__ */ _("div", {
|
|
276
105
|
className: "mt-4 grid grid-cols-1 gap-4 sm:grid-cols-2",
|
|
277
|
-
children: [/* @__PURE__ */
|
|
106
|
+
children: [/* @__PURE__ */ _("div", {
|
|
278
107
|
className: "flex items-center gap-3 rounded-lg border border-border-subtle bg-bg-surface p-4",
|
|
279
|
-
children: [/* @__PURE__ */
|
|
108
|
+
children: [/* @__PURE__ */ g("div", {
|
|
280
109
|
className: "flex h-10 w-10 shrink-0 items-center justify-center rounded-full bg-status-success-bg-subtle",
|
|
281
|
-
children: /* @__PURE__ */
|
|
282
|
-
}), /* @__PURE__ */
|
|
110
|
+
children: /* @__PURE__ */ g(l, { className: "h-5 w-5 text-status-success-text" })
|
|
111
|
+
}), /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("p", {
|
|
283
112
|
className: "text-xs text-text-secondary",
|
|
284
113
|
children: "Best Performing"
|
|
285
|
-
}), /* @__PURE__ */
|
|
114
|
+
}), /* @__PURE__ */ g("p", {
|
|
286
115
|
className: "text-sm font-semibold text-status-success-text",
|
|
287
|
-
children:
|
|
116
|
+
children: w.bestPerforming
|
|
288
117
|
})] })]
|
|
289
|
-
}), /* @__PURE__ */
|
|
118
|
+
}), /* @__PURE__ */ _("div", {
|
|
290
119
|
className: "flex items-center gap-3 rounded-lg border border-border-subtle bg-bg-surface p-4",
|
|
291
|
-
children: [/* @__PURE__ */
|
|
120
|
+
children: [/* @__PURE__ */ g("div", {
|
|
292
121
|
className: "flex h-10 w-10 shrink-0 items-center justify-center rounded-full bg-status-error-bg-subtle",
|
|
293
|
-
children: /* @__PURE__ */
|
|
294
|
-
}), /* @__PURE__ */
|
|
122
|
+
children: /* @__PURE__ */ g(c, { className: "h-5 w-5 text-status-error-text" })
|
|
123
|
+
}), /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("p", {
|
|
295
124
|
className: "text-xs text-text-secondary",
|
|
296
125
|
children: "Worst Performing"
|
|
297
|
-
}), /* @__PURE__ */
|
|
126
|
+
}), /* @__PURE__ */ g("p", {
|
|
298
127
|
className: "text-sm font-semibold text-text-primary",
|
|
299
|
-
children:
|
|
128
|
+
children: w.worstPerforming
|
|
300
129
|
})] })]
|
|
301
130
|
})]
|
|
302
131
|
}),
|
|
303
|
-
/* @__PURE__ */
|
|
304
|
-
className: "mt-6
|
|
305
|
-
children: [/* @__PURE__ */
|
|
132
|
+
/* @__PURE__ */ _("section", {
|
|
133
|
+
className: "mt-6",
|
|
134
|
+
children: [/* @__PURE__ */ _("div", {
|
|
306
135
|
className: "mb-4 flex items-center gap-2",
|
|
307
|
-
children: [/* @__PURE__ */
|
|
136
|
+
children: [/* @__PURE__ */ g(u, { className: "h-5 w-5 text-text-secondary" }), /* @__PURE__ */ g("h2", {
|
|
308
137
|
className: "text-lg font-semibold text-text-primary",
|
|
309
138
|
children: "Performance by Cart"
|
|
310
139
|
})]
|
|
311
|
-
}), /* @__PURE__ */
|
|
140
|
+
}), /* @__PURE__ */ g("div", {
|
|
312
141
|
className: "space-y-3",
|
|
313
|
-
children:
|
|
142
|
+
children: w.performanceByCart.map((e, n) => /* @__PURE__ */ _("div", {
|
|
314
143
|
className: "flex items-center justify-between rounded-lg border border-border-subtle bg-bg-surface p-3",
|
|
315
|
-
children: [/* @__PURE__ */
|
|
144
|
+
children: [/* @__PURE__ */ _("div", {
|
|
316
145
|
className: "flex items-center gap-3",
|
|
317
|
-
children: [/* @__PURE__ */
|
|
146
|
+
children: [/* @__PURE__ */ g("div", {
|
|
318
147
|
className: "flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-action-primary-bg text-xs font-bold text-action-primary-text",
|
|
319
148
|
children: n + 1
|
|
320
|
-
}), /* @__PURE__ */
|
|
149
|
+
}), /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("p", {
|
|
321
150
|
className: "text-sm font-medium text-text-primary",
|
|
322
151
|
children: e.cartName
|
|
323
|
-
}), /* @__PURE__ */
|
|
152
|
+
}), /* @__PURE__ */ _("p", {
|
|
324
153
|
className: "text-xs text-text-secondary",
|
|
325
|
-
children: [
|
|
154
|
+
children: [o(e.investedAmount, { minimumFractionDigits: 0 }), " invested"]
|
|
326
155
|
})] })]
|
|
327
|
-
}), /* @__PURE__ */
|
|
156
|
+
}), /* @__PURE__ */ _("div", {
|
|
328
157
|
className: "text-right",
|
|
329
|
-
children: [/* @__PURE__ */
|
|
158
|
+
children: [/* @__PURE__ */ _("p", {
|
|
330
159
|
className: t("text-sm font-semibold", e.returns >= 0 ? "text-status-success-text" : "text-status-error-text"),
|
|
331
|
-
children: [e.returns >= 0 ? "+" : "",
|
|
332
|
-
}), /* @__PURE__ */
|
|
160
|
+
children: [e.returns >= 0 ? "+" : "", o(e.returns, { minimumFractionDigits: 0 })]
|
|
161
|
+
}), /* @__PURE__ */ _("p", {
|
|
333
162
|
className: t("text-xs", e.roi >= 0 ? "text-status-success-text" : "text-status-error-text"),
|
|
334
163
|
children: [
|
|
335
164
|
e.roi >= 0 ? "+" : "",
|
|
336
|
-
e.roi,
|
|
165
|
+
e.roi.toFixed(1),
|
|
337
166
|
"% ROI"
|
|
338
167
|
]
|
|
339
168
|
})]
|
|
340
169
|
})]
|
|
341
|
-
}, e.
|
|
342
|
-
})] }), /* @__PURE__ */ x("section", { children: [/* @__PURE__ */ x("div", {
|
|
343
|
-
className: "mb-4 flex items-center gap-2",
|
|
344
|
-
children: [/* @__PURE__ */ b(h, { className: "h-5 w-5 text-text-secondary" }), /* @__PURE__ */ b("h2", {
|
|
345
|
-
className: "text-lg font-semibold text-text-primary",
|
|
346
|
-
children: "Category Distribution"
|
|
347
|
-
})]
|
|
348
|
-
}), /* @__PURE__ */ b("div", {
|
|
349
|
-
className: "space-y-4",
|
|
350
|
-
children: P.performanceByCategory.map((e) => /* @__PURE__ */ x("div", {
|
|
351
|
-
className: "rounded-lg border border-border-subtle bg-bg-surface p-3",
|
|
352
|
-
children: [
|
|
353
|
-
/* @__PURE__ */ x("div", {
|
|
354
|
-
className: "mb-2 flex items-center justify-between",
|
|
355
|
-
children: [/* @__PURE__ */ b("span", {
|
|
356
|
-
className: "text-sm font-medium text-text-primary",
|
|
357
|
-
children: e.category
|
|
358
|
-
}), /* @__PURE__ */ x("span", {
|
|
359
|
-
className: "text-sm text-text-secondary",
|
|
360
|
-
children: [e.percentage, "%"]
|
|
361
|
-
})]
|
|
362
|
-
}),
|
|
363
|
-
/* @__PURE__ */ b("div", {
|
|
364
|
-
className: "mb-2 h-2 w-full overflow-hidden rounded-full bg-bg-sunken",
|
|
365
|
-
children: /* @__PURE__ */ b("div", {
|
|
366
|
-
className: "h-full rounded-full bg-action-primary-bg transition-all duration-300",
|
|
367
|
-
style: { width: `${e.percentage}%` }
|
|
368
|
-
})
|
|
369
|
-
}),
|
|
370
|
-
/* @__PURE__ */ x("div", {
|
|
371
|
-
className: "flex items-center justify-between",
|
|
372
|
-
children: [/* @__PURE__ */ x("span", {
|
|
373
|
-
className: "text-xs text-text-secondary",
|
|
374
|
-
children: [i(e.investedAmount, { minimumFractionDigits: 0 }), " invested"]
|
|
375
|
-
}), /* @__PURE__ */ x("span", {
|
|
376
|
-
className: t("text-xs font-semibold", e.returns >= 0 ? "text-status-success-text" : "text-status-error-text"),
|
|
377
|
-
children: [e.returns >= 0 ? "+" : "", i(e.returns, { minimumFractionDigits: 0 })]
|
|
378
|
-
})]
|
|
379
|
-
})
|
|
380
|
-
]
|
|
381
|
-
}, e.category))
|
|
382
|
-
})] })]
|
|
383
|
-
}),
|
|
384
|
-
/* @__PURE__ */ x("section", {
|
|
385
|
-
className: "mt-8",
|
|
386
|
-
children: [/* @__PURE__ */ x("div", {
|
|
387
|
-
className: "mb-4 flex items-center gap-2",
|
|
388
|
-
children: [/* @__PURE__ */ b(f, { className: "h-5 w-5 text-text-secondary" }), /* @__PURE__ */ b("h2", {
|
|
389
|
-
className: "text-lg font-semibold text-text-primary",
|
|
390
|
-
children: "Portfolio Growth Trend"
|
|
391
|
-
})]
|
|
392
|
-
}), /* @__PURE__ */ b("div", {
|
|
393
|
-
className: "overflow-hidden rounded-lg border border-border-subtle bg-bg-surface",
|
|
394
|
-
children: /* @__PURE__ */ b("div", {
|
|
395
|
-
className: "overflow-x-auto",
|
|
396
|
-
children: /* @__PURE__ */ x("table", {
|
|
397
|
-
className: "w-full",
|
|
398
|
-
children: [/* @__PURE__ */ b("thead", { children: /* @__PURE__ */ x("tr", {
|
|
399
|
-
className: "border-b border-border-subtle bg-bg-sunken/50",
|
|
400
|
-
children: [
|
|
401
|
-
/* @__PURE__ */ b("th", {
|
|
402
|
-
className: "px-4 py-3 text-left text-xs font-medium uppercase tracking-wider text-text-secondary sm:px-6",
|
|
403
|
-
children: "Month"
|
|
404
|
-
}),
|
|
405
|
-
/* @__PURE__ */ b("th", {
|
|
406
|
-
className: "px-4 py-3 text-left text-xs font-medium uppercase tracking-wider text-text-secondary sm:px-6",
|
|
407
|
-
children: "Invested"
|
|
408
|
-
}),
|
|
409
|
-
/* @__PURE__ */ b("th", {
|
|
410
|
-
className: "px-4 py-3 text-left text-xs font-medium uppercase tracking-wider text-text-secondary sm:px-6",
|
|
411
|
-
children: "Portfolio Value"
|
|
412
|
-
}),
|
|
413
|
-
/* @__PURE__ */ b("th", {
|
|
414
|
-
className: "px-4 py-3 text-left text-xs font-medium uppercase tracking-wider text-text-secondary sm:px-6",
|
|
415
|
-
children: "Returns"
|
|
416
|
-
}),
|
|
417
|
-
/* @__PURE__ */ b("th", {
|
|
418
|
-
className: "px-4 py-3 text-left text-xs font-medium uppercase tracking-wider text-text-secondary sm:px-6",
|
|
419
|
-
children: "Growth %"
|
|
420
|
-
})
|
|
421
|
-
]
|
|
422
|
-
}) }), /* @__PURE__ */ b("tbody", {
|
|
423
|
-
className: "divide-y divide-border",
|
|
424
|
-
children: P.monthlyPerformance.map((e) => {
|
|
425
|
-
let n = e.invested > 0 ? ((e.value - e.invested) / e.invested * 100).toFixed(1) : "0.0";
|
|
426
|
-
return /* @__PURE__ */ x("tr", {
|
|
427
|
-
className: "hover:bg-accent/50 transition-colors",
|
|
428
|
-
children: [
|
|
429
|
-
/* @__PURE__ */ b("td", {
|
|
430
|
-
className: "whitespace-nowrap px-4 py-4 text-sm font-medium text-text-primary sm:px-6",
|
|
431
|
-
children: e.month
|
|
432
|
-
}),
|
|
433
|
-
/* @__PURE__ */ b("td", {
|
|
434
|
-
className: "whitespace-nowrap px-4 py-4 text-sm text-text-primary sm:px-6",
|
|
435
|
-
children: i(e.invested, { minimumFractionDigits: 0 })
|
|
436
|
-
}),
|
|
437
|
-
/* @__PURE__ */ b("td", {
|
|
438
|
-
className: "whitespace-nowrap px-4 py-4 text-sm text-text-primary sm:px-6",
|
|
439
|
-
children: i(e.value, { minimumFractionDigits: 0 })
|
|
440
|
-
}),
|
|
441
|
-
/* @__PURE__ */ b("td", {
|
|
442
|
-
className: "whitespace-nowrap px-4 py-4 text-sm sm:px-6",
|
|
443
|
-
children: /* @__PURE__ */ x("span", {
|
|
444
|
-
className: t("font-semibold", e.returns >= 0 ? "text-status-success-text" : "text-status-error-text"),
|
|
445
|
-
children: [e.returns >= 0 ? "+" : "", i(e.returns, { minimumFractionDigits: 0 })]
|
|
446
|
-
})
|
|
447
|
-
}),
|
|
448
|
-
/* @__PURE__ */ b("td", {
|
|
449
|
-
className: "whitespace-nowrap px-4 py-4 text-sm sm:px-6",
|
|
450
|
-
children: /* @__PURE__ */ x("span", {
|
|
451
|
-
className: t("font-medium", parseFloat(n) >= 0 ? "text-status-success-text" : "text-status-error-text"),
|
|
452
|
-
children: [
|
|
453
|
-
parseFloat(n) >= 0 ? "+" : "",
|
|
454
|
-
n,
|
|
455
|
-
"%"
|
|
456
|
-
]
|
|
457
|
-
})
|
|
458
|
-
})
|
|
459
|
-
]
|
|
460
|
-
}, e.month);
|
|
461
|
-
})
|
|
462
|
-
})]
|
|
463
|
-
})
|
|
464
|
-
})
|
|
170
|
+
}, e.id))
|
|
465
171
|
})]
|
|
466
172
|
}),
|
|
467
|
-
/* @__PURE__ */
|
|
468
|
-
className: "mt-8 grid grid-cols-1 gap-6 lg:grid-cols-2",
|
|
469
|
-
children: [/* @__PURE__ */ x("section", { children: [/* @__PURE__ */ x("div", {
|
|
470
|
-
className: "mb-4 flex items-center gap-2",
|
|
471
|
-
children: [/* @__PURE__ */ b(g, { className: "h-5 w-5 text-text-secondary" }), /* @__PURE__ */ b("h2", {
|
|
472
|
-
className: "text-lg font-semibold text-text-primary",
|
|
473
|
-
children: "Risk Analysis"
|
|
474
|
-
})]
|
|
475
|
-
}), /* @__PURE__ */ b("div", {
|
|
476
|
-
className: "rounded-lg border border-border-subtle bg-bg-surface p-4 sm:p-6",
|
|
477
|
-
children: /* @__PURE__ */ x("div", {
|
|
478
|
-
className: "space-y-5",
|
|
479
|
-
children: [
|
|
480
|
-
/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ x("div", {
|
|
481
|
-
className: "mb-2 flex items-center justify-between",
|
|
482
|
-
children: [/* @__PURE__ */ b("span", {
|
|
483
|
-
className: "text-sm text-text-primary",
|
|
484
|
-
children: "Risk Score"
|
|
485
|
-
}), /* @__PURE__ */ x("span", {
|
|
486
|
-
className: t("text-sm font-semibold", z.color),
|
|
487
|
-
children: [
|
|
488
|
-
P.riskAnalysis.riskScore,
|
|
489
|
-
"/5 (",
|
|
490
|
-
z.label,
|
|
491
|
-
")"
|
|
492
|
-
]
|
|
493
|
-
})]
|
|
494
|
-
}), /* @__PURE__ */ b("div", {
|
|
495
|
-
className: "h-3 w-full overflow-hidden rounded-full bg-bg-sunken",
|
|
496
|
-
children: /* @__PURE__ */ b("div", {
|
|
497
|
-
className: t("h-full rounded-full transition-all duration-300", E(P.riskAnalysis.riskScore)),
|
|
498
|
-
style: { width: `${P.riskAnalysis.riskScore / 5 * 100}%` }
|
|
499
|
-
})
|
|
500
|
-
})] }),
|
|
501
|
-
/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ x("div", {
|
|
502
|
-
className: "mb-2 flex items-center justify-between",
|
|
503
|
-
children: [/* @__PURE__ */ b("span", {
|
|
504
|
-
className: "text-sm text-text-primary",
|
|
505
|
-
children: "Diversification"
|
|
506
|
-
}), /* @__PURE__ */ x("span", {
|
|
507
|
-
className: t("text-sm font-semibold", B.color),
|
|
508
|
-
children: [
|
|
509
|
-
P.riskAnalysis.diversificationScore,
|
|
510
|
-
"/10 (",
|
|
511
|
-
B.label,
|
|
512
|
-
")"
|
|
513
|
-
]
|
|
514
|
-
})]
|
|
515
|
-
}), /* @__PURE__ */ b("div", {
|
|
516
|
-
className: "h-3 w-full overflow-hidden rounded-full bg-bg-sunken",
|
|
517
|
-
children: /* @__PURE__ */ b("div", {
|
|
518
|
-
className: t("h-full rounded-full transition-all duration-300", O(P.riskAnalysis.diversificationScore)),
|
|
519
|
-
style: { width: `${P.riskAnalysis.diversificationScore / 10 * 100}%` }
|
|
520
|
-
})
|
|
521
|
-
})] }),
|
|
522
|
-
/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ x("div", {
|
|
523
|
-
className: "mb-2 flex items-center justify-between",
|
|
524
|
-
children: [/* @__PURE__ */ b("span", {
|
|
525
|
-
className: "text-sm text-text-primary",
|
|
526
|
-
children: "Volatility"
|
|
527
|
-
}), /* @__PURE__ */ x("span", {
|
|
528
|
-
className: t("text-sm font-semibold", T(P.riskAnalysis.volatilityScore).color),
|
|
529
|
-
children: [P.riskAnalysis.volatilityScore, "/5"]
|
|
530
|
-
})]
|
|
531
|
-
}), /* @__PURE__ */ b("div", {
|
|
532
|
-
className: "h-3 w-full overflow-hidden rounded-full bg-bg-sunken",
|
|
533
|
-
children: /* @__PURE__ */ b("div", {
|
|
534
|
-
className: t("h-full rounded-full transition-all duration-300", E(P.riskAnalysis.volatilityScore)),
|
|
535
|
-
style: { width: `${P.riskAnalysis.volatilityScore / 5 * 100}%` }
|
|
536
|
-
})
|
|
537
|
-
})] }),
|
|
538
|
-
/* @__PURE__ */ x("div", {
|
|
539
|
-
className: "grid grid-cols-2 gap-3 border-t border-border-subtle pt-4",
|
|
540
|
-
children: [/* @__PURE__ */ x("div", {
|
|
541
|
-
className: "rounded-lg bg-bg-sunken/50 p-3 text-center",
|
|
542
|
-
children: [/* @__PURE__ */ b("p", {
|
|
543
|
-
className: "text-lg font-bold text-text-primary",
|
|
544
|
-
children: P.performanceByCart.length
|
|
545
|
-
}), /* @__PURE__ */ b("p", {
|
|
546
|
-
className: "text-xs text-text-secondary",
|
|
547
|
-
children: "Active Investments"
|
|
548
|
-
})]
|
|
549
|
-
}), /* @__PURE__ */ x("div", {
|
|
550
|
-
className: "rounded-lg bg-bg-sunken/50 p-3 text-center",
|
|
551
|
-
children: [/* @__PURE__ */ b("p", {
|
|
552
|
-
className: "text-lg font-bold text-text-primary",
|
|
553
|
-
children: P.performanceByCategory.length
|
|
554
|
-
}), /* @__PURE__ */ b("p", {
|
|
555
|
-
className: "text-xs text-text-secondary",
|
|
556
|
-
children: "Sectors Covered"
|
|
557
|
-
})]
|
|
558
|
-
})]
|
|
559
|
-
})
|
|
560
|
-
]
|
|
561
|
-
})
|
|
562
|
-
})] }), /* @__PURE__ */ x("section", { children: [/* @__PURE__ */ x("div", {
|
|
563
|
-
className: "mb-4 flex items-center gap-2",
|
|
564
|
-
children: [/* @__PURE__ */ b(m, { className: "h-5 w-5 text-status-warning-text" }), /* @__PURE__ */ b("h2", {
|
|
565
|
-
className: "text-lg font-semibold text-text-primary",
|
|
566
|
-
children: "Recommendations"
|
|
567
|
-
})]
|
|
568
|
-
}), /* @__PURE__ */ x("div", {
|
|
569
|
-
className: "rounded-lg border border-border-subtle bg-bg-surface p-4 sm:p-6",
|
|
570
|
-
children: [/* @__PURE__ */ b("div", {
|
|
571
|
-
className: "space-y-3",
|
|
572
|
-
children: P.riskAnalysis.recommendations.map((e, t) => /* @__PURE__ */ x("div", {
|
|
573
|
-
className: "flex items-start gap-3 rounded-lg border border-border-subtle bg-bg-sunken/30 p-3",
|
|
574
|
-
children: [/* @__PURE__ */ b("div", {
|
|
575
|
-
className: "flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-action-primary-bg text-xs font-bold text-action-primary-text",
|
|
576
|
-
children: t + 1
|
|
577
|
-
}), /* @__PURE__ */ b("p", {
|
|
578
|
-
className: "text-sm leading-relaxed text-text-primary",
|
|
579
|
-
children: e
|
|
580
|
-
})]
|
|
581
|
-
}, t))
|
|
582
|
-
}), /* @__PURE__ */ x("div", {
|
|
583
|
-
className: "mt-5 rounded-lg border border-border-subtle bg-bg-sunken/50 p-4",
|
|
584
|
-
children: [/* @__PURE__ */ b("h4", {
|
|
585
|
-
className: "mb-2 text-sm font-semibold text-text-primary",
|
|
586
|
-
children: "Overall Assessment"
|
|
587
|
-
}), /* @__PURE__ */ x("div", {
|
|
588
|
-
className: "space-y-2",
|
|
589
|
-
children: [
|
|
590
|
-
/* @__PURE__ */ x("div", {
|
|
591
|
-
className: "flex items-center justify-between",
|
|
592
|
-
children: [/* @__PURE__ */ b("span", {
|
|
593
|
-
className: "text-xs text-text-secondary",
|
|
594
|
-
children: "Portfolio Health"
|
|
595
|
-
}), /* @__PURE__ */ x("div", {
|
|
596
|
-
className: "flex items-center gap-2",
|
|
597
|
-
children: [/* @__PURE__ */ b("div", {
|
|
598
|
-
className: "flex gap-0.5",
|
|
599
|
-
children: [
|
|
600
|
-
1,
|
|
601
|
-
2,
|
|
602
|
-
3,
|
|
603
|
-
4,
|
|
604
|
-
5
|
|
605
|
-
].map((e) => /* @__PURE__ */ b("div", { className: t("h-2 w-4 rounded-sm", e <= 4 ? "bg-status-success-text" : "bg-bg-sunken") }, e))
|
|
606
|
-
}), /* @__PURE__ */ b("span", {
|
|
607
|
-
className: "text-xs font-medium text-text-primary",
|
|
608
|
-
children: "4/5"
|
|
609
|
-
})]
|
|
610
|
-
})]
|
|
611
|
-
}),
|
|
612
|
-
/* @__PURE__ */ x("div", {
|
|
613
|
-
className: "flex items-center justify-between",
|
|
614
|
-
children: [/* @__PURE__ */ b("span", {
|
|
615
|
-
className: "text-xs text-text-secondary",
|
|
616
|
-
children: "Growth Potential"
|
|
617
|
-
}), /* @__PURE__ */ x("div", {
|
|
618
|
-
className: "flex items-center gap-2",
|
|
619
|
-
children: [/* @__PURE__ */ b("div", {
|
|
620
|
-
className: "flex gap-0.5",
|
|
621
|
-
children: [
|
|
622
|
-
1,
|
|
623
|
-
2,
|
|
624
|
-
3,
|
|
625
|
-
4,
|
|
626
|
-
5
|
|
627
|
-
].map((e) => /* @__PURE__ */ b("div", { className: t("h-2 w-4 rounded-sm", e <= 3 ? "bg-status-warning-text" : "bg-bg-sunken") }, e))
|
|
628
|
-
}), /* @__PURE__ */ b("span", {
|
|
629
|
-
className: "text-xs font-medium text-text-primary",
|
|
630
|
-
children: "3/5"
|
|
631
|
-
})]
|
|
632
|
-
})]
|
|
633
|
-
}),
|
|
634
|
-
/* @__PURE__ */ x("div", {
|
|
635
|
-
className: "flex items-center justify-between",
|
|
636
|
-
children: [/* @__PURE__ */ b("span", {
|
|
637
|
-
className: "text-xs text-text-secondary",
|
|
638
|
-
children: "Income Stability"
|
|
639
|
-
}), /* @__PURE__ */ x("div", {
|
|
640
|
-
className: "flex items-center gap-2",
|
|
641
|
-
children: [/* @__PURE__ */ b("div", {
|
|
642
|
-
className: "flex gap-0.5",
|
|
643
|
-
children: [
|
|
644
|
-
1,
|
|
645
|
-
2,
|
|
646
|
-
3,
|
|
647
|
-
4,
|
|
648
|
-
5
|
|
649
|
-
].map((e) => /* @__PURE__ */ b("div", { className: t("h-2 w-4 rounded-sm", e <= 4 ? "bg-status-success-text" : "bg-bg-sunken") }, e))
|
|
650
|
-
}), /* @__PURE__ */ b("span", {
|
|
651
|
-
className: "text-xs font-medium text-text-primary",
|
|
652
|
-
children: "4/5"
|
|
653
|
-
})]
|
|
654
|
-
})]
|
|
655
|
-
})
|
|
656
|
-
]
|
|
657
|
-
})]
|
|
658
|
-
})]
|
|
659
|
-
})] })]
|
|
660
|
-
}),
|
|
661
|
-
/* @__PURE__ */ x("div", {
|
|
173
|
+
/* @__PURE__ */ _("div", {
|
|
662
174
|
className: "mt-8 flex flex-wrap gap-3",
|
|
663
175
|
children: [
|
|
664
|
-
/* @__PURE__ */
|
|
176
|
+
/* @__PURE__ */ _("button", {
|
|
665
177
|
type: "button",
|
|
666
|
-
onClick: () =>
|
|
178
|
+
onClick: () => b("/investor/portfolio"),
|
|
667
179
|
className: "flex items-center gap-2 rounded-lg border border-border-subtle px-4 py-2 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
|
|
668
|
-
children: [/* @__PURE__ */
|
|
180
|
+
children: [/* @__PURE__ */ g(f, { className: "h-4 w-4" }), "View Portfolio"]
|
|
669
181
|
}),
|
|
670
|
-
/* @__PURE__ */
|
|
182
|
+
/* @__PURE__ */ _("button", {
|
|
671
183
|
type: "button",
|
|
672
|
-
onClick: () =>
|
|
184
|
+
onClick: () => b("/investor/opportunities"),
|
|
673
185
|
className: "flex items-center gap-2 rounded-lg border border-border-subtle px-4 py-2 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
|
|
674
|
-
children: [/* @__PURE__ */
|
|
186
|
+
children: [/* @__PURE__ */ g(p, { className: "h-4 w-4" }), "Browse Opportunities"]
|
|
675
187
|
}),
|
|
676
|
-
/* @__PURE__ */
|
|
188
|
+
/* @__PURE__ */ _("button", {
|
|
677
189
|
type: "button",
|
|
678
|
-
onClick: () =>
|
|
190
|
+
onClick: () => b("/investor/investments"),
|
|
679
191
|
className: "flex items-center gap-2 rounded-lg border border-border-subtle px-4 py-2 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
|
|
680
|
-
children: [/* @__PURE__ */
|
|
192
|
+
children: [/* @__PURE__ */ g(h, { className: "h-4 w-4" }), "My Investments"]
|
|
681
193
|
})
|
|
682
194
|
]
|
|
683
195
|
})
|
|
@@ -685,6 +197,6 @@ function k() {
|
|
|
685
197
|
});
|
|
686
198
|
}
|
|
687
199
|
//#endregion
|
|
688
|
-
export {
|
|
200
|
+
export { b as InvestorAnalyticsPage };
|
|
689
201
|
|
|
690
202
|
//# sourceMappingURL=InvestorAnalyticsPage.js.map
|