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