@burdenoff/microfe-atheletebridge 2026.626.1 → 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,671 +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 { MetricsCard as r } from "../../components/MetricsCard.js";
5
- import { useEffect as i, useState as a } from "react";
6
- import { Activity as o, AlertTriangle as s, ArrowRight as c, BarChart3 as l, CheckCircle2 as u, Clock as d, CreditCard as f, Database as p, FileText as m, IndianRupee as h, Loader2 as g, Server as _, Settings as v, ShieldCheck as y, ShoppingBag as b, Store as x, UserPlus as S, Users as C, Wifi as w } from "lucide-react";
7
- import { jsx as T, jsxs as E } from "react/jsx-runtime";
8
- import { EmphasisPanel as D, NextSteps as O, PagePurpose as k } from "@burdenoff/fe-libs/ui";
9
- //#region src/atheletebridge/pages/admin/AdminDashboard.tsx
10
- function A() {
11
- let { navigateTo: A, currentUser: j } = e(), M = j?.firstName ?? j?.name ?? "Admin", [N, P] = a(null), [F, I] = a([]), [L, R] = a(null), [z, B] = a(!0);
12
- i(() => {
13
- let e = setTimeout(() => {
14
- P({
15
- totalUsers: 12847,
16
- totalCarts: 2934,
17
- totalOrders: 45621,
18
- totalInvestments: 1256,
19
- activeUsers: 8934,
20
- pendingApprovals: 47,
21
- totalRevenue: 245e4,
22
- platformCommission: 122500
23
- }), R({
24
- customers: 8934,
25
- cartOwners: 2456,
26
- workers: 1245,
27
- investors: 212,
28
- growth: 15.7
29
- }), I([
30
- {
31
- id: "ACT-001",
32
- type: "user_registration",
33
- description: "New cart owner registered: Rajesh Kumar",
34
- timestamp: "2 minutes ago",
35
- status: "completed",
36
- user: "Rajesh Kumar"
37
- },
38
- {
39
- id: "ACT-002",
40
- type: "cart_approval",
41
- description: "Cart approval request from Mumbai Chaat Corner",
42
- timestamp: "5 minutes ago",
43
- status: "pending",
44
- user: "Priya Sharma"
45
- },
46
- {
47
- id: "ACT-003",
48
- type: "investment",
49
- description: "New investment in Dosa Express",
50
- timestamp: "12 minutes ago",
51
- status: "completed",
52
- user: "Amit Patel",
53
- amount: 75e3
54
- },
55
- {
56
- id: "ACT-004",
57
- type: "order",
58
- description: "Large order placed: ₹2,500",
59
- timestamp: "18 minutes ago",
60
- status: "completed",
61
- amount: 2500
62
- },
63
- {
64
- id: "ACT-005",
65
- type: "dispute",
66
- description: "Payment dispute raised by customer",
67
- timestamp: "25 minutes ago",
68
- status: "pending",
69
- user: "Suresh Nair",
70
- amount: 450
71
- },
72
- {
73
- id: "ACT-006",
74
- type: "user_registration",
75
- description: "New investor registered: Fatima Ali",
76
- timestamp: "32 minutes ago",
77
- status: "completed",
78
- user: "Fatima Ali"
79
- }
80
- ]), B(!1);
81
- }, 1e3);
82
- return () => clearTimeout(e);
83
- }, []);
84
- let V = (e) => /* @__PURE__ */ T({
85
- user_registration: S,
86
- cart_approval: x,
87
- investment: h,
88
- order: b,
89
- dispute: s
90
- }[e] ?? o, { className: "h-4 w-4" }), H = (e) => ({
91
- user_registration: "text-blue-600 dark:text-blue-400",
92
- cart_approval: "text-purple-600 dark:text-purple-400",
93
- investment: "text-emerald-600 dark:text-emerald-400",
94
- order: "text-green-600 dark:text-green-400",
95
- dispute: "text-yellow-600 dark:text-yellow-400"
96
- })[e] ?? "text-text-secondary", U = (e) => ({
97
- completed: "bg-green-500/20 text-green-600 dark:text-green-400",
98
- pending: "bg-yellow-500/20 text-yellow-600 dark:text-yellow-400",
99
- failed: "bg-red-500/20 text-red-600 dark:text-red-400"
100
- })[e] ?? "bg-secondary text-secondary-foreground";
101
- return z ? /* @__PURE__ */ T(n, {
102
- title: "Admin Dashboard",
103
- description: "Loading...",
104
- children: /* @__PURE__ */ E("div", {
105
- className: "flex flex-col items-center justify-center py-20",
106
- children: [/* @__PURE__ */ T(g, { className: "h-10 w-10 animate-spin text-text-secondary mb-4" }), /* @__PURE__ */ T("p", {
107
- className: "text-text-secondary",
108
- children: "Loading admin dashboard..."
109
- })]
110
- })
111
- }) : /* @__PURE__ */ E(n, {
112
- title: "Admin Dashboard",
113
- description: `Welcome, ${M}! Monitor and manage the platform.`,
114
- actions: N?.pendingApprovals && N.pendingApprovals > 0 ? /* @__PURE__ */ E("div", {
115
- className: "flex items-center gap-2 rounded-lg border border-red-500/30 bg-red-500/10 px-3 py-2",
116
- children: [/* @__PURE__ */ T(s, { className: "h-4 w-4 text-red-600 dark:text-red-400" }), /* @__PURE__ */ E("span", {
117
- className: "text-sm font-medium text-red-600 dark:text-red-400",
118
- children: [N.pendingApprovals, " pending approvals"]
119
- })]
120
- }) : void 0,
121
- children: [
122
- /* @__PURE__ */ T(k, {
123
- className: "mb-6",
124
- children: "The control room for the whole platform. Get a live read on users, carts, orders and revenue, clear pending cart approvals, watch system health, and jump into any management area. Start here each day to spot what needs your attention."
125
- }),
126
- /* @__PURE__ */ T(O, {
127
- className: "mb-6",
128
- storageKey: "atheletebridge-admin-dashboard",
129
- steps: [
130
- {
131
- id: "approvals",
132
- label: "Clear pending cart approvals",
133
- description: "Review and approve carts waiting to go live.",
134
- icon: /* @__PURE__ */ T(s, { className: "h-4 w-4" }),
135
- onClick: () => A("/admin/carts")
136
- },
137
- {
138
- id: "users",
139
- label: "Review user accounts",
140
- description: "Manage roles, permissions and flagged accounts.",
141
- icon: /* @__PURE__ */ T(C, { className: "h-4 w-4" }),
142
- onClick: () => A("/admin/users")
143
- },
144
- {
145
- id: "orders",
146
- label: "Check orders & disputes",
147
- description: "Resolve open disputes and monitor order flow.",
148
- icon: /* @__PURE__ */ T(b, { className: "h-4 w-4" }),
149
- onClick: () => A("/admin/orders")
150
- }
151
- ]
152
- }),
153
- /* @__PURE__ */ E("div", {
154
- className: "mb-8",
155
- children: [/* @__PURE__ */ T("h2", {
156
- className: "text-lg font-semibold text-text-primary mb-4",
157
- children: "Quick Actions"
158
- }), /* @__PURE__ */ E("div", {
159
- className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-3",
160
- children: [
161
- /* @__PURE__ */ E("button", {
162
- type: "button",
163
- onClick: () => A("/admin/carts"),
164
- className: "flex items-center gap-3 rounded-lg bg-red-600 hover:bg-red-700 text-white p-3 text-sm font-medium transition-colors",
165
- children: [
166
- /* @__PURE__ */ T(s, { className: "h-5 w-5" }),
167
- "Approve Carts (",
168
- N?.pendingApprovals,
169
- ")"
170
- ]
171
- }),
172
- /* @__PURE__ */ E("button", {
173
- type: "button",
174
- onClick: () => A("/admin/carts"),
175
- className: "flex items-center gap-3 rounded-lg border border-border-subtle bg-bg-surface hover:bg-accent p-3 text-sm font-medium text-text-primary transition-colors",
176
- children: [/* @__PURE__ */ T(x, { className: "h-5 w-5 text-text-secondary" }), "Manage Carts"]
177
- }),
178
- /* @__PURE__ */ E("button", {
179
- type: "button",
180
- onClick: () => A("/admin/users"),
181
- className: "flex items-center gap-3 rounded-lg border border-border-subtle bg-bg-surface hover:bg-accent p-3 text-sm font-medium text-text-primary transition-colors",
182
- children: [/* @__PURE__ */ T(C, { className: "h-5 w-5 text-text-secondary" }), "User Management"]
183
- }),
184
- /* @__PURE__ */ E("button", {
185
- type: "button",
186
- onClick: () => A("/admin/orders"),
187
- className: "flex items-center gap-3 rounded-lg border border-border-subtle bg-bg-surface hover:bg-accent p-3 text-sm font-medium text-text-primary transition-colors",
188
- children: [/* @__PURE__ */ T(b, { className: "h-5 w-5 text-text-secondary" }), "Order Management"]
189
- }),
190
- /* @__PURE__ */ E("button", {
191
- type: "button",
192
- onClick: () => A("/admin/financial"),
193
- className: "flex items-center gap-3 rounded-lg border border-border-subtle bg-bg-surface hover:bg-accent p-3 text-sm font-medium text-text-primary transition-colors",
194
- children: [/* @__PURE__ */ T(h, { className: "h-5 w-5 text-text-secondary" }), "Financial Analytics"]
195
- }),
196
- /* @__PURE__ */ E("button", {
197
- type: "button",
198
- onClick: () => A("/admin/analytics"),
199
- className: "flex items-center gap-3 rounded-lg border border-border-subtle bg-bg-surface hover:bg-accent p-3 text-sm font-medium text-text-primary transition-colors",
200
- children: [/* @__PURE__ */ T(l, { className: "h-5 w-5 text-text-secondary" }), "Analytics"]
201
- }),
202
- /* @__PURE__ */ E("button", {
203
- type: "button",
204
- onClick: () => A("/admin/settings"),
205
- className: "flex items-center gap-3 rounded-lg border border-border-subtle bg-bg-surface hover:bg-accent p-3 text-sm font-medium text-text-primary transition-colors",
206
- children: [/* @__PURE__ */ T(v, { className: "h-5 w-5 text-text-secondary" }), "Settings"]
207
- }),
208
- /* @__PURE__ */ E("button", {
209
- type: "button",
210
- onClick: () => A("/admin/analytics"),
211
- className: "flex items-center gap-3 rounded-lg border border-border-subtle bg-bg-surface hover:bg-accent p-3 text-sm font-medium text-text-primary transition-colors",
212
- children: [/* @__PURE__ */ T(m, { className: "h-5 w-5 text-text-secondary" }), "Reports"]
213
- })
214
- ]
215
- })]
216
- }),
217
- N && /* @__PURE__ */ E(D, {
218
- className: "mb-8",
219
- children: [
220
- /* @__PURE__ */ T("h2", {
221
- className: "text-lg font-semibold text-text-primary mb-4",
222
- children: "Platform Overview"
223
- }),
224
- /* @__PURE__ */ E("div", {
225
- className: "grid grid-cols-2 lg:grid-cols-4 gap-4",
226
- children: [
227
- /* @__PURE__ */ T(r, {
228
- icon: /* @__PURE__ */ T(C, { className: "h-5 w-5" }),
229
- value: N.totalUsers.toLocaleString("en-IN"),
230
- label: "Total Users",
231
- trend: "up",
232
- trendValue: "+15.7%"
233
- }),
234
- /* @__PURE__ */ T(r, {
235
- icon: /* @__PURE__ */ T(x, { className: "h-5 w-5" }),
236
- value: N.totalCarts.toLocaleString("en-IN"),
237
- label: "Active Carts",
238
- trend: "up",
239
- trendValue: "+8 this week"
240
- }),
241
- /* @__PURE__ */ T(r, {
242
- icon: /* @__PURE__ */ T(b, { className: "h-5 w-5" }),
243
- value: N.totalOrders.toLocaleString("en-IN"),
244
- label: "Total Orders",
245
- trend: "up",
246
- trendValue: "+12.3%"
247
- }),
248
- /* @__PURE__ */ T(r, {
249
- icon: /* @__PURE__ */ T(h, { className: "h-5 w-5" }),
250
- value: `₹${(N.totalRevenue / 1e5).toFixed(1)}L`,
251
- label: "Total Revenue",
252
- trend: "up",
253
- trendValue: "+8.5%"
254
- })
255
- ]
256
- }),
257
- /* @__PURE__ */ E("div", {
258
- className: "grid grid-cols-2 lg:grid-cols-4 gap-4 mt-4",
259
- children: [
260
- /* @__PURE__ */ E("div", {
261
- className: "rounded-lg border border-border-subtle bg-bg-surface p-4",
262
- children: [/* @__PURE__ */ T("p", {
263
- className: "text-xs text-text-secondary",
264
- children: "Active Users (24h)"
265
- }), /* @__PURE__ */ T("p", {
266
- className: "text-xl font-bold text-green-600 dark:text-green-400",
267
- children: N.activeUsers.toLocaleString("en-IN")
268
- })]
269
- }),
270
- /* @__PURE__ */ E("div", {
271
- className: "rounded-lg border border-border-subtle bg-bg-surface p-4",
272
- children: [/* @__PURE__ */ T("p", {
273
- className: "text-xs text-text-secondary",
274
- children: "Pending Approvals"
275
- }), /* @__PURE__ */ T("p", {
276
- className: "text-xl font-bold text-red-600 dark:text-red-400",
277
- children: N.pendingApprovals
278
- })]
279
- }),
280
- /* @__PURE__ */ E("div", {
281
- className: "rounded-lg border border-border-subtle bg-bg-surface p-4",
282
- children: [/* @__PURE__ */ T("p", {
283
- className: "text-xs text-text-secondary",
284
- children: "Total Investments"
285
- }), /* @__PURE__ */ T("p", {
286
- className: "text-xl font-bold text-blue-600 dark:text-blue-400",
287
- children: N.totalInvestments.toLocaleString("en-IN")
288
- })]
289
- }),
290
- /* @__PURE__ */ E("div", {
291
- className: "rounded-lg border border-border-subtle bg-bg-surface p-4",
292
- children: [/* @__PURE__ */ T("p", {
293
- className: "text-xs text-text-secondary",
294
- children: "Platform Commission"
295
- }), /* @__PURE__ */ E("p", {
296
- className: "text-xl font-bold text-purple-600 dark:text-purple-400",
297
- children: [
298
- "₹",
299
- (N.platformCommission / 1e3).toFixed(0),
300
- "K"
301
- ]
302
- })]
303
- })
304
- ]
305
- })
306
- ]
307
- }),
308
- L && /* @__PURE__ */ E("div", {
309
- className: "mb-8",
310
- children: [/* @__PURE__ */ T("h2", {
311
- className: "text-lg font-semibold text-text-primary mb-4",
312
- children: "User Distribution"
313
- }), /* @__PURE__ */ E("div", {
314
- className: "rounded-lg border border-border-subtle bg-bg-surface p-6",
315
- children: [/* @__PURE__ */ E("div", {
316
- className: "grid grid-cols-2 lg:grid-cols-4 gap-6",
317
- children: [
318
- /* @__PURE__ */ E("div", {
319
- className: "text-center",
320
- children: [
321
- /* @__PURE__ */ T("div", {
322
- className: "text-2xl sm:text-3xl font-bold text-blue-600 dark:text-blue-400",
323
- children: L.customers.toLocaleString("en-IN")
324
- }),
325
- /* @__PURE__ */ T("div", {
326
- className: "text-sm text-text-secondary",
327
- children: "Customers"
328
- }),
329
- /* @__PURE__ */ T("div", {
330
- className: "text-xs text-text-secondary",
331
- children: "69.5%"
332
- })
333
- ]
334
- }),
335
- /* @__PURE__ */ E("div", {
336
- className: "text-center",
337
- children: [
338
- /* @__PURE__ */ T("div", {
339
- className: "text-2xl sm:text-3xl font-bold text-green-600 dark:text-green-400",
340
- children: L.cartOwners.toLocaleString("en-IN")
341
- }),
342
- /* @__PURE__ */ T("div", {
343
- className: "text-sm text-text-secondary",
344
- children: "Cart Owners"
345
- }),
346
- /* @__PURE__ */ T("div", {
347
- className: "text-xs text-text-secondary",
348
- children: "19.1%"
349
- })
350
- ]
351
- }),
352
- /* @__PURE__ */ E("div", {
353
- className: "text-center",
354
- children: [
355
- /* @__PURE__ */ T("div", {
356
- className: "text-2xl sm:text-3xl font-bold text-yellow-600 dark:text-yellow-400",
357
- children: L.workers.toLocaleString("en-IN")
358
- }),
359
- /* @__PURE__ */ T("div", {
360
- className: "text-sm text-text-secondary",
361
- children: "Workers"
362
- }),
363
- /* @__PURE__ */ T("div", {
364
- className: "text-xs text-text-secondary",
365
- children: "9.7%"
366
- })
367
- ]
368
- }),
369
- /* @__PURE__ */ E("div", {
370
- className: "text-center",
371
- children: [
372
- /* @__PURE__ */ T("div", {
373
- className: "text-2xl sm:text-3xl font-bold text-purple-600 dark:text-purple-400",
374
- children: L.investors.toLocaleString("en-IN")
375
- }),
376
- /* @__PURE__ */ T("div", {
377
- className: "text-sm text-text-secondary",
378
- children: "Investors"
379
- }),
380
- /* @__PURE__ */ T("div", {
381
- className: "text-xs text-text-secondary",
382
- children: "1.7%"
383
- })
384
- ]
385
- })
386
- ]
387
- }), /* @__PURE__ */ T("div", {
388
- className: "mt-4 pt-4 border-t border-border-subtle",
389
- children: /* @__PURE__ */ E("div", {
390
- className: "flex justify-between items-center",
391
- children: [/* @__PURE__ */ T("span", {
392
- className: "text-sm text-text-secondary",
393
- children: "User Growth (This Month)"
394
- }), /* @__PURE__ */ E("span", {
395
- className: "text-sm font-medium text-green-600 dark:text-green-400",
396
- children: [
397
- "+",
398
- L.growth,
399
- "%"
400
- ]
401
- })]
402
- })
403
- })]
404
- })]
405
- }),
406
- /* @__PURE__ */ E("div", {
407
- className: "mb-8",
408
- children: [/* @__PURE__ */ E("div", {
409
- className: "flex items-center justify-between mb-4",
410
- children: [/* @__PURE__ */ T("h2", {
411
- className: "text-lg font-semibold text-text-primary",
412
- children: "Recent Platform Activity"
413
- }), /* @__PURE__ */ E("button", {
414
- type: "button",
415
- onClick: () => A("/admin/analytics"),
416
- className: "flex items-center gap-1 text-sm font-medium text-text-secondary hover:text-text-primary transition-colors",
417
- children: ["View all activities", /* @__PURE__ */ T(c, { className: "h-4 w-4" })]
418
- })]
419
- }), /* @__PURE__ */ T("div", {
420
- className: "rounded-lg border border-border-subtle bg-bg-surface divide-y divide-border",
421
- children: F.map((e) => /* @__PURE__ */ E("div", {
422
- className: "flex items-start gap-3 px-4 py-3",
423
- children: [/* @__PURE__ */ T("div", {
424
- className: t("flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-bg-sunken mt-0.5", H(e.type)),
425
- children: V(e.type)
426
- }), /* @__PURE__ */ E("div", {
427
- className: "flex-1 min-w-0",
428
- children: [/* @__PURE__ */ E("div", {
429
- className: "flex flex-col sm:flex-row sm:items-center justify-between gap-2",
430
- children: [/* @__PURE__ */ T("p", {
431
- className: "text-sm font-medium text-text-primary",
432
- children: e.description
433
- }), /* @__PURE__ */ T("span", {
434
- className: t("inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium capitalize w-fit", U(e.status)),
435
- children: e.status
436
- })]
437
- }), /* @__PURE__ */ E("div", {
438
- className: "flex flex-wrap items-center mt-1 text-xs text-text-secondary gap-3",
439
- children: [
440
- /* @__PURE__ */ T("span", { children: e.timestamp }),
441
- e.user && /* @__PURE__ */ E("span", {
442
- className: "flex items-center gap-1",
443
- children: [/* @__PURE__ */ T(C, { className: "h-3 w-3" }), e.user]
444
- }),
445
- e.amount && /* @__PURE__ */ E("span", {
446
- className: "flex items-center gap-1",
447
- children: [
448
- /* @__PURE__ */ T(h, { className: "h-3 w-3" }),
449
- "₹",
450
- e.amount.toLocaleString("en-IN")
451
- ]
452
- })
453
- ]
454
- })]
455
- })]
456
- }, e.id))
457
- })]
458
- }),
459
- /* @__PURE__ */ E("div", {
460
- className: "grid grid-cols-1 lg:grid-cols-2 gap-6 mb-8",
461
- children: [/* @__PURE__ */ E("div", {
462
- className: "rounded-lg border border-border-subtle bg-bg-surface p-6",
463
- children: [/* @__PURE__ */ E("div", {
464
- className: "flex items-center gap-2 mb-4",
465
- children: [/* @__PURE__ */ T(y, { className: "h-5 w-5 text-text-secondary" }), /* @__PURE__ */ T("h3", {
466
- className: "text-lg font-semibold text-text-primary",
467
- children: "System Health"
468
- })]
469
- }), /* @__PURE__ */ E("div", {
470
- className: "space-y-4",
471
- children: [
472
- /* @__PURE__ */ E("div", {
473
- className: "flex items-center justify-between",
474
- children: [/* @__PURE__ */ E("div", {
475
- className: "flex items-center gap-3",
476
- children: [/* @__PURE__ */ T(_, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ T("span", {
477
- className: "text-sm text-text-secondary",
478
- children: "Server Status"
479
- })]
480
- }), /* @__PURE__ */ E("span", {
481
- className: "inline-flex items-center gap-1.5 rounded-full bg-green-500/20 px-3 py-1 text-xs font-medium text-green-600 dark:text-green-400",
482
- children: [/* @__PURE__ */ T(u, { className: "h-3 w-3" }), "Healthy"]
483
- })]
484
- }),
485
- /* @__PURE__ */ E("div", {
486
- className: "flex items-center justify-between",
487
- children: [/* @__PURE__ */ E("div", {
488
- className: "flex items-center gap-3",
489
- children: [/* @__PURE__ */ T(p, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ T("span", {
490
- className: "text-sm text-text-secondary",
491
- children: "Database Performance"
492
- })]
493
- }), /* @__PURE__ */ E("span", {
494
- className: "inline-flex items-center gap-1.5 rounded-full bg-green-500/20 px-3 py-1 text-xs font-medium text-green-600 dark:text-green-400",
495
- children: [/* @__PURE__ */ T(u, { className: "h-3 w-3" }), "Optimal"]
496
- })]
497
- }),
498
- /* @__PURE__ */ E("div", {
499
- className: "flex items-center justify-between",
500
- children: [/* @__PURE__ */ E("div", {
501
- className: "flex items-center gap-3",
502
- children: [/* @__PURE__ */ T(f, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ T("span", {
503
- className: "text-sm text-text-secondary",
504
- children: "Payment Gateway"
505
- })]
506
- }), /* @__PURE__ */ E("span", {
507
- className: "inline-flex items-center gap-1.5 rounded-full bg-green-500/20 px-3 py-1 text-xs font-medium text-green-600 dark:text-green-400",
508
- children: [/* @__PURE__ */ T(u, { className: "h-3 w-3" }), "Online"]
509
- })]
510
- }),
511
- /* @__PURE__ */ E("div", {
512
- className: "flex items-center justify-between",
513
- children: [/* @__PURE__ */ E("div", {
514
- className: "flex items-center gap-3",
515
- children: [/* @__PURE__ */ T(w, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ T("span", {
516
- className: "text-sm text-text-secondary",
517
- children: "API Response Time"
518
- })]
519
- }), /* @__PURE__ */ T("span", {
520
- className: "text-sm font-medium text-text-primary",
521
- children: "145ms"
522
- })]
523
- }),
524
- /* @__PURE__ */ E("div", {
525
- className: "flex items-center justify-between",
526
- children: [/* @__PURE__ */ E("div", {
527
- className: "flex items-center gap-3",
528
- children: [/* @__PURE__ */ T(d, { className: "h-4 w-4 text-text-secondary" }), /* @__PURE__ */ T("span", {
529
- className: "text-sm text-text-secondary",
530
- children: "Uptime (30 days)"
531
- })]
532
- }), /* @__PURE__ */ T("span", {
533
- className: "text-sm font-medium text-text-primary",
534
- children: "99.8%"
535
- })]
536
- })
537
- ]
538
- })]
539
- }), /* @__PURE__ */ E("div", {
540
- className: "rounded-lg border border-border-subtle bg-bg-surface p-6",
541
- children: [/* @__PURE__ */ E("div", {
542
- className: "flex items-center gap-2 mb-4",
543
- children: [/* @__PURE__ */ T(h, { className: "h-5 w-5 text-text-secondary" }), /* @__PURE__ */ T("h3", {
544
- className: "text-lg font-semibold text-text-primary",
545
- children: "Financial Overview"
546
- })]
547
- }), /* @__PURE__ */ E("div", {
548
- className: "space-y-3",
549
- children: [
550
- /* @__PURE__ */ E("div", {
551
- className: "flex justify-between",
552
- children: [/* @__PURE__ */ T("span", {
553
- className: "text-sm text-text-secondary",
554
- children: "Today's Revenue"
555
- }), /* @__PURE__ */ T("span", {
556
- className: "font-medium text-text-primary",
557
- children: "₹1,45,230"
558
- })]
559
- }),
560
- /* @__PURE__ */ E("div", {
561
- className: "flex justify-between",
562
- children: [/* @__PURE__ */ T("span", {
563
- className: "text-sm text-text-secondary",
564
- children: "This Month"
565
- }), /* @__PURE__ */ T("span", {
566
- className: "font-medium text-text-primary",
567
- children: "₹24,50,000"
568
- })]
569
- }),
570
- /* @__PURE__ */ E("div", {
571
- className: "flex justify-between",
572
- children: [/* @__PURE__ */ T("span", {
573
- className: "text-sm text-text-secondary",
574
- children: "Platform Commission"
575
- }), /* @__PURE__ */ T("span", {
576
- className: "font-medium text-text-primary",
577
- children: "₹1,22,500"
578
- })]
579
- }),
580
- /* @__PURE__ */ E("div", {
581
- className: "flex justify-between",
582
- children: [/* @__PURE__ */ T("span", {
583
- className: "text-sm text-text-secondary",
584
- children: "Active Investments"
585
- }), /* @__PURE__ */ T("span", {
586
- className: "font-medium text-text-primary",
587
- children: "₹1.52Cr"
588
- })]
589
- }),
590
- /* @__PURE__ */ E("div", {
591
- className: "flex justify-between",
592
- children: [/* @__PURE__ */ T("span", {
593
- className: "text-sm text-text-secondary",
594
- children: "Pending Payouts"
595
- }), /* @__PURE__ */ T("span", {
596
- className: "font-medium text-text-primary",
597
- children: "₹45,600"
598
- })]
599
- })
600
- ]
601
- })]
602
- })]
603
- }),
604
- /* @__PURE__ */ T("div", {
605
- className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4",
606
- children: [
607
- {
608
- icon: x,
609
- label: "Cart Management",
610
- desc: "Approve, manage, and monitor carts",
611
- path: "/admin/carts"
612
- },
613
- {
614
- icon: C,
615
- label: "User Management",
616
- desc: "Manage users and permissions",
617
- path: "/admin/users"
618
- },
619
- {
620
- icon: l,
621
- label: "Analytics & Reports",
622
- desc: "View detailed platform analytics",
623
- path: "/admin/analytics"
624
- },
625
- {
626
- icon: h,
627
- label: "Financial Analytics",
628
- desc: "View revenue, investments, and financial metrics",
629
- path: "/admin/financial"
630
- },
631
- {
632
- icon: s,
633
- label: "Order & Dispute Management",
634
- desc: "Handle orders, disputes, and customer issues",
635
- path: "/admin/orders"
636
- },
637
- {
638
- icon: v,
639
- label: "Platform Settings",
640
- desc: "Configure platform-wide settings",
641
- path: "/admin/settings"
642
- }
643
- ].map((e) => {
644
- let n = e.icon;
645
- return /* @__PURE__ */ E("button", {
646
- type: "button",
647
- onClick: () => A(e.path),
648
- className: t("flex items-center gap-4 rounded-lg border border-border-subtle bg-bg-surface p-4 sm:p-6 text-left shadow-sm transition-all", "hover:bg-accent hover:shadow-md"),
649
- children: [/* @__PURE__ */ T("div", {
650
- className: "flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-bg-sunken text-text-secondary",
651
- children: /* @__PURE__ */ T(n, { className: "h-5 w-5" })
652
- }), /* @__PURE__ */ E("div", {
653
- className: "min-w-0",
654
- children: [/* @__PURE__ */ T("h3", {
655
- className: "font-semibold text-text-primary text-sm sm:text-base",
656
- children: e.label
657
- }), /* @__PURE__ */ T("p", {
658
- className: "text-xs sm:text-sm text-text-secondary",
659
- children: e.desc
660
- })]
661
- })]
662
- }, e.label);
663
- })
664
- })
665
- ]
666
- });
667
- }
668
- //#endregion
669
- export { A as AdminDashboard };
670
-
671
- //# sourceMappingURL=AdminDashboard.js.map