@burdenoff/microfe-atheletebridge 2026.625.2 → 2026.628.1

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 (162) hide show
  1. package/dist/atheletebridge/AthleteBridgeRoot.js +49 -129
  2. package/dist/atheletebridge/AthleteBridgeRoot.js.map +1 -1
  3. package/dist/atheletebridge/AthleteBridgeRoutes.js +65 -184
  4. package/dist/atheletebridge/AthleteBridgeRoutes.js.map +1 -1
  5. package/dist/atheletebridge/components/CursorPager.js +34 -0
  6. package/dist/atheletebridge/components/CursorPager.js.map +1 -0
  7. package/dist/atheletebridge/components/FilterSelect.js +22 -0
  8. package/dist/atheletebridge/components/FilterSelect.js.map +1 -0
  9. package/dist/atheletebridge/components/FixtureCard.js +76 -0
  10. package/dist/atheletebridge/components/FixtureCard.js.map +1 -0
  11. package/dist/atheletebridge/components/LoadingState.js +36 -0
  12. package/dist/atheletebridge/components/LoadingState.js.map +1 -0
  13. package/dist/atheletebridge/components/ProgramCard.js +69 -0
  14. package/dist/atheletebridge/components/ProgramCard.js.map +1 -0
  15. package/dist/atheletebridge/components/SessionCard.js +76 -0
  16. package/dist/atheletebridge/components/SessionCard.js.map +1 -0
  17. package/dist/atheletebridge/components/StatusBadge.js +44 -35
  18. package/dist/atheletebridge/components/StatusBadge.js.map +1 -1
  19. package/dist/atheletebridge/components/TeamCard.js +81 -0
  20. package/dist/atheletebridge/components/TeamCard.js.map +1 -0
  21. package/dist/atheletebridge/components/domain.js +47 -0
  22. package/dist/atheletebridge/components/domain.js.map +1 -0
  23. package/dist/atheletebridge/components/form.js +29 -0
  24. package/dist/atheletebridge/components/form.js.map +1 -0
  25. package/dist/atheletebridge/context/AthleteBridgeContext.js +6 -6
  26. package/dist/atheletebridge/context/AthleteBridgeContext.js.map +1 -1
  27. package/dist/atheletebridge/hooks/useAthleteBridgeApi.js +342 -165
  28. package/dist/atheletebridge/hooks/useAthleteBridgeApi.js.map +1 -1
  29. package/dist/atheletebridge/index.js +1 -1
  30. package/dist/atheletebridge/pages/DashboardPage.js +169 -0
  31. package/dist/atheletebridge/pages/DashboardPage.js.map +1 -0
  32. package/dist/atheletebridge/pages/StandingsPage.js +166 -0
  33. package/dist/atheletebridge/pages/StandingsPage.js.map +1 -0
  34. package/dist/atheletebridge/pages/fixtures/FixtureDetailPage.js +201 -0
  35. package/dist/atheletebridge/pages/fixtures/FixtureDetailPage.js.map +1 -0
  36. package/dist/atheletebridge/pages/fixtures/FixtureFormPage.js +205 -0
  37. package/dist/atheletebridge/pages/fixtures/FixtureFormPage.js.map +1 -0
  38. package/dist/atheletebridge/pages/fixtures/FixturesListPage.js +92 -0
  39. package/dist/atheletebridge/pages/fixtures/FixturesListPage.js.map +1 -0
  40. package/dist/atheletebridge/pages/programs/ProgramDetailPage.js +374 -0
  41. package/dist/atheletebridge/pages/programs/ProgramDetailPage.js.map +1 -0
  42. package/dist/atheletebridge/pages/programs/ProgramFormPage.js +207 -0
  43. package/dist/atheletebridge/pages/programs/ProgramFormPage.js.map +1 -0
  44. package/dist/atheletebridge/pages/programs/ProgramsListPage.js +113 -0
  45. package/dist/atheletebridge/pages/programs/ProgramsListPage.js.map +1 -0
  46. package/dist/atheletebridge/pages/sessions/SessionDetailPage.js +224 -0
  47. package/dist/atheletebridge/pages/sessions/SessionDetailPage.js.map +1 -0
  48. package/dist/atheletebridge/pages/sessions/SessionFormPage.js +206 -0
  49. package/dist/atheletebridge/pages/sessions/SessionFormPage.js.map +1 -0
  50. package/dist/atheletebridge/pages/sessions/SessionsListPage.js +92 -0
  51. package/dist/atheletebridge/pages/sessions/SessionsListPage.js.map +1 -0
  52. package/dist/atheletebridge/pages/teams/TeamDetailPage.js +350 -0
  53. package/dist/atheletebridge/pages/teams/TeamDetailPage.js.map +1 -0
  54. package/dist/atheletebridge/pages/teams/TeamFormPage.js +222 -0
  55. package/dist/atheletebridge/pages/teams/TeamFormPage.js.map +1 -0
  56. package/dist/atheletebridge/pages/teams/TeamsListPage.js +101 -0
  57. package/dist/atheletebridge/pages/teams/TeamsListPage.js.map +1 -0
  58. package/dist/atheletebridge/store/atheletebridgeStore.js +2 -13
  59. package/dist/atheletebridge/store/atheletebridgeStore.js.map +1 -1
  60. package/dist/atheletebridge/utils/datetime.js +10 -0
  61. package/dist/atheletebridge/utils/datetime.js.map +1 -0
  62. package/dist/atheletebridge/utils/formatters.js +1 -4
  63. package/dist/atheletebridge/utils/formatters.js.map +1 -1
  64. package/package.json +1 -1
  65. package/dist/atheletebridge/components/InvestmentCard.js +0 -96
  66. package/dist/atheletebridge/components/InvestmentCard.js.map +0 -1
  67. package/dist/atheletebridge/components/RatingDisplay.js +0 -35
  68. package/dist/atheletebridge/components/RatingDisplay.js.map +0 -1
  69. package/dist/atheletebridge/mocks/data.js +0 -1517
  70. package/dist/atheletebridge/mocks/data.js.map +0 -1
  71. package/dist/atheletebridge/mocks/users.js +0 -34
  72. package/dist/atheletebridge/mocks/users.js.map +0 -1
  73. package/dist/atheletebridge/pages/HomePage.js +0 -936
  74. package/dist/atheletebridge/pages/HomePage.js.map +0 -1
  75. package/dist/atheletebridge/pages/admin/AdminAnalyticsPage.js +0 -653
  76. package/dist/atheletebridge/pages/admin/AdminAnalyticsPage.js.map +0 -1
  77. package/dist/atheletebridge/pages/admin/AdminDashboard.js +0 -671
  78. package/dist/atheletebridge/pages/admin/AdminDashboard.js.map +0 -1
  79. package/dist/atheletebridge/pages/admin/AdminFinancialPage.js +0 -429
  80. package/dist/atheletebridge/pages/admin/AdminFinancialPage.js.map +0 -1
  81. package/dist/atheletebridge/pages/admin/AdminOrdersPage.js +0 -667
  82. package/dist/atheletebridge/pages/admin/AdminOrdersPage.js.map +0 -1
  83. package/dist/atheletebridge/pages/admin/AdminProfilePage.js +0 -261
  84. package/dist/atheletebridge/pages/admin/AdminProfilePage.js.map +0 -1
  85. package/dist/atheletebridge/pages/admin/AdminSettingsPage.js +0 -653
  86. package/dist/atheletebridge/pages/admin/AdminSettingsPage.js.map +0 -1
  87. package/dist/atheletebridge/pages/admin/CartManagementPage.js +0 -876
  88. package/dist/atheletebridge/pages/admin/CartManagementPage.js.map +0 -1
  89. package/dist/atheletebridge/pages/admin/UserManagementPage.js +0 -900
  90. package/dist/atheletebridge/pages/admin/UserManagementPage.js.map +0 -1
  91. package/dist/atheletebridge/pages/cart-owner/AnalyticsDashboard.js +0 -839
  92. package/dist/atheletebridge/pages/cart-owner/AnalyticsDashboard.js.map +0 -1
  93. package/dist/atheletebridge/pages/cart-owner/BusinessSettingsPage.js +0 -704
  94. package/dist/atheletebridge/pages/cart-owner/BusinessSettingsPage.js.map +0 -1
  95. package/dist/atheletebridge/pages/cart-owner/CartOwnerDashboard.js +0 -792
  96. package/dist/atheletebridge/pages/cart-owner/CartOwnerDashboard.js.map +0 -1
  97. package/dist/atheletebridge/pages/cart-owner/CartOwnerProfilePage.js +0 -891
  98. package/dist/atheletebridge/pages/cart-owner/CartOwnerProfilePage.js.map +0 -1
  99. package/dist/atheletebridge/pages/cart-owner/CartServiceConfigPage.js +0 -633
  100. package/dist/atheletebridge/pages/cart-owner/CartServiceConfigPage.js.map +0 -1
  101. package/dist/atheletebridge/pages/cart-owner/InventoryManagementPage.js +0 -913
  102. package/dist/atheletebridge/pages/cart-owner/InventoryManagementPage.js.map +0 -1
  103. package/dist/atheletebridge/pages/cart-owner/OrderManagementPage.js +0 -881
  104. package/dist/atheletebridge/pages/cart-owner/OrderManagementPage.js.map +0 -1
  105. package/dist/atheletebridge/pages/cart-owner/StaffManagementPage.js +0 -841
  106. package/dist/atheletebridge/pages/cart-owner/StaffManagementPage.js.map +0 -1
  107. package/dist/atheletebridge/pages/common/HelpSupportPage.js +0 -1319
  108. package/dist/atheletebridge/pages/common/HelpSupportPage.js.map +0 -1
  109. package/dist/atheletebridge/pages/common/NotificationCenterPage.js +0 -674
  110. package/dist/atheletebridge/pages/common/NotificationCenterPage.js.map +0 -1
  111. package/dist/atheletebridge/pages/common/SettingsPage.js +0 -972
  112. package/dist/atheletebridge/pages/common/SettingsPage.js.map +0 -1
  113. package/dist/atheletebridge/pages/customer/BookingDetailsPage.js +0 -602
  114. package/dist/atheletebridge/pages/customer/BookingDetailsPage.js.map +0 -1
  115. package/dist/atheletebridge/pages/customer/CartDetailPage.js +0 -656
  116. package/dist/atheletebridge/pages/customer/CartDetailPage.js.map +0 -1
  117. package/dist/atheletebridge/pages/customer/CartDiscoveryPage.js +0 -558
  118. package/dist/atheletebridge/pages/customer/CartDiscoveryPage.js.map +0 -1
  119. package/dist/atheletebridge/pages/customer/CheckoutPage.js +0 -536
  120. package/dist/atheletebridge/pages/customer/CheckoutPage.js.map +0 -1
  121. package/dist/atheletebridge/pages/customer/CustomerDashboard.js +0 -539
  122. package/dist/atheletebridge/pages/customer/CustomerDashboard.js.map +0 -1
  123. package/dist/atheletebridge/pages/customer/CustomerProfilePage.js +0 -657
  124. package/dist/atheletebridge/pages/customer/CustomerProfilePage.js.map +0 -1
  125. package/dist/atheletebridge/pages/customer/DirectServiceBookingPage.js +0 -635
  126. package/dist/atheletebridge/pages/customer/DirectServiceBookingPage.js.map +0 -1
  127. package/dist/atheletebridge/pages/customer/FavoritesPage.js +0 -486
  128. package/dist/atheletebridge/pages/customer/FavoritesPage.js.map +0 -1
  129. package/dist/atheletebridge/pages/customer/OrderHistoryPage.js +0 -447
  130. package/dist/atheletebridge/pages/customer/OrderHistoryPage.js.map +0 -1
  131. package/dist/atheletebridge/pages/customer/OrderTrackingPage.js +0 -393
  132. package/dist/atheletebridge/pages/customer/OrderTrackingPage.js.map +0 -1
  133. package/dist/atheletebridge/pages/customer/PaymentMethodsPage.js +0 -494
  134. package/dist/atheletebridge/pages/customer/PaymentMethodsPage.js.map +0 -1
  135. package/dist/atheletebridge/pages/customer/ReviewsPage.js +0 -615
  136. package/dist/atheletebridge/pages/customer/ReviewsPage.js.map +0 -1
  137. package/dist/atheletebridge/pages/customer/SavedAddressesPage.js +0 -451
  138. package/dist/atheletebridge/pages/customer/SavedAddressesPage.js.map +0 -1
  139. package/dist/atheletebridge/pages/investor/InvestmentDetailsPage.js +0 -881
  140. package/dist/atheletebridge/pages/investor/InvestmentDetailsPage.js.map +0 -1
  141. package/dist/atheletebridge/pages/investor/InvestmentOpportunitiesPage.js +0 -945
  142. package/dist/atheletebridge/pages/investor/InvestmentOpportunitiesPage.js.map +0 -1
  143. package/dist/atheletebridge/pages/investor/InvestorAnalyticsPage.js +0 -686
  144. package/dist/atheletebridge/pages/investor/InvestorAnalyticsPage.js.map +0 -1
  145. package/dist/atheletebridge/pages/investor/InvestorDashboard.js +0 -453
  146. package/dist/atheletebridge/pages/investor/InvestorDashboard.js.map +0 -1
  147. package/dist/atheletebridge/pages/investor/InvestorInvestmentsPage.js +0 -405
  148. package/dist/atheletebridge/pages/investor/InvestorInvestmentsPage.js.map +0 -1
  149. package/dist/atheletebridge/pages/investor/InvestorPortfolioPage.js +0 -577
  150. package/dist/atheletebridge/pages/investor/InvestorPortfolioPage.js.map +0 -1
  151. package/dist/atheletebridge/pages/investor/InvestorProfilePage.js +0 -1069
  152. package/dist/atheletebridge/pages/investor/InvestorProfilePage.js.map +0 -1
  153. package/dist/atheletebridge/pages/worker/TaskDetailsPage.js +0 -530
  154. package/dist/atheletebridge/pages/worker/TaskDetailsPage.js.map +0 -1
  155. package/dist/atheletebridge/pages/worker/WorkerDashboard.js +0 -669
  156. package/dist/atheletebridge/pages/worker/WorkerDashboard.js.map +0 -1
  157. package/dist/atheletebridge/pages/worker/WorkerOrdersPage.js +0 -681
  158. package/dist/atheletebridge/pages/worker/WorkerOrdersPage.js.map +0 -1
  159. package/dist/atheletebridge/pages/worker/WorkerProfilePage.js +0 -691
  160. package/dist/atheletebridge/pages/worker/WorkerProfilePage.js.map +0 -1
  161. package/dist/atheletebridge/pages/worker/WorkerSchedulePage.js +0 -588
  162. package/dist/atheletebridge/pages/worker/WorkerSchedulePage.js.map +0 -1
@@ -1,1069 +0,0 @@
1
- import { useAthleteBridge as e } from "../../context/AthleteBridgeContext.js";
2
- import { cn as t } from "../../utils/cn.js";
3
- import { PageLayout as n } from "../../components/PageLayout.js";
4
- import { useInvestments as r } from "../../hooks/useAthleteBridgeApi.js";
5
- import { formatCurrency as i, formatDate as ee } from "../../utils/formatters.js";
6
- import { mockActiveInvestments as te } from "../../mocks/data.js";
7
- import { useCallback as a, useMemo as o, useState as s } from "react";
8
- import { Bell as c, Briefcase as ne, Building2 as re, Camera as ie, CheckCircle2 as l, DollarSign as u, Edit3 as d, Eye as f, EyeOff as p, FileText as m, Globe as h, Linkedin as ae, Lock as oe, Mail as se, MapPin as ce, Monitor as g, Phone as _, PieChart as v, Save as y, Shield as b, Smartphone as x, TrendingUp as S, User as C, X as w } from "lucide-react";
9
- import { Fragment as T, jsx as E, jsxs as D } from "react/jsx-runtime";
10
- import { EmphasisPanel as le, PagePurpose as ue } from "@burdenoff/fe-libs/ui";
11
- //#region src/atheletebridge/pages/investor/InvestorProfilePage.tsx
12
- var O = [
13
- {
14
- id: "personal",
15
- label: "Personal Info",
16
- Icon: C
17
- },
18
- {
19
- id: "investment",
20
- label: "Investment Profile",
21
- Icon: S
22
- },
23
- {
24
- id: "portfolio",
25
- label: "Portfolio",
26
- Icon: v
27
- },
28
- {
29
- id: "documents",
30
- label: "Documents",
31
- Icon: m
32
- },
33
- {
34
- id: "security",
35
- label: "Security",
36
- Icon: b
37
- },
38
- {
39
- id: "notifications",
40
- label: "Notifications",
41
- Icon: c
42
- }
43
- ], de = [
44
- {
45
- name: "PAN Card",
46
- verifiedOn: "15 Dec 2023",
47
- status: "verified"
48
- },
49
- {
50
- name: "Aadhar Card",
51
- verifiedOn: "15 Dec 2023",
52
- status: "verified"
53
- },
54
- {
55
- name: "Bank Statement",
56
- verifiedOn: "20 Dec 2023",
57
- status: "uploaded"
58
- },
59
- {
60
- name: "Investment Agreement",
61
- verifiedOn: "",
62
- status: "template"
63
- }
64
- ], fe = [
65
- {
66
- device: "Chrome on macOS",
67
- location: "Bangalore, India",
68
- date: "2024-01-16T08:30:00Z",
69
- current: !0
70
- },
71
- {
72
- device: "Safari on iPhone",
73
- location: "Bangalore, India",
74
- date: "2024-01-15T19:45:00Z",
75
- current: !1
76
- },
77
- {
78
- device: "Chrome on Windows",
79
- location: "Mumbai, India",
80
- date: "2024-01-14T10:20:00Z",
81
- current: !1
82
- }
83
- ], pe = [
84
- "Food & Beverage",
85
- "Quick Commerce",
86
- "Cloud Kitchen",
87
- "Retail",
88
- "Technology",
89
- "Healthcare",
90
- "Education",
91
- "Logistics",
92
- "FinTech"
93
- ];
94
- function k() {
95
- let { currentUser: c, navigateTo: b } = e(), { data: k = [] } = r(c?.id || ""), [A, j] = s("personal"), [M, N] = s(!1), [P, F] = s(!1), [I, L] = s(""), R = o(() => ({
96
- firstName: c?.firstName ?? c?.name?.split(" ")[0] ?? "Rajesh",
97
- lastName: c?.lastName ?? c?.name?.split(" ")[1] ?? "Mehta",
98
- email: c?.email ?? "investor@burdenoff.com",
99
- phone: "+91 98765 43230",
100
- profileImage: c?.avatar ?? "",
101
- investorType: "Angel Investor",
102
- investmentRange: "5L - 25L",
103
- preferredSectors: [
104
- "Food & Beverage",
105
- "Quick Commerce",
106
- "Cloud Kitchen"
107
- ],
108
- investmentHorizon: "3-5 years",
109
- riskProfile: "Moderate",
110
- companyName: "Mehta Ventures",
111
- designation: "Managing Partner",
112
- companyWebsite: "www.mehtaventures.com",
113
- linkedinProfile: "linkedin.com/in/rajeshmehta",
114
- address: "456, MG Road",
115
- city: "Bangalore",
116
- state: "Karnataka",
117
- country: "India",
118
- pincode: "560001"
119
- }), [c]), [z, B] = s(R);
120
- o(() => ({
121
- totalInvested: k.reduce((e, t) => e + t.investedAmount, 0),
122
- portfolioValue: k.reduce((e, t) => e + t.currentValue, 0),
123
- totalReturns: k.reduce((e, t) => e + t.returns, 0),
124
- activeInvestments: k.length
125
- }), [k]);
126
- let [V, me] = s([
127
- {
128
- id: "opportunities",
129
- label: "New Investment Opportunities",
130
- description: "Get notified about new investment opportunities matching your profile",
131
- enabled: !0
132
- },
133
- {
134
- id: "updates",
135
- label: "Portfolio Updates",
136
- description: "Regular updates on your portfolio performance",
137
- enabled: !0
138
- },
139
- {
140
- id: "reports",
141
- label: "Monthly Reports",
142
- description: "Detailed monthly investment reports",
143
- enabled: !0
144
- },
145
- {
146
- id: "events",
147
- label: "Investor Events",
148
- description: "Invitations to investor meetups and events",
149
- enabled: !1
150
- },
151
- {
152
- id: "news",
153
- label: "Market News",
154
- description: "Important market news and updates",
155
- enabled: !0
156
- },
157
- {
158
- id: "dividends",
159
- label: "Dividend Alerts",
160
- description: "Notifications when dividends are credited to your account",
161
- enabled: !0
162
- }
163
- ]), [he, H] = s(!1), [U, W] = s(""), [G, K] = s(""), [q, J] = s(""), [Y, ge] = s(!1), [X, _e] = s(!1), [Z, ve] = s(!1), Q = a((e, t) => {
164
- B((n) => ({
165
- ...n,
166
- [e]: t
167
- }));
168
- }, []), $ = a(() => {
169
- F(!0), setTimeout(() => {
170
- F(!1), N(!1), L("Profile updated successfully!"), setTimeout(() => L(""), 3e3);
171
- }, 1200);
172
- }, []), ye = a((e) => {
173
- let t = e.target.files?.[0];
174
- if (t) {
175
- let e = new FileReader();
176
- e.onloadend = () => {
177
- B((t) => ({
178
- ...t,
179
- profileImage: e.result
180
- }));
181
- }, e.readAsDataURL(t);
182
- }
183
- }, []), be = a((e) => {
184
- me((t) => t.map((t) => t.id === e ? {
185
- ...t,
186
- enabled: !t.enabled
187
- } : t));
188
- }, []), xe = a(() => {
189
- if (!(!U || !G || !q)) {
190
- if (G !== q) {
191
- alert("Passwords do not match");
192
- return;
193
- }
194
- if (G.length < 8) {
195
- alert("Password must be at least 8 characters");
196
- return;
197
- }
198
- alert("Password changed successfully!"), H(!1), W(""), K(""), J("");
199
- }
200
- }, [
201
- U,
202
- G,
203
- q
204
- ]), Se = a(() => {
205
- ve((e) => {
206
- let t = !e;
207
- return alert(t ? "2FA has been enabled" : "2FA has been disabled"), t;
208
- });
209
- }, []);
210
- return /* @__PURE__ */ D(n, {
211
- title: "Investor Profile",
212
- description: "Manage your investment profile and preferences",
213
- actions: /* @__PURE__ */ D("div", {
214
- className: "flex items-center gap-2",
215
- children: [I && /* @__PURE__ */ E("span", {
216
- className: "text-sm font-medium text-green-600 dark:text-green-400",
217
- children: I
218
- }), M ? /* @__PURE__ */ D(T, { children: [/* @__PURE__ */ D("button", {
219
- type: "button",
220
- onClick: () => {
221
- N(!1), B(R);
222
- },
223
- 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",
224
- children: [/* @__PURE__ */ E(w, { className: "h-4 w-4" }), "Cancel"]
225
- }), /* @__PURE__ */ E("button", {
226
- type: "button",
227
- onClick: $,
228
- disabled: P,
229
- className: t("flex items-center gap-2 rounded-lg px-4 py-2 text-sm font-medium transition-colors", P ? "cursor-not-allowed bg-bg-sunken text-text-secondary" : "bg-action-primary-bg text-action-primary-text hover:bg-action-primary-bg/90"),
230
- children: P ? /* @__PURE__ */ D(T, { children: [/* @__PURE__ */ E("div", { className: "h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent" }), "Saving..."] }) : /* @__PURE__ */ D(T, { children: [/* @__PURE__ */ E(y, { className: "h-4 w-4" }), "Save Changes"] })
231
- })] }) : /* @__PURE__ */ D("button", {
232
- type: "button",
233
- onClick: () => N(!0),
234
- 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",
235
- children: [/* @__PURE__ */ E(d, { className: "h-4 w-4" }), "Edit Profile"]
236
- })]
237
- }),
238
- children: [/* @__PURE__ */ E(ue, {
239
- className: "mb-6",
240
- children: "Your investor identity and preferences. Maintain your profile and company details, set your risk appetite and investment preferences, and see a quick snapshot of your portfolio value and returns. Keep this current so opportunities match your strategy."
241
- }), /* @__PURE__ */ D("div", {
242
- className: "grid grid-cols-1 gap-6 lg:grid-cols-4",
243
- children: [/* @__PURE__ */ D("div", {
244
- className: "lg:col-span-1",
245
- children: [
246
- /* @__PURE__ */ D(le, {
247
- className: "p-4 sm:p-6",
248
- children: [/* @__PURE__ */ D("div", {
249
- className: "text-center",
250
- children: [
251
- /* @__PURE__ */ D("div", {
252
- className: "relative mx-auto inline-block",
253
- children: [/* @__PURE__ */ E("div", {
254
- className: "h-20 w-20 overflow-hidden rounded-full bg-bg-sunken sm:h-24 sm:w-24",
255
- children: z.profileImage ? /* @__PURE__ */ E("img", {
256
- src: z.profileImage,
257
- alt: "Profile",
258
- className: "h-full w-full object-cover"
259
- }) : /* @__PURE__ */ E("div", {
260
- className: "flex h-full w-full items-center justify-center",
261
- children: /* @__PURE__ */ E(C, { className: "h-10 w-10 text-text-secondary" })
262
- })
263
- }), M && /* @__PURE__ */ D("label", {
264
- className: "absolute bottom-0 right-0 flex h-8 w-8 cursor-pointer items-center justify-center rounded-full bg-action-primary-bg text-action-primary-text hover:bg-action-primary-bg/90 transition-colors",
265
- children: [/* @__PURE__ */ E(ie, { className: "h-4 w-4" }), /* @__PURE__ */ E("input", {
266
- type: "file",
267
- accept: "image/*",
268
- onChange: ye,
269
- className: "hidden"
270
- })]
271
- })]
272
- }),
273
- /* @__PURE__ */ D("h3", {
274
- className: "mt-3 text-base font-semibold text-text-primary sm:text-lg",
275
- children: [
276
- z.firstName,
277
- " ",
278
- z.lastName
279
- ]
280
- }),
281
- /* @__PURE__ */ E("p", {
282
- className: "text-sm text-text-secondary",
283
- children: z.investorType
284
- }),
285
- /* @__PURE__ */ E("p", {
286
- className: "mt-1 truncate text-xs text-text-secondary",
287
- children: z.companyName
288
- })
289
- ]
290
- }), /* @__PURE__ */ D("div", {
291
- className: "mt-5 space-y-3 border-t border-border-subtle pt-4",
292
- children: [
293
- /* @__PURE__ */ D("div", {
294
- className: "flex items-center justify-between",
295
- children: [/* @__PURE__ */ E("span", {
296
- className: "text-xs text-text-secondary sm:text-sm",
297
- children: "Portfolio Value"
298
- }), /* @__PURE__ */ E("span", {
299
- className: "text-xs font-semibold text-primary sm:text-sm",
300
- children: i(z.portfolioValue ?? 0, { minimumFractionDigits: 0 })
301
- })]
302
- }),
303
- /* @__PURE__ */ D("div", {
304
- className: "flex items-center justify-between",
305
- children: [/* @__PURE__ */ E("span", {
306
- className: "text-xs text-text-secondary sm:text-sm",
307
- children: "Active Investments"
308
- }), /* @__PURE__ */ E("span", {
309
- className: "text-xs font-semibold text-text-primary sm:text-sm",
310
- children: z.activeInvestments
311
- })]
312
- }),
313
- /* @__PURE__ */ D("div", {
314
- className: "flex items-center justify-between",
315
- children: [/* @__PURE__ */ E("span", {
316
- className: "text-xs text-text-secondary sm:text-sm",
317
- children: "Total Returns"
318
- }), /* @__PURE__ */ D("span", {
319
- className: "text-xs font-semibold text-green-600 dark:text-green-400 sm:text-sm",
320
- children: ["+", i(z.totalReturns ?? 0, { minimumFractionDigits: 0 })]
321
- })]
322
- }),
323
- /* @__PURE__ */ D("div", {
324
- className: "flex items-center justify-between",
325
- children: [/* @__PURE__ */ E("span", {
326
- className: "text-xs text-text-secondary sm:text-sm",
327
- children: "Total Invested"
328
- }), /* @__PURE__ */ E("span", {
329
- className: "text-xs font-semibold text-text-primary sm:text-sm",
330
- children: i(z.totalInvested ?? 0, { minimumFractionDigits: 0 })
331
- })]
332
- })
333
- ]
334
- })]
335
- }),
336
- /* @__PURE__ */ E("div", {
337
- className: "mt-4 flex gap-2 overflow-x-auto pb-2 lg:hidden",
338
- children: O.map((e) => /* @__PURE__ */ D("button", {
339
- type: "button",
340
- onClick: () => j(e.id),
341
- className: t("flex shrink-0 items-center gap-2 rounded-lg px-3 py-2 text-sm font-medium transition-colors", A === e.id ? "bg-action-primary-bg text-action-primary-text shadow-sm" : "bg-bg-surface text-text-primary hover:bg-accent"),
342
- children: [/* @__PURE__ */ E(e.Icon, { className: "h-4 w-4 shrink-0" }), e.label]
343
- }, e.id))
344
- }),
345
- /* @__PURE__ */ E("div", {
346
- className: "mt-4 hidden space-y-2 lg:block",
347
- children: O.map((e) => /* @__PURE__ */ D("button", {
348
- type: "button",
349
- onClick: () => j(e.id),
350
- className: t("flex w-full items-center gap-3 rounded-lg px-4 py-3 text-sm font-medium transition-colors", A === e.id ? "bg-action-primary-bg text-action-primary-text" : "bg-bg-surface text-text-primary hover:bg-accent"),
351
- children: [/* @__PURE__ */ E(e.Icon, { className: "h-4 w-4" }), e.label]
352
- }, e.id))
353
- })
354
- ]
355
- }), /* @__PURE__ */ E("div", {
356
- className: "lg:col-span-3",
357
- children: /* @__PURE__ */ D("div", {
358
- className: "rounded-lg border border-border-subtle bg-bg-surface p-4 sm:p-6 lg:p-8",
359
- children: [
360
- A === "personal" && /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("h2", {
361
- className: "mb-6 text-lg font-semibold text-text-primary sm:text-xl",
362
- children: "Personal Information"
363
- }), /* @__PURE__ */ D("div", {
364
- className: "space-y-6",
365
- children: [
366
- /* @__PURE__ */ D("div", {
367
- className: "grid grid-cols-1 gap-4 sm:grid-cols-2 sm:gap-6",
368
- children: [
369
- /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("label", {
370
- className: "mb-1 block text-sm font-medium text-text-primary",
371
- children: "First Name"
372
- }), /* @__PURE__ */ E("input", {
373
- type: "text",
374
- value: z.firstName,
375
- onChange: (e) => Q("firstName", e.target.value),
376
- disabled: !M,
377
- className: "w-full rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary disabled:bg-bg-sunken disabled:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]"
378
- })] }),
379
- /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("label", {
380
- className: "mb-1 block text-sm font-medium text-text-primary",
381
- children: "Last Name"
382
- }), /* @__PURE__ */ E("input", {
383
- type: "text",
384
- value: z.lastName,
385
- onChange: (e) => Q("lastName", e.target.value),
386
- disabled: !M,
387
- className: "w-full rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary disabled:bg-bg-sunken disabled:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]"
388
- })] }),
389
- /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("label", {
390
- className: "mb-1 block text-sm font-medium text-text-primary",
391
- children: "Email Address"
392
- }), /* @__PURE__ */ D("div", {
393
- className: "relative",
394
- children: [/* @__PURE__ */ E(se, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-secondary" }), /* @__PURE__ */ E("input", {
395
- type: "email",
396
- value: z.email,
397
- onChange: (e) => Q("email", e.target.value),
398
- disabled: !M,
399
- className: "w-full rounded-lg border border-border-subtle bg-bg-surface py-2 pl-10 pr-3 text-sm text-text-primary disabled:bg-bg-sunken disabled:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]"
400
- })]
401
- })] }),
402
- /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("label", {
403
- className: "mb-1 block text-sm font-medium text-text-primary",
404
- children: "Phone Number"
405
- }), /* @__PURE__ */ D("div", {
406
- className: "relative",
407
- children: [/* @__PURE__ */ E(_, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-secondary" }), /* @__PURE__ */ E("input", {
408
- type: "tel",
409
- value: z.phone,
410
- onChange: (e) => Q("phone", e.target.value),
411
- disabled: !M,
412
- className: "w-full rounded-lg border border-border-subtle bg-bg-surface py-2 pl-10 pr-3 text-sm text-text-primary disabled:bg-bg-sunken disabled:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]"
413
- })]
414
- })] })
415
- ]
416
- }),
417
- /* @__PURE__ */ D("div", {
418
- className: "border-t border-border-subtle pt-6",
419
- children: [/* @__PURE__ */ E("h3", {
420
- className: "mb-4 text-sm font-semibold text-text-primary sm:text-base",
421
- children: "Professional Details"
422
- }), /* @__PURE__ */ D("div", {
423
- className: "grid grid-cols-1 gap-4 sm:grid-cols-2 sm:gap-6",
424
- children: [
425
- /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("label", {
426
- className: "mb-1 block text-sm font-medium text-text-primary",
427
- children: "Company/Organization"
428
- }), /* @__PURE__ */ D("div", {
429
- className: "relative",
430
- children: [/* @__PURE__ */ E(re, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-secondary" }), /* @__PURE__ */ E("input", {
431
- type: "text",
432
- value: z.companyName,
433
- onChange: (e) => Q("companyName", e.target.value),
434
- disabled: !M,
435
- className: "w-full rounded-lg border border-border-subtle bg-bg-surface py-2 pl-10 pr-3 text-sm text-text-primary disabled:bg-bg-sunken disabled:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]"
436
- })]
437
- })] }),
438
- /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("label", {
439
- className: "mb-1 block text-sm font-medium text-text-primary",
440
- children: "Designation"
441
- }), /* @__PURE__ */ E("input", {
442
- type: "text",
443
- value: z.designation,
444
- onChange: (e) => Q("designation", e.target.value),
445
- disabled: !M,
446
- className: "w-full rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary disabled:bg-bg-sunken disabled:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]"
447
- })] }),
448
- /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("label", {
449
- className: "mb-1 block text-sm font-medium text-text-primary",
450
- children: "Company Website"
451
- }), /* @__PURE__ */ D("div", {
452
- className: "relative",
453
- children: [/* @__PURE__ */ E(h, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-secondary" }), /* @__PURE__ */ E("input", {
454
- type: "text",
455
- value: z.companyWebsite,
456
- onChange: (e) => Q("companyWebsite", e.target.value),
457
- disabled: !M,
458
- className: "w-full rounded-lg border border-border-subtle bg-bg-surface py-2 pl-10 pr-3 text-sm text-text-primary disabled:bg-bg-sunken disabled:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]"
459
- })]
460
- })] }),
461
- /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("label", {
462
- className: "mb-1 block text-sm font-medium text-text-primary",
463
- children: "LinkedIn Profile"
464
- }), /* @__PURE__ */ D("div", {
465
- className: "relative",
466
- children: [/* @__PURE__ */ E(ae, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-secondary" }), /* @__PURE__ */ E("input", {
467
- type: "text",
468
- value: z.linkedinProfile,
469
- onChange: (e) => Q("linkedinProfile", e.target.value),
470
- disabled: !M,
471
- className: "w-full rounded-lg border border-border-subtle bg-bg-surface py-2 pl-10 pr-3 text-sm text-text-primary disabled:bg-bg-sunken disabled:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]"
472
- })]
473
- })] })
474
- ]
475
- })]
476
- }),
477
- /* @__PURE__ */ D("div", {
478
- className: "border-t border-border-subtle pt-6",
479
- children: [/* @__PURE__ */ E("h3", {
480
- className: "mb-4 text-sm font-semibold text-text-primary sm:text-base",
481
- children: "Address"
482
- }), /* @__PURE__ */ D("div", {
483
- className: "space-y-4",
484
- children: [/* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("label", {
485
- className: "mb-1 block text-sm font-medium text-text-primary",
486
- children: "Street Address"
487
- }), /* @__PURE__ */ E("textarea", {
488
- rows: 2,
489
- value: z.address,
490
- onChange: (e) => Q("address", e.target.value),
491
- disabled: !M,
492
- className: "w-full rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary disabled:bg-bg-sunken disabled:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]"
493
- })] }), /* @__PURE__ */ D("div", {
494
- className: "grid grid-cols-1 gap-4 sm:grid-cols-2 sm:gap-6",
495
- children: [
496
- /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("label", {
497
- className: "mb-1 block text-sm font-medium text-text-primary",
498
- children: "City"
499
- }), /* @__PURE__ */ E("input", {
500
- type: "text",
501
- value: z.city,
502
- onChange: (e) => Q("city", e.target.value),
503
- disabled: !M,
504
- className: "w-full rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary disabled:bg-bg-sunken disabled:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]"
505
- })] }),
506
- /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("label", {
507
- className: "mb-1 block text-sm font-medium text-text-primary",
508
- children: "State"
509
- }), /* @__PURE__ */ E("input", {
510
- type: "text",
511
- value: z.state,
512
- onChange: (e) => Q("state", e.target.value),
513
- disabled: !M,
514
- className: "w-full rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary disabled:bg-bg-sunken disabled:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]"
515
- })] }),
516
- /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("label", {
517
- className: "mb-1 block text-sm font-medium text-text-primary",
518
- children: "Country"
519
- }), /* @__PURE__ */ E("input", {
520
- type: "text",
521
- value: z.country,
522
- onChange: (e) => Q("country", e.target.value),
523
- disabled: !M,
524
- className: "w-full rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary disabled:bg-bg-sunken disabled:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]"
525
- })] }),
526
- /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("label", {
527
- className: "mb-1 block text-sm font-medium text-text-primary",
528
- children: "Pincode"
529
- }), /* @__PURE__ */ E("input", {
530
- type: "text",
531
- value: z.pincode,
532
- onChange: (e) => Q("pincode", e.target.value),
533
- disabled: !M,
534
- className: "w-full rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary disabled:bg-bg-sunken disabled:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]"
535
- })] })
536
- ]
537
- })]
538
- })]
539
- })
540
- ]
541
- })] }),
542
- A === "investment" && /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("h2", {
543
- className: "mb-6 text-lg font-semibold text-text-primary sm:text-xl",
544
- children: "Investment Profile"
545
- }), /* @__PURE__ */ D("div", {
546
- className: "space-y-6",
547
- children: [
548
- /* @__PURE__ */ D("div", {
549
- className: "grid grid-cols-1 gap-4 sm:grid-cols-2 sm:gap-6",
550
- children: [
551
- /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("label", {
552
- className: "mb-1 block text-sm font-medium text-text-primary",
553
- children: "Investor Type"
554
- }), /* @__PURE__ */ D("select", {
555
- value: z.investorType,
556
- onChange: (e) => Q("investorType", e.target.value),
557
- disabled: !M,
558
- className: "w-full rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary disabled:bg-bg-sunken disabled:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]",
559
- children: [
560
- /* @__PURE__ */ E("option", { children: "Angel Investor" }),
561
- /* @__PURE__ */ E("option", { children: "Venture Capitalist" }),
562
- /* @__PURE__ */ E("option", { children: "Private Equity" }),
563
- /* @__PURE__ */ E("option", { children: "Strategic Investor" })
564
- ]
565
- })] }),
566
- /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("label", {
567
- className: "mb-1 block text-sm font-medium text-text-primary",
568
- children: "Investment Range"
569
- }), /* @__PURE__ */ D("select", {
570
- value: z.investmentRange,
571
- onChange: (e) => Q("investmentRange", e.target.value),
572
- disabled: !M,
573
- className: "w-full rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary disabled:bg-bg-sunken disabled:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]",
574
- children: [
575
- /* @__PURE__ */ E("option", { children: "1L - 5L" }),
576
- /* @__PURE__ */ E("option", { children: "5L - 25L" }),
577
- /* @__PURE__ */ E("option", { children: "25L - 1Cr" }),
578
- /* @__PURE__ */ E("option", { children: "1Cr+" })
579
- ]
580
- })] }),
581
- /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("label", {
582
- className: "mb-1 block text-sm font-medium text-text-primary",
583
- children: "Investment Horizon"
584
- }), /* @__PURE__ */ D("select", {
585
- value: z.investmentHorizon,
586
- onChange: (e) => Q("investmentHorizon", e.target.value),
587
- disabled: !M,
588
- className: "w-full rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary disabled:bg-bg-sunken disabled:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]",
589
- children: [
590
- /* @__PURE__ */ E("option", { children: "1-2 years" }),
591
- /* @__PURE__ */ E("option", { children: "3-5 years" }),
592
- /* @__PURE__ */ E("option", { children: "5-7 years" }),
593
- /* @__PURE__ */ E("option", { children: "7+ years" })
594
- ]
595
- })] }),
596
- /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("label", {
597
- className: "mb-1 block text-sm font-medium text-text-primary",
598
- children: "Risk Profile"
599
- }), /* @__PURE__ */ D("select", {
600
- value: z.riskProfile,
601
- onChange: (e) => Q("riskProfile", e.target.value),
602
- disabled: !M,
603
- className: "w-full rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary disabled:bg-bg-sunken disabled:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]",
604
- children: [
605
- /* @__PURE__ */ E("option", { children: "Conservative" }),
606
- /* @__PURE__ */ E("option", { children: "Moderate" }),
607
- /* @__PURE__ */ E("option", { children: "Aggressive" })
608
- ]
609
- })] })
610
- ]
611
- }),
612
- /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("label", {
613
- className: "mb-3 block text-sm font-medium text-text-primary",
614
- children: "Preferred Sectors"
615
- }), /* @__PURE__ */ E("div", {
616
- className: "grid grid-cols-2 gap-3 sm:grid-cols-3",
617
- children: pe.map((e) => /* @__PURE__ */ D("label", {
618
- className: "flex items-center gap-2",
619
- children: [/* @__PURE__ */ E("input", {
620
- type: "checkbox",
621
- checked: z.preferredSectors.includes(e),
622
- onChange: (t) => {
623
- t.target.checked ? Q("preferredSectors", [...z.preferredSectors, e]) : Q("preferredSectors", z.preferredSectors.filter((t) => t !== e));
624
- },
625
- disabled: !M,
626
- className: "h-4 w-4 rounded border-border-subtle text-primary focus:ring-[var(--color-focus-ring)]"
627
- }), /* @__PURE__ */ E("span", {
628
- className: "text-sm text-text-primary",
629
- children: e
630
- })]
631
- }, e))
632
- })] }),
633
- /* @__PURE__ */ D("div", {
634
- className: "rounded-lg border border-border-subtle p-4",
635
- children: [/* @__PURE__ */ D("div", {
636
- className: "mb-2 flex items-center justify-between",
637
- children: [/* @__PURE__ */ E("p", {
638
- className: "text-sm font-medium text-text-primary",
639
- children: "Risk Tolerance"
640
- }), /* @__PURE__ */ E("span", {
641
- className: t("text-sm font-semibold", z.riskProfile === "Conservative" ? "text-green-600 dark:text-green-400" : z.riskProfile === "Moderate" ? "text-yellow-600 dark:text-yellow-400" : "text-red-600 dark:text-red-400"),
642
- children: z.riskProfile
643
- })]
644
- }), /* @__PURE__ */ E("div", {
645
- className: "flex gap-1",
646
- children: [
647
- "Conservative",
648
- "Moderate",
649
- "Aggressive"
650
- ].map((e) => /* @__PURE__ */ E("div", { className: t("h-2.5 flex-1 rounded-full", e === "Conservative" && "bg-green-500/30", e === "Moderate" && "bg-yellow-500/30", e === "Aggressive" && "bg-red-500/30", e === z.riskProfile && e === "Conservative" && "bg-green-500", e === z.riskProfile && e === "Moderate" && "bg-yellow-500", e === z.riskProfile && e === "Aggressive" && "bg-red-500") }, e))
651
- })]
652
- })
653
- ]
654
- })] }),
655
- A === "portfolio" && /* @__PURE__ */ D("div", { children: [
656
- /* @__PURE__ */ E("h2", {
657
- className: "mb-6 text-lg font-semibold text-text-primary sm:text-xl",
658
- children: "Investment Portfolio"
659
- }),
660
- /* @__PURE__ */ D("div", {
661
- className: "mb-8 grid grid-cols-2 gap-4 sm:grid-cols-4 sm:gap-6",
662
- children: [
663
- /* @__PURE__ */ D("div", {
664
- className: "rounded-lg bg-bg-sunken/50 p-4",
665
- children: [
666
- /* @__PURE__ */ E(u, { className: "mb-2 h-7 w-7 text-primary sm:h-8 sm:w-8" }),
667
- /* @__PURE__ */ E("div", {
668
- className: "text-lg font-bold text-text-primary sm:text-2xl",
669
- children: i(z.totalInvested ?? 0, {
670
- minimumFractionDigits: 0,
671
- notation: "compact"
672
- })
673
- }),
674
- /* @__PURE__ */ E("div", {
675
- className: "text-xs text-text-secondary sm:text-sm",
676
- children: "Total Invested"
677
- })
678
- ]
679
- }),
680
- /* @__PURE__ */ D("div", {
681
- className: "rounded-lg bg-bg-sunken/50 p-4",
682
- children: [
683
- /* @__PURE__ */ E(ne, { className: "mb-2 h-7 w-7 text-blue-600 sm:h-8 sm:w-8" }),
684
- /* @__PURE__ */ E("div", {
685
- className: "text-lg font-bold text-text-primary sm:text-2xl",
686
- children: z.activeInvestments
687
- }),
688
- /* @__PURE__ */ E("div", {
689
- className: "text-xs text-text-secondary sm:text-sm",
690
- children: "Active Investments"
691
- })
692
- ]
693
- }),
694
- /* @__PURE__ */ D("div", {
695
- className: "rounded-lg bg-bg-sunken/50 p-4",
696
- children: [
697
- /* @__PURE__ */ E(S, { className: "mb-2 h-7 w-7 text-green-600 sm:h-8 sm:w-8" }),
698
- /* @__PURE__ */ E("div", {
699
- className: "text-lg font-bold text-text-primary sm:text-2xl",
700
- children: i(z.totalReturns ?? 0, {
701
- minimumFractionDigits: 0,
702
- notation: "compact"
703
- })
704
- }),
705
- /* @__PURE__ */ E("div", {
706
- className: "text-xs text-text-secondary sm:text-sm",
707
- children: "Total Returns"
708
- })
709
- ]
710
- }),
711
- /* @__PURE__ */ D("div", {
712
- className: "rounded-lg bg-bg-sunken/50 p-4",
713
- children: [
714
- /* @__PURE__ */ E(v, { className: "mb-2 h-7 w-7 text-purple-600 sm:h-8 sm:w-8" }),
715
- /* @__PURE__ */ E("div", {
716
- className: "text-lg font-bold text-text-primary sm:text-2xl",
717
- children: i(z.portfolioValue ?? 0, {
718
- minimumFractionDigits: 0,
719
- notation: "compact"
720
- })
721
- }),
722
- /* @__PURE__ */ E("div", {
723
- className: "text-xs text-text-secondary sm:text-sm",
724
- children: "Portfolio Value"
725
- })
726
- ]
727
- })
728
- ]
729
- }),
730
- /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("h3", {
731
- className: "mb-4 text-base font-semibold text-text-primary",
732
- children: "Active Investments"
733
- }), /* @__PURE__ */ E("div", {
734
- className: "space-y-3",
735
- children: te.map((e, n) => /* @__PURE__ */ D("div", {
736
- className: "rounded-lg border border-border-subtle bg-bg-sunken/30 p-4",
737
- children: [/* @__PURE__ */ D("div", {
738
- className: "mb-3 flex items-start justify-between",
739
- children: [/* @__PURE__ */ E("h4", {
740
- className: "text-sm font-medium text-text-primary sm:text-base",
741
- children: e.cartName
742
- }), /* @__PURE__ */ D("span", {
743
- className: t("text-sm font-semibold", e.returns > 0 ? "text-green-600 dark:text-green-400" : "text-red-600 dark:text-red-400"),
744
- children: [
745
- e.returns > 0 ? "+" : "",
746
- e.returns,
747
- "%"
748
- ]
749
- })]
750
- }), /* @__PURE__ */ D("div", {
751
- className: "grid grid-cols-1 gap-3 text-sm sm:grid-cols-3",
752
- children: [
753
- /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("span", {
754
- className: "text-text-secondary",
755
- children: "Invested: "
756
- }), /* @__PURE__ */ E("span", {
757
- className: "font-medium text-text-primary",
758
- children: i(e.investedAmount, { minimumFractionDigits: 0 })
759
- })] }),
760
- /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("span", {
761
- className: "text-text-secondary",
762
- children: "Current Value: "
763
- }), /* @__PURE__ */ E("span", {
764
- className: "font-medium text-text-primary",
765
- children: i(e.currentValue, { minimumFractionDigits: 0 })
766
- })] }),
767
- /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("span", {
768
- className: "text-text-secondary",
769
- children: "Returns: "
770
- }), /* @__PURE__ */ E("span", {
771
- className: "font-medium text-green-600 dark:text-green-400",
772
- children: i(e.currentValue - e.investedAmount, { minimumFractionDigits: 0 })
773
- })] })
774
- ]
775
- })]
776
- }, n))
777
- })] })
778
- ] }),
779
- A === "documents" && /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("h2", {
780
- className: "mb-6 text-lg font-semibold text-text-primary sm:text-xl",
781
- children: "Documents & KYC"
782
- }), /* @__PURE__ */ D("div", {
783
- className: "space-y-6",
784
- children: [
785
- /* @__PURE__ */ D("div", {
786
- className: "flex items-center gap-2 rounded-lg bg-green-500/10 px-4 py-3",
787
- children: [/* @__PURE__ */ E(l, { className: "h-5 w-5 text-green-600 dark:text-green-400" }), /* @__PURE__ */ E("p", {
788
- className: "text-sm font-medium text-green-600 dark:text-green-400",
789
- children: "Your KYC is complete and verified"
790
- })]
791
- }),
792
- /* @__PURE__ */ E("div", {
793
- className: "grid grid-cols-1 gap-4 sm:grid-cols-2 sm:gap-6",
794
- children: de.map((e) => /* @__PURE__ */ D("div", {
795
- className: "rounded-lg border border-border-subtle bg-bg-surface p-4 sm:p-6",
796
- children: [
797
- /* @__PURE__ */ E(m, { className: "mb-3 h-8 w-8 text-primary" }),
798
- /* @__PURE__ */ E("h3", {
799
- className: "text-base font-semibold text-text-primary",
800
- children: e.name
801
- }),
802
- /* @__PURE__ */ E("p", {
803
- className: "mt-1 text-sm text-text-secondary",
804
- children: e.status === "verified" ? `Verified on ${e.verifiedOn}` : e.status === "uploaded" ? `Uploaded on ${e.verifiedOn}` : "Template available"
805
- }),
806
- /* @__PURE__ */ D("div", {
807
- className: "mt-3 flex items-center gap-2",
808
- children: [
809
- e.status === "verified" && /* @__PURE__ */ D("span", {
810
- className: "flex items-center gap-1 rounded-full bg-green-500/20 px-2 py-0.5 text-xs font-medium text-green-600 dark:text-green-400",
811
- children: [/* @__PURE__ */ E(l, { className: "h-3 w-3" }), "Verified"]
812
- }),
813
- e.status === "uploaded" && /* @__PURE__ */ D("span", {
814
- className: "flex items-center gap-1 rounded-full bg-blue-500/20 px-2 py-0.5 text-xs font-medium text-blue-600 dark:text-blue-400",
815
- children: [/* @__PURE__ */ E(m, { className: "h-3 w-3" }), "Uploaded"]
816
- }),
817
- /* @__PURE__ */ E("button", {
818
- type: "button",
819
- onClick: () => alert(e.status === "template" ? `Downloading ${e.name} template...` : `Viewing ${e.name}...`),
820
- className: "rounded-lg border border-border-subtle px-3 py-1.5 text-xs font-medium text-text-primary hover:bg-accent transition-colors",
821
- children: e.status === "template" ? "Download Template" : "View Document"
822
- })
823
- ]
824
- })
825
- ]
826
- }, e.name))
827
- }),
828
- M && /* @__PURE__ */ D("div", {
829
- className: "rounded-lg border-2 border-dashed border-border-subtle p-6 text-center",
830
- children: [
831
- /* @__PURE__ */ E(m, { className: "mx-auto mb-2 h-8 w-8 text-text-secondary" }),
832
- /* @__PURE__ */ E("p", {
833
- className: "text-sm font-medium text-text-primary",
834
- children: "Upload New Document"
835
- }),
836
- /* @__PURE__ */ E("p", {
837
- className: "mt-1 text-xs text-text-secondary",
838
- children: "PDF, JPG, or PNG up to 10MB"
839
- }),
840
- /* @__PURE__ */ D("label", {
841
- className: "mt-3 inline-block cursor-pointer 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",
842
- children: ["Choose File", /* @__PURE__ */ E("input", {
843
- type: "file",
844
- accept: ".pdf,.jpg,.png",
845
- className: "hidden"
846
- })]
847
- })
848
- ]
849
- })
850
- ]
851
- })] }),
852
- A === "security" && /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("h2", {
853
- className: "mb-6 text-lg font-semibold text-text-primary sm:text-xl",
854
- children: "Security Settings"
855
- }), /* @__PURE__ */ D("div", {
856
- className: "space-y-6",
857
- children: [
858
- /* @__PURE__ */ D("div", {
859
- className: "rounded-lg border border-border-subtle p-4 sm:p-6",
860
- children: [
861
- /* @__PURE__ */ D("div", {
862
- className: "flex items-center gap-3 mb-3",
863
- children: [/* @__PURE__ */ E(oe, { className: "h-5 w-5 text-text-secondary" }), /* @__PURE__ */ E("h3", {
864
- className: "text-base font-semibold text-text-primary",
865
- children: "Change Password"
866
- })]
867
- }),
868
- /* @__PURE__ */ E("p", {
869
- className: "mb-4 text-sm text-text-secondary",
870
- children: "Update your password regularly to keep your account secure"
871
- }),
872
- he ? /* @__PURE__ */ D("div", {
873
- className: "space-y-4",
874
- children: [
875
- /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("label", {
876
- className: "mb-1 block text-sm font-medium text-text-primary",
877
- children: "Current Password"
878
- }), /* @__PURE__ */ D("div", {
879
- className: "relative",
880
- children: [/* @__PURE__ */ E("input", {
881
- type: Y ? "text" : "password",
882
- value: U,
883
- onChange: (e) => W(e.target.value),
884
- className: "w-full rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 pr-10 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]"
885
- }), /* @__PURE__ */ E("button", {
886
- type: "button",
887
- onClick: () => ge(!Y),
888
- className: "absolute right-3 top-1/2 -translate-y-1/2 text-text-secondary hover:text-text-primary",
889
- children: E(Y ? p : f, { className: "h-4 w-4" })
890
- })]
891
- })] }),
892
- /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("label", {
893
- className: "mb-1 block text-sm font-medium text-text-primary",
894
- children: "New Password"
895
- }), /* @__PURE__ */ D("div", {
896
- className: "relative",
897
- children: [/* @__PURE__ */ E("input", {
898
- type: X ? "text" : "password",
899
- value: G,
900
- onChange: (e) => K(e.target.value),
901
- className: "w-full rounded-lg border border-border-subtle bg-bg-surface px-3 py-2 pr-10 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]"
902
- }), /* @__PURE__ */ E("button", {
903
- type: "button",
904
- onClick: () => _e(!X),
905
- className: "absolute right-3 top-1/2 -translate-y-1/2 text-text-secondary hover:text-text-primary",
906
- children: E(X ? p : f, { className: "h-4 w-4" })
907
- })]
908
- })] }),
909
- /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("label", {
910
- className: "mb-1 block text-sm font-medium text-text-primary",
911
- children: "Confirm New Password"
912
- }), /* @__PURE__ */ E("input", {
913
- type: "password",
914
- value: q,
915
- onChange: (e) => J(e.target.value),
916
- className: "w-full 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)]"
917
- })] }),
918
- /* @__PURE__ */ D("div", {
919
- className: "flex gap-3",
920
- children: [/* @__PURE__ */ E("button", {
921
- type: "button",
922
- onClick: xe,
923
- 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",
924
- children: "Update Password"
925
- }), /* @__PURE__ */ E("button", {
926
- type: "button",
927
- onClick: () => {
928
- H(!1), W(""), K(""), J("");
929
- },
930
- className: "rounded-lg border border-border-subtle px-4 py-2 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
931
- children: "Cancel"
932
- })]
933
- })
934
- ]
935
- }) : /* @__PURE__ */ E("button", {
936
- type: "button",
937
- onClick: () => H(!0),
938
- className: "rounded-lg border border-border-subtle px-4 py-2 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
939
- children: "Change Password"
940
- })
941
- ]
942
- }),
943
- /* @__PURE__ */ D("div", {
944
- className: "rounded-lg border border-border-subtle p-4 sm:p-6",
945
- children: [
946
- /* @__PURE__ */ D("div", {
947
- className: "flex items-center gap-3 mb-3",
948
- children: [/* @__PURE__ */ E(x, { className: "h-5 w-5 text-text-secondary" }), /* @__PURE__ */ E("h3", {
949
- className: "text-base font-semibold text-text-primary",
950
- children: "Two-Factor Authentication"
951
- })]
952
- }),
953
- /* @__PURE__ */ E("p", {
954
- className: "mb-4 text-sm text-text-secondary",
955
- children: "Add an extra layer of security to your investment account"
956
- }),
957
- /* @__PURE__ */ D("div", {
958
- className: "flex items-center justify-between rounded-lg bg-bg-sunken/50 p-3",
959
- children: [/* @__PURE__ */ E("div", {
960
- className: "flex items-center gap-2",
961
- children: /* @__PURE__ */ E("span", {
962
- className: t("inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium", Z ? "bg-green-500/20 text-green-600 dark:text-green-400" : "bg-bg-sunken text-text-secondary"),
963
- children: Z ? "Enabled" : "Disabled"
964
- })
965
- }), /* @__PURE__ */ E("button", {
966
- type: "button",
967
- onClick: Se,
968
- className: t("rounded-lg px-4 py-2 text-sm font-medium transition-colors", Z ? "border border-border-subtle text-text-primary hover:bg-accent" : "bg-action-primary-bg text-action-primary-text hover:bg-action-primary-bg/90"),
969
- children: Z ? "Disable 2FA" : "Enable 2FA"
970
- })]
971
- })
972
- ]
973
- }),
974
- /* @__PURE__ */ D("div", {
975
- className: "rounded-lg border border-border-subtle p-4 sm:p-6",
976
- children: [/* @__PURE__ */ D("div", {
977
- className: "flex items-center gap-3 mb-4",
978
- children: [/* @__PURE__ */ E(g, { className: "h-5 w-5 text-text-secondary" }), /* @__PURE__ */ E("h3", {
979
- className: "text-base font-semibold text-text-primary",
980
- children: "Login Activity"
981
- })]
982
- }), /* @__PURE__ */ E("div", {
983
- className: "space-y-3",
984
- children: fe.map((e, t) => /* @__PURE__ */ D("div", {
985
- className: "flex items-center justify-between rounded-lg bg-bg-sunken/30 p-3",
986
- children: [/* @__PURE__ */ D("div", { children: [/* @__PURE__ */ D("div", {
987
- className: "flex items-center gap-2",
988
- children: [/* @__PURE__ */ E("p", {
989
- className: "text-sm font-medium text-text-primary",
990
- children: e.device
991
- }), e.current && /* @__PURE__ */ E("span", {
992
- className: "rounded-full bg-green-500/20 px-2 py-0.5 text-xs font-medium text-green-600 dark:text-green-400",
993
- children: "Current"
994
- })]
995
- }), /* @__PURE__ */ D("div", {
996
- className: "mt-1 flex items-center gap-2 text-xs text-text-secondary",
997
- children: [
998
- /* @__PURE__ */ E(ce, { className: "h-3 w-3" }),
999
- /* @__PURE__ */ E("span", { children: e.location }),
1000
- /* @__PURE__ */ E("span", { children: "•" }),
1001
- /* @__PURE__ */ E("span", { children: ee(e.date, {
1002
- hour: "numeric",
1003
- minute: "2-digit"
1004
- }) })
1005
- ]
1006
- })] }), !e.current && /* @__PURE__ */ E("button", {
1007
- type: "button",
1008
- onClick: () => alert("Session revoked"),
1009
- className: "rounded-lg border border-border-subtle px-3 py-1.5 text-xs font-medium text-text-primary hover:bg-accent transition-colors",
1010
- children: "Revoke"
1011
- })]
1012
- }, t))
1013
- })]
1014
- })
1015
- ]
1016
- })] }),
1017
- A === "notifications" && /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E("h2", {
1018
- className: "mb-6 text-lg font-semibold text-text-primary sm:text-xl",
1019
- children: "Notification Preferences"
1020
- }), /* @__PURE__ */ D("div", {
1021
- className: "space-y-4",
1022
- children: [V.map((e) => /* @__PURE__ */ D("div", {
1023
- className: "flex items-center justify-between rounded-lg border border-border-subtle bg-bg-sunken/30 p-4",
1024
- children: [/* @__PURE__ */ D("div", {
1025
- className: "flex-1 pr-4",
1026
- children: [/* @__PURE__ */ E("h4", {
1027
- className: "text-sm font-medium text-text-primary",
1028
- children: e.label
1029
- }), /* @__PURE__ */ E("p", {
1030
- className: "mt-0.5 text-xs text-text-secondary sm:text-sm",
1031
- children: e.description
1032
- })]
1033
- }), /* @__PURE__ */ E("button", {
1034
- type: "button",
1035
- onClick: () => {
1036
- M && be(e.id);
1037
- },
1038
- disabled: !M,
1039
- className: t("relative inline-flex h-6 w-11 shrink-0 cursor-pointer rounded-full transition-colors duration-200", e.enabled ? "bg-action-primary-bg" : "bg-bg-sunken", !M && "cursor-not-allowed opacity-60"),
1040
- children: /* @__PURE__ */ E("span", { className: t("pointer-events-none inline-block h-5 w-5 translate-y-0.5 rounded-full bg-white shadow ring-0 transition-transform duration-200", e.enabled ? "translate-x-5" : "translate-x-0.5") })
1041
- })]
1042
- }, e.id)), /* @__PURE__ */ E("div", {
1043
- className: "mt-4 rounded-lg border border-border-subtle bg-bg-sunken/50 p-4",
1044
- children: /* @__PURE__ */ D("p", {
1045
- className: "text-sm text-text-secondary",
1046
- children: [
1047
- V.filter((e) => e.enabled).length,
1048
- " of ",
1049
- V.length,
1050
- " ",
1051
- "notification types enabled.",
1052
- !M && /* @__PURE__ */ E("span", {
1053
- className: "ml-1",
1054
- children: "Click \"Edit Profile\" to modify preferences."
1055
- })
1056
- ]
1057
- })
1058
- })]
1059
- })] })
1060
- ]
1061
- })
1062
- })]
1063
- })]
1064
- });
1065
- }
1066
- //#endregion
1067
- export { k as InvestorProfilePage };
1068
-
1069
- //# sourceMappingURL=InvestorProfilePage.js.map