@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.
Files changed (76) hide show
  1. package/dist/kadaikodi/hooks/useKadaikodiApi.js +77 -26
  2. package/dist/kadaikodi/hooks/useKadaikodiApi.js.map +1 -1
  3. package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js +341 -461
  4. package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js.map +1 -1
  5. package/dist/kadaikodi/pages/admin/AdminDashboard.js +115 -399
  6. package/dist/kadaikodi/pages/admin/AdminDashboard.js.map +1 -1
  7. package/dist/kadaikodi/pages/admin/AdminFinancialPage.js +140 -283
  8. package/dist/kadaikodi/pages/admin/AdminFinancialPage.js.map +1 -1
  9. package/dist/kadaikodi/pages/admin/AdminOrdersPage.js +282 -453
  10. package/dist/kadaikodi/pages/admin/AdminOrdersPage.js.map +1 -1
  11. package/dist/kadaikodi/pages/admin/AdminProfilePage.js +115 -242
  12. package/dist/kadaikodi/pages/admin/AdminProfilePage.js.map +1 -1
  13. package/dist/kadaikodi/pages/admin/AdminSettingsPage.js +2 -2
  14. package/dist/kadaikodi/pages/admin/AdminSettingsPage.js.map +1 -1
  15. package/dist/kadaikodi/pages/admin/CartManagementPage.js.map +1 -1
  16. package/dist/kadaikodi/pages/admin/UserManagementPage.js.map +1 -1
  17. package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js +503 -627
  18. package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
  19. package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.js +339 -282
  20. package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
  21. package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js +323 -422
  22. package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
  23. package/dist/kadaikodi/pages/cart-owner/CartOwnerProfilePage.js +374 -383
  24. package/dist/kadaikodi/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
  25. package/dist/kadaikodi/pages/cart-owner/CartServiceConfigPage.js +249 -208
  26. package/dist/kadaikodi/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
  27. package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js +1 -1
  28. package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js.map +1 -1
  29. package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js +1 -1
  30. package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js.map +1 -1
  31. package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.js +171 -627
  32. package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.js.map +1 -1
  33. package/dist/kadaikodi/pages/common/HelpSupportPage.js +331 -415
  34. package/dist/kadaikodi/pages/common/HelpSupportPage.js.map +1 -1
  35. package/dist/kadaikodi/pages/common/NotificationCenterPage.js +18 -670
  36. package/dist/kadaikodi/pages/common/NotificationCenterPage.js.map +1 -1
  37. package/dist/kadaikodi/pages/common/SettingsPage.js.map +1 -1
  38. package/dist/kadaikodi/pages/customer/CheckoutPage.js +4 -2
  39. package/dist/kadaikodi/pages/customer/CheckoutPage.js.map +1 -1
  40. package/dist/kadaikodi/pages/customer/CustomerDashboard.js +191 -369
  41. package/dist/kadaikodi/pages/customer/CustomerDashboard.js.map +1 -1
  42. package/dist/kadaikodi/pages/customer/CustomerProfilePage.js +233 -389
  43. package/dist/kadaikodi/pages/customer/CustomerProfilePage.js.map +1 -1
  44. package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.js.map +1 -1
  45. package/dist/kadaikodi/pages/customer/OrderHistoryPage.js.map +1 -1
  46. package/dist/kadaikodi/pages/customer/OrderTrackingPage.js.map +1 -1
  47. package/dist/kadaikodi/pages/customer/PaymentMethodsPage.js +76 -118
  48. package/dist/kadaikodi/pages/customer/PaymentMethodsPage.js.map +1 -1
  49. package/dist/kadaikodi/pages/customer/ReviewsPage.js.map +1 -1
  50. package/dist/kadaikodi/pages/customer/SavedAddressesPage.js +135 -213
  51. package/dist/kadaikodi/pages/customer/SavedAddressesPage.js.map +1 -1
  52. package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js +272 -774
  53. package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js.map +1 -1
  54. package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js +232 -343
  55. package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
  56. package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.js +112 -600
  57. package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.js.map +1 -1
  58. package/dist/kadaikodi/pages/investor/InvestorDashboard.js +127 -294
  59. package/dist/kadaikodi/pages/investor/InvestorDashboard.js.map +1 -1
  60. package/dist/kadaikodi/pages/investor/InvestorInvestmentsPage.js +204 -290
  61. package/dist/kadaikodi/pages/investor/InvestorInvestmentsPage.js.map +1 -1
  62. package/dist/kadaikodi/pages/investor/InvestorPortfolioPage.js +159 -500
  63. package/dist/kadaikodi/pages/investor/InvestorPortfolioPage.js.map +1 -1
  64. package/dist/kadaikodi/pages/investor/InvestorProfilePage.js +399 -487
  65. package/dist/kadaikodi/pages/investor/InvestorProfilePage.js.map +1 -1
  66. package/dist/kadaikodi/pages/worker/TaskDetailsPage.js +13 -13
  67. package/dist/kadaikodi/pages/worker/TaskDetailsPage.js.map +1 -1
  68. package/dist/kadaikodi/pages/worker/WorkerDashboard.js +192 -296
  69. package/dist/kadaikodi/pages/worker/WorkerDashboard.js.map +1 -1
  70. package/dist/kadaikodi/pages/worker/WorkerOrdersPage.js +245 -397
  71. package/dist/kadaikodi/pages/worker/WorkerOrdersPage.js.map +1 -1
  72. package/dist/kadaikodi/pages/worker/WorkerProfilePage.js +85 -117
  73. package/dist/kadaikodi/pages/worker/WorkerProfilePage.js.map +1 -1
  74. package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js +177 -395
  75. package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js.map +1 -1
  76. package/package.json +1 -1
@@ -7,103 +7,50 @@ import { useInvestmentOpportunities as a, useInvestments as o } from "../../hook
7
7
  import { formatCurrency as s } from "../../utils/formatters.js";
8
8
  import { InvestmentCard as c } from "../../components/InvestmentCard.js";
9
9
  import { useMemo as l, useState as u } from "react";
10
- import { Activity as d, Award as f, BarChart3 as p, Eye as m, Filter as h, IndianRupee as g, Lightbulb as _, MapPin as v, PieChart as y, Plus as b, Target as x, Wallet as S } from "lucide-react";
11
- import { jsx as C, jsxs as w } from "react/jsx-runtime";
12
- import { EmphasisPanel as T, NextSteps as E, PagePurpose as D } from "@burdenoff/fe-libs/ui";
10
+ import { Award as d, BarChart3 as f, Eye as p, Filter as m, IndianRupee as h, PieChart as g, Plus as _, Target as v, Wallet as y } from "lucide-react";
11
+ import { jsx as b, jsxs as x } from "react/jsx-runtime";
12
+ import { EmphasisPanel as S, NextSteps as C, PagePurpose as w } from "@burdenoff/fe-libs/ui";
13
13
  //#region src/kadaikodi/pages/investor/InvestorDashboard.tsx
14
- var O = [
15
- {
16
- id: "1",
17
- type: "opportunity",
18
- title: "High-Potential Business Detected",
19
- description: "Glow Beauty Services in Koramangala shows 95% growth potential based on location analytics and market demand.",
20
- confidence: 94
21
- },
22
- {
23
- id: "2",
24
- type: "suggestion",
25
- title: "Portfolio Diversification Recommended",
26
- description: "Consider investing in Education & Skills to balance your services-heavy portfolio. Current allocation: 70% services, 30% retail.",
27
- confidence: 87
28
- },
29
- {
30
- id: "3",
31
- type: "trend",
32
- title: "Market Trend Alert",
33
- description: "Health & Wellness businesses in tech hubs are experiencing 40% higher returns. Whitefield shows promising opportunities.",
34
- confidence: 91
35
- }
36
- ], k = [
37
- {
38
- id: "act-1",
39
- type: "dividend",
40
- description: "Dividend received from Quick Cuts Salon",
41
- amount: 4200,
42
- date: "2024-01-14T10:00:00Z"
43
- },
44
- {
45
- id: "act-2",
46
- type: "investment",
47
- description: "Invested in Spotless Cleaning Services",
48
- amount: -4e4,
49
- date: "2024-01-10T09:30:00Z"
50
- },
51
- {
52
- id: "act-3",
53
- type: "return",
54
- description: "Returns from Fix-It Mobile Repair",
55
- amount: 6800,
56
- date: "2024-01-05T14:00:00Z"
57
- },
58
- {
59
- id: "act-4",
60
- type: "investment",
61
- description: "Invested in Fix-It Mobile Repair",
62
- amount: -75e3,
63
- date: "2023-12-20T11:00:00Z"
64
- }
65
- ];
66
- function A(e) {
14
+ function T(e) {
67
15
  switch (e) {
68
16
  case "active": return "bg-status-success-bg-subtle text-status-success-text";
69
- case "pending": return "bg-status-warning-bg-subtle text-status-warning-text";
70
17
  case "completed": return "bg-[var(--color-accent-soft)] text-text-primary";
18
+ case "exited": return "bg-bg-sunken text-text-secondary";
71
19
  default: return "bg-bg-sunken text-text-secondary";
72
20
  }
73
21
  }
74
- function j() {
75
- let { navigateTo: j, currentUser: M } = e(), [N, P] = u("portfolio"), { data: F = [], isLoading: I } = a(), { data: L = [], isLoading: R } = o(M?.id || ""), z = M?.firstName ?? M?.name ?? "Investor", B = F.filter((e) => e.status === "active"), V = l(() => {
76
- let e = L.reduce((e, t) => e + t.investedAmount, 0), t = L.reduce((e, t) => e + t.currentValue, 0), n = L.reduce((e, t) => e + t.returns, 0);
22
+ function E() {
23
+ let { navigateTo: E, currentUser: D } = e(), [O, k] = u("portfolio"), { data: A = [], isLoading: j } = a(), { data: M = [], isLoading: N } = o(D?.id || ""), P = D?.firstName ?? D?.name ?? "Investor", F = A.filter((e) => e.status === "active"), I = l(() => {
24
+ let e = M.reduce((e, t) => e + t.investedAmount, 0), t = M.reduce((e, t) => e + t.currentValue, 0);
77
25
  return {
78
26
  totalInvested: e,
79
27
  currentValue: t,
80
- totalReturns: n,
81
- monthlyIncome: n / 12,
82
- roi: e > 0 ? n / e * 100 : 0
28
+ totalReturns: M.reduce((e, t) => e + t.returns, 0),
29
+ roi: e > 0 ? (t - e) / e * 100 : 0
83
30
  };
84
- }, [L]);
85
- return I || R ? /* @__PURE__ */ C(n, {
31
+ }, [M]);
32
+ return j || N ? /* @__PURE__ */ b(n, {
86
33
  title: "Investment Dashboard",
87
34
  description: "Loading your portfolio...",
88
- children: /* @__PURE__ */ C("div", {
35
+ children: /* @__PURE__ */ b("div", {
89
36
  className: "flex items-center justify-center py-20",
90
- children: /* @__PURE__ */ w("div", {
37
+ children: /* @__PURE__ */ x("div", {
91
38
  className: "text-center",
92
- children: [/* @__PURE__ */ C("div", { className: "mx-auto mb-4 h-12 w-12 animate-spin rounded-full border-b-2 border-primary" }), /* @__PURE__ */ C("p", {
39
+ children: [/* @__PURE__ */ b("div", { className: "mx-auto mb-4 h-12 w-12 animate-spin rounded-full border-b-2 border-primary" }), /* @__PURE__ */ b("p", {
93
40
  className: "text-sm text-text-secondary",
94
41
  children: "Loading your portfolio..."
95
42
  })]
96
43
  })
97
44
  })
98
- }) : /* @__PURE__ */ w(n, {
99
- title: `Welcome back, ${z}!`,
45
+ }) : /* @__PURE__ */ x(n, {
46
+ title: `Welcome back, ${P}!`,
100
47
  description: "Here's your investment portfolio overview.",
101
48
  children: [
102
- /* @__PURE__ */ C(D, {
49
+ /* @__PURE__ */ b(w, {
103
50
  className: "mb-6",
104
51
  children: "Track how your money is working across the mobile carts you've backed — see what you've invested, what it's worth today, and the returns flowing in. Review your active investments below or browse new opportunities to diversify."
105
52
  }),
106
- /* @__PURE__ */ C(E, {
53
+ /* @__PURE__ */ b(C, {
107
54
  storageKey: "kadaikodi-investor-dashboard",
108
55
  className: "mb-6",
109
56
  steps: [
@@ -111,157 +58,142 @@ function j() {
111
58
  id: "opportunities",
112
59
  label: "Explore new opportunities",
113
60
  description: "Discover carts seeking funding and their projected returns.",
114
- onClick: () => j("/investor/opportunities")
61
+ onClick: () => E("/investor/opportunities")
115
62
  },
116
63
  {
117
64
  id: "portfolio",
118
65
  label: "Review your portfolio",
119
66
  description: "Dig into each active investment and its performance.",
120
- onClick: () => j("/investor/portfolio")
67
+ onClick: () => E("/investor/portfolio")
121
68
  },
122
69
  {
123
70
  id: "analytics",
124
71
  label: "Analyse your returns",
125
72
  description: "See trends and projections across your whole portfolio.",
126
- onClick: () => j("/investor/analytics")
73
+ onClick: () => E("/investor/analytics")
127
74
  }
128
75
  ]
129
76
  }),
130
- /* @__PURE__ */ w(T, { children: [/* @__PURE__ */ C("h2", {
77
+ /* @__PURE__ */ x(S, { children: [/* @__PURE__ */ b("h2", {
131
78
  className: "mb-4 text-lg font-semibold text-text-primary",
132
79
  children: "Portfolio Overview"
133
- }), /* @__PURE__ */ w("div", {
134
- className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4",
80
+ }), /* @__PURE__ */ x("div", {
81
+ className: "grid grid-cols-1 gap-4 sm:grid-cols-3",
135
82
  children: [
136
- /* @__PURE__ */ C(r, {
83
+ /* @__PURE__ */ b(r, {
137
84
  featured: !0,
138
- icon: /* @__PURE__ */ C(S, { className: "h-5 w-5" }),
139
- value: s(V.totalInvested, { minimumFractionDigits: 0 }),
85
+ icon: /* @__PURE__ */ b(y, { className: "h-5 w-5" }),
86
+ value: s(I.totalInvested, { minimumFractionDigits: 0 }),
140
87
  label: "Total Invested",
141
88
  trend: "up",
142
89
  trendValue: "Across all businesses"
143
90
  }),
144
- /* @__PURE__ */ C(r, {
145
- icon: /* @__PURE__ */ C(g, { className: "h-5 w-5" }),
146
- value: s(V.currentValue, { minimumFractionDigits: 0 }),
91
+ /* @__PURE__ */ b(r, {
92
+ icon: /* @__PURE__ */ b(h, { className: "h-5 w-5" }),
93
+ value: s(I.currentValue, { minimumFractionDigits: 0 }),
147
94
  label: "Current Value",
148
- trend: "up",
149
- trendValue: `+${V.roi.toFixed(1)}%`
150
- }),
151
- /* @__PURE__ */ C(r, {
152
- icon: /* @__PURE__ */ C(x, { className: "h-5 w-5" }),
153
- value: s(V.totalReturns, { minimumFractionDigits: 0 }),
154
- label: "Total Returns",
155
- trend: "up",
156
- trendValue: "+15.2% this month"
95
+ trend: I.roi >= 0 ? "up" : "down",
96
+ trendValue: `${I.roi >= 0 ? "+" : ""}${I.roi.toFixed(1)}%`
157
97
  }),
158
- /* @__PURE__ */ C(r, {
159
- icon: /* @__PURE__ */ C(d, { className: "h-5 w-5" }),
160
- value: s(V.monthlyIncome, { minimumFractionDigits: 0 }),
161
- label: "Monthly Income",
162
- trend: "up",
163
- trendValue: "+8.5% vs last month"
98
+ /* @__PURE__ */ b(r, {
99
+ icon: /* @__PURE__ */ b(v, { className: "h-5 w-5" }),
100
+ value: s(I.totalReturns, { minimumFractionDigits: 0 }),
101
+ label: "Total Returns"
164
102
  })
165
103
  ]
166
104
  })] }),
167
- /* @__PURE__ */ w("div", {
105
+ /* @__PURE__ */ x("div", {
168
106
  className: "mt-8 grid grid-cols-1 gap-6 lg:grid-cols-3",
169
- children: [/* @__PURE__ */ w("div", {
107
+ children: [/* @__PURE__ */ x("div", {
170
108
  className: "lg:col-span-2",
171
109
  children: [
172
- /* @__PURE__ */ w("div", {
110
+ /* @__PURE__ */ x("div", {
173
111
  className: "mb-6 flex rounded-lg bg-bg-sunken p-1",
174
- children: [/* @__PURE__ */ C("button", {
112
+ children: [/* @__PURE__ */ b("button", {
175
113
  type: "button",
176
- onClick: () => P("portfolio"),
177
- className: t("flex-1 rounded-md px-4 py-2 text-sm font-medium transition-colors", N === "portfolio" ? "bg-bg-surface text-text-primary shadow-sm" : "text-text-secondary hover:text-text-primary"),
114
+ onClick: () => k("portfolio"),
115
+ className: t("flex-1 rounded-md px-4 py-2 text-sm font-medium transition-colors", O === "portfolio" ? "bg-bg-surface text-text-primary shadow-sm" : "text-text-secondary hover:text-text-primary"),
178
116
  children: "My Investments"
179
- }), /* @__PURE__ */ C("button", {
117
+ }), /* @__PURE__ */ b("button", {
180
118
  type: "button",
181
- onClick: () => P("opportunities"),
182
- className: t("flex-1 rounded-md px-4 py-2 text-sm font-medium transition-colors", N === "opportunities" ? "bg-bg-surface text-text-primary shadow-sm" : "text-text-secondary hover:text-text-primary"),
119
+ onClick: () => k("opportunities"),
120
+ className: t("flex-1 rounded-md px-4 py-2 text-sm font-medium transition-colors", O === "opportunities" ? "bg-bg-surface text-text-primary shadow-sm" : "text-text-secondary hover:text-text-primary"),
183
121
  children: "New Opportunities"
184
122
  })]
185
123
  }),
186
- N === "portfolio" && /* @__PURE__ */ w("div", {
124
+ O === "portfolio" && /* @__PURE__ */ x("div", {
187
125
  className: "space-y-4",
188
- children: [/* @__PURE__ */ w("div", {
126
+ children: [/* @__PURE__ */ x("div", {
189
127
  className: "flex items-center justify-between",
190
- children: [/* @__PURE__ */ C("h3", {
128
+ children: [/* @__PURE__ */ b("h3", {
191
129
  className: "text-base font-semibold text-text-primary",
192
130
  children: "Active Investments"
193
- }), /* @__PURE__ */ w("button", {
131
+ }), /* @__PURE__ */ x("button", {
194
132
  type: "button",
195
- onClick: () => alert("Filter functionality coming soon!"),
133
+ onClick: () => E("/investor/investments"),
196
134
  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",
197
- children: [/* @__PURE__ */ C(h, { className: "h-4 w-4" }), "Filter"]
135
+ children: [/* @__PURE__ */ b(m, { className: "h-4 w-4" }), "View all"]
198
136
  })]
199
- }), L.length === 0 ? /* @__PURE__ */ C(i, {
137
+ }), M.length === 0 ? /* @__PURE__ */ b(i, {
200
138
  illustration: "empty-data",
201
139
  title: "No active investments yet",
202
140
  description: "Once you back a cart, your investments will appear here. Browse open opportunities to get started.",
203
- action: /* @__PURE__ */ C("button", {
141
+ action: /* @__PURE__ */ b("button", {
204
142
  type: "button",
205
- onClick: () => P("opportunities"),
143
+ onClick: () => k("opportunities"),
206
144
  className: "rounded-lg bg-foreground px-4 py-2 text-sm font-medium text-background hover:opacity-90 transition-opacity",
207
145
  children: "Browse opportunities"
208
146
  })
209
- }) : L.map((e) => /* @__PURE__ */ w("div", {
147
+ }) : M.map((e) => /* @__PURE__ */ x("div", {
210
148
  className: "rounded-lg border border-border-subtle bg-bg-surface p-4 shadow-sm hover:shadow-md transition-shadow",
211
- children: [/* @__PURE__ */ w("div", {
149
+ children: [/* @__PURE__ */ x("div", {
212
150
  className: "flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",
213
- children: [/* @__PURE__ */ w("div", {
151
+ children: [/* @__PURE__ */ b("div", {
214
152
  className: "flex-1",
215
- children: [/* @__PURE__ */ w("div", {
153
+ children: /* @__PURE__ */ x("div", {
216
154
  className: "mb-2 flex flex-wrap items-center gap-2",
217
- children: [/* @__PURE__ */ C("h4", {
155
+ children: [/* @__PURE__ */ b("h4", {
218
156
  className: "text-base font-semibold text-text-primary",
219
157
  children: e.cartName
220
- }), /* @__PURE__ */ C("span", {
221
- className: t("rounded-full px-2 py-0.5 text-xs font-medium", A(e.status)),
158
+ }), /* @__PURE__ */ b("span", {
159
+ className: t("rounded-full px-2 py-0.5 text-xs font-medium", T(e.status)),
222
160
  children: e.status
223
161
  })]
224
- }), /* @__PURE__ */ w("div", {
225
- className: "mb-3 flex flex-wrap items-center gap-3 text-xs text-text-secondary",
226
- children: [/* @__PURE__ */ w("span", {
227
- className: "flex items-center gap-1",
228
- children: [/* @__PURE__ */ C(v, { className: "h-3.5 w-3.5" }), "India"]
229
- }), /* @__PURE__ */ C("span", { children: "Services" })]
230
- })]
231
- }), /* @__PURE__ */ w("button", {
162
+ })
163
+ }), /* @__PURE__ */ x("button", {
232
164
  type: "button",
233
- onClick: () => j(`/investor/investments/${e.id}`),
165
+ onClick: () => E(`/investor/investments/${e.id}`),
234
166
  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",
235
- children: [/* @__PURE__ */ C(m, { className: "h-4 w-4" }), "View Details"]
167
+ children: [/* @__PURE__ */ b(p, { className: "h-4 w-4" }), "View Details"]
236
168
  })]
237
- }), /* @__PURE__ */ w("div", {
238
- className: "grid grid-cols-2 gap-3 sm:grid-cols-4",
169
+ }), /* @__PURE__ */ x("div", {
170
+ className: "mt-3 grid grid-cols-2 gap-3 sm:grid-cols-4",
239
171
  children: [
240
- /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
172
+ /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
241
173
  className: "text-xs text-text-secondary",
242
174
  children: "Invested"
243
- }), /* @__PURE__ */ C("p", {
175
+ }), /* @__PURE__ */ b("p", {
244
176
  className: "text-sm font-semibold text-text-primary",
245
177
  children: s(e.investedAmount, { minimumFractionDigits: 0 })
246
178
  })] }),
247
- /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
179
+ /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
248
180
  className: "text-xs text-text-secondary",
249
181
  children: "Current Value"
250
- }), /* @__PURE__ */ C("p", {
182
+ }), /* @__PURE__ */ b("p", {
251
183
  className: "text-sm font-semibold text-status-success-text",
252
184
  children: s(e.currentValue, { minimumFractionDigits: 0 })
253
185
  })] }),
254
- /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
186
+ /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
255
187
  className: "text-xs text-text-secondary",
256
188
  children: "Returns"
257
- }), /* @__PURE__ */ C("p", {
189
+ }), /* @__PURE__ */ b("p", {
258
190
  className: "text-sm font-semibold text-text-primary",
259
191
  children: s(e.returns, { minimumFractionDigits: 0 })
260
192
  })] }),
261
- /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
193
+ /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
262
194
  className: "text-xs text-text-secondary",
263
- children: "Growth"
264
- }), /* @__PURE__ */ w("p", {
195
+ children: "Expected Return"
196
+ }), /* @__PURE__ */ x("p", {
265
197
  className: "text-sm font-semibold text-status-success-text",
266
198
  children: [e.returnsPercentage, "%"]
267
199
  })] })
@@ -269,22 +201,26 @@ function j() {
269
201
  })]
270
202
  }, e.id))]
271
203
  }),
272
- N === "opportunities" && /* @__PURE__ */ w("div", {
204
+ O === "opportunities" && /* @__PURE__ */ x("div", {
273
205
  className: "space-y-4",
274
- children: [/* @__PURE__ */ w("div", {
206
+ children: [/* @__PURE__ */ x("div", {
275
207
  className: "flex items-center justify-between",
276
- children: [/* @__PURE__ */ C("h3", {
208
+ children: [/* @__PURE__ */ b("h3", {
277
209
  className: "text-base font-semibold text-text-primary",
278
210
  children: "Investment Opportunities"
279
- }), /* @__PURE__ */ w("button", {
211
+ }), /* @__PURE__ */ x("button", {
280
212
  type: "button",
281
- onClick: () => j("/investor/opportunities"),
213
+ onClick: () => E("/investor/opportunities"),
282
214
  className: "flex items-center gap-2 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",
283
- children: [/* @__PURE__ */ C(b, { className: "h-4 w-4" }), "Browse All"]
215
+ children: [/* @__PURE__ */ b(_, { className: "h-4 w-4" }), "Browse All"]
284
216
  })]
285
- }), /* @__PURE__ */ C("div", {
217
+ }), F.length === 0 ? /* @__PURE__ */ b(i, {
218
+ illustration: "empty-data",
219
+ title: "No open opportunities right now",
220
+ description: "New carts seeking funding will show up here. Check back soon."
221
+ }) : /* @__PURE__ */ b("div", {
286
222
  className: "grid grid-cols-1 gap-4 sm:grid-cols-2",
287
- children: B.slice(0, 2).map((e) => /* @__PURE__ */ C(c, {
223
+ children: F.slice(0, 4).map((e) => /* @__PURE__ */ b(c, {
288
224
  id: e.id,
289
225
  cartName: e.cartName,
290
226
  targetAmount: e.targetAmount,
@@ -292,157 +228,54 @@ function j() {
292
228
  expectedReturns: `${e.expectedReturns}%`,
293
229
  riskLevel: e.riskLevel,
294
230
  status: e.status,
295
- onClick: (e) => j(`/investor/opportunities/${e}`)
296
- }, e.id))
297
- })]
298
- }),
299
- /* @__PURE__ */ w("section", {
300
- className: "mt-8",
301
- children: [/* @__PURE__ */ C("h2", {
302
- className: "mb-4 text-lg font-semibold text-text-primary",
303
- children: "Recent Activity"
304
- }), /* @__PURE__ */ C("div", {
305
- className: "divide-y divide-border rounded-lg border border-border-subtle bg-bg-surface",
306
- children: k.map((e) => /* @__PURE__ */ w("div", {
307
- className: "flex items-center justify-between px-4 py-3",
308
- children: [/* @__PURE__ */ w("div", {
309
- className: "flex items-center gap-3",
310
- children: [/* @__PURE__ */ C("div", {
311
- className: t("flex h-8 w-8 items-center justify-center rounded-full", e.amount > 0 ? "bg-status-success-bg-subtle" : "bg-bg-sunken"),
312
- children: /* @__PURE__ */ C(d, { className: t("h-4 w-4", e.amount > 0 ? "text-status-success-text" : "text-text-secondary") })
313
- }), /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C("p", {
314
- className: "text-sm font-medium text-text-primary",
315
- children: e.description
316
- }), /* @__PURE__ */ C("p", {
317
- className: "text-xs text-text-secondary",
318
- children: new Date(e.date).toLocaleDateString("en-IN", {
319
- day: "numeric",
320
- month: "short",
321
- year: "numeric"
322
- })
323
- })] })]
324
- }), /* @__PURE__ */ w("span", {
325
- className: t("text-sm font-semibold", e.amount > 0 ? "text-status-success-text" : "text-text-primary"),
326
- children: [e.amount > 0 ? "+" : "", s(Math.abs(e.amount), { minimumFractionDigits: 0 })]
327
- })]
231
+ onClick: (e) => E(`/investor/opportunity/${e}`)
328
232
  }, e.id))
329
233
  })]
330
234
  })
331
235
  ]
332
- }), /* @__PURE__ */ w("div", {
236
+ }), /* @__PURE__ */ b("div", {
333
237
  className: "space-y-6",
334
- children: [
335
- /* @__PURE__ */ w("div", {
336
- className: "rounded-lg border border-border-subtle bg-bg-surface p-4",
337
- children: [/* @__PURE__ */ w("div", {
338
- className: "mb-3 flex items-center gap-2",
339
- children: [/* @__PURE__ */ C(_, { className: "h-5 w-5 text-status-warning-text" }), /* @__PURE__ */ C("h3", {
340
- className: "text-base font-semibold text-text-primary",
341
- children: "AI Insights"
342
- })]
343
- }), /* @__PURE__ */ C("div", {
344
- className: "space-y-3",
345
- children: O.map((e) => /* @__PURE__ */ w("div", {
346
- className: "rounded-lg border border-border-subtle bg-bg-sunken/50 p-3",
347
- children: [/* @__PURE__ */ w("div", {
348
- className: "mb-1 flex items-center justify-between",
349
- children: [/* @__PURE__ */ C("h4", {
350
- className: "text-xs font-semibold text-text-primary",
351
- children: e.title
352
- }), /* @__PURE__ */ w("span", {
353
- className: "rounded-full bg-action-primary-bg/10 px-2 py-0.5 text-xs font-medium text-primary",
354
- children: [e.confidence, "%"]
355
- })]
356
- }), /* @__PURE__ */ C("p", {
357
- className: "text-xs leading-relaxed text-text-secondary",
358
- children: e.description
359
- })]
360
- }, e.id))
361
- })]
362
- }),
363
- /* @__PURE__ */ w("div", {
364
- className: "rounded-lg border border-border-subtle bg-bg-surface p-4",
365
- children: [/* @__PURE__ */ C("h3", {
366
- className: "mb-3 text-base font-semibold text-text-primary",
367
- children: "Quick Actions"
368
- }), /* @__PURE__ */ w("div", {
369
- className: "space-y-2",
370
- children: [
371
- /* @__PURE__ */ w("button", {
372
- type: "button",
373
- onClick: () => j("/investor/portfolio"),
374
- className: "flex w-full items-center gap-2 rounded-lg border border-border-subtle px-3 py-2.5 text-left text-sm font-medium text-text-primary hover:bg-accent transition-colors",
375
- children: [/* @__PURE__ */ C(y, { className: "h-4 w-4 text-text-secondary" }), "View Full Portfolio"]
376
- }),
377
- /* @__PURE__ */ w("button", {
378
- type: "button",
379
- onClick: () => j("/investor/opportunities"),
380
- className: "flex w-full items-center gap-2 rounded-lg border border-border-subtle px-3 py-2.5 text-left text-sm font-medium text-text-primary hover:bg-accent transition-colors",
381
- children: [/* @__PURE__ */ C(x, { className: "h-4 w-4 text-text-secondary" }), "Browse Opportunities"]
382
- }),
383
- /* @__PURE__ */ w("button", {
384
- type: "button",
385
- onClick: () => j("/investor/analytics"),
386
- className: "flex w-full items-center gap-2 rounded-lg border border-border-subtle px-3 py-2.5 text-left text-sm font-medium text-text-primary hover:bg-accent transition-colors",
387
- children: [/* @__PURE__ */ C(p, { className: "h-4 w-4 text-text-secondary" }), "Investment Analytics"]
388
- }),
389
- /* @__PURE__ */ w("button", {
390
- type: "button",
391
- onClick: () => j("/investor/profile"),
392
- className: "flex w-full items-center gap-2 rounded-lg border border-border-subtle px-3 py-2.5 text-left text-sm font-medium text-text-primary hover:bg-accent transition-colors",
393
- children: [/* @__PURE__ */ C(f, { className: "h-4 w-4 text-text-secondary" }), "View Profile"]
394
- })
395
- ]
396
- })]
397
- }),
398
- /* @__PURE__ */ w("div", {
399
- className: "rounded-lg border border-border-subtle bg-bg-surface p-4",
400
- children: [/* @__PURE__ */ C("h3", {
401
- className: "mb-3 text-base font-semibold text-text-primary",
402
- children: "Market Updates"
403
- }), /* @__PURE__ */ w("div", {
404
- className: "space-y-3",
405
- children: [
406
- /* @__PURE__ */ w("div", {
407
- className: "border-l-4 border-status-success-text pl-3",
408
- children: [/* @__PURE__ */ C("h4", {
409
- className: "text-xs font-semibold text-text-primary",
410
- children: "Mobile Services Market Growing"
411
- }), /* @__PURE__ */ C("p", {
412
- className: "mt-1 text-xs leading-relaxed text-text-secondary",
413
- children: "Mobile service industry shows 35% growth in Q4 2024"
414
- })]
415
- }),
416
- /* @__PURE__ */ w("div", {
417
- className: "border-l-4 border-border-focus pl-3",
418
- children: [/* @__PURE__ */ C("h4", {
419
- className: "text-xs font-semibold text-text-primary",
420
- children: "New Investment Tax Benefits"
421
- }), /* @__PURE__ */ C("p", {
422
- className: "mt-1 text-xs leading-relaxed text-text-secondary",
423
- children: "Government announces SME investment incentives"
424
- })]
425
- }),
426
- /* @__PURE__ */ w("div", {
427
- className: "border-l-4 border-status-warning-text pl-3",
428
- children: [/* @__PURE__ */ C("h4", {
429
- className: "text-xs font-semibold text-text-primary",
430
- children: "Home Services Demand Surge"
431
- }), /* @__PURE__ */ C("p", {
432
- className: "mt-1 text-xs leading-relaxed text-text-secondary",
433
- children: "Cleaning and maintenance businesses up 25% this quarter"
434
- })]
435
- })
436
- ]
437
- })]
438
- })
439
- ]
238
+ children: /* @__PURE__ */ x("div", {
239
+ className: "rounded-lg border border-border-subtle bg-bg-surface p-4",
240
+ children: [/* @__PURE__ */ b("h3", {
241
+ className: "mb-3 text-base font-semibold text-text-primary",
242
+ children: "Quick Actions"
243
+ }), /* @__PURE__ */ x("div", {
244
+ className: "space-y-2",
245
+ children: [
246
+ /* @__PURE__ */ x("button", {
247
+ type: "button",
248
+ onClick: () => E("/investor/portfolio"),
249
+ className: "flex w-full items-center gap-2 rounded-lg border border-border-subtle px-3 py-2.5 text-left text-sm font-medium text-text-primary hover:bg-accent transition-colors",
250
+ children: [/* @__PURE__ */ b(g, { className: "h-4 w-4 text-text-secondary" }), "View Full Portfolio"]
251
+ }),
252
+ /* @__PURE__ */ x("button", {
253
+ type: "button",
254
+ onClick: () => E("/investor/opportunities"),
255
+ className: "flex w-full items-center gap-2 rounded-lg border border-border-subtle px-3 py-2.5 text-left text-sm font-medium text-text-primary hover:bg-accent transition-colors",
256
+ children: [/* @__PURE__ */ b(v, { className: "h-4 w-4 text-text-secondary" }), "Browse Opportunities"]
257
+ }),
258
+ /* @__PURE__ */ x("button", {
259
+ type: "button",
260
+ onClick: () => E("/investor/analytics"),
261
+ className: "flex w-full items-center gap-2 rounded-lg border border-border-subtle px-3 py-2.5 text-left text-sm font-medium text-text-primary hover:bg-accent transition-colors",
262
+ children: [/* @__PURE__ */ b(f, { className: "h-4 w-4 text-text-secondary" }), "Investment Analytics"]
263
+ }),
264
+ /* @__PURE__ */ x("button", {
265
+ type: "button",
266
+ onClick: () => E("/investor/profile"),
267
+ className: "flex w-full items-center gap-2 rounded-lg border border-border-subtle px-3 py-2.5 text-left text-sm font-medium text-text-primary hover:bg-accent transition-colors",
268
+ children: [/* @__PURE__ */ b(d, { className: "h-4 w-4 text-text-secondary" }), "View Profile"]
269
+ })
270
+ ]
271
+ })]
272
+ })
440
273
  })]
441
274
  })
442
275
  ]
443
276
  });
444
277
  }
445
278
  //#endregion
446
- export { j as InvestorDashboard };
279
+ export { E as InvestorDashboard };
447
280
 
448
281
  //# sourceMappingURL=InvestorDashboard.js.map