@burdenoff/microfe-adaptercloud 2026.624.1 → 2026.625.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adaptercloud/components/EmptyState.js +17 -21
- package/dist/adaptercloud/components/EmptyState.js.map +1 -1
- package/dist/adaptercloud/components/InvestmentCard.js +25 -23
- package/dist/adaptercloud/components/InvestmentCard.js.map +1 -1
- package/dist/adaptercloud/components/MetricsCard.js +18 -12
- package/dist/adaptercloud/components/MetricsCard.js.map +1 -1
- package/dist/adaptercloud/components/PageLayout.js +45 -19
- package/dist/adaptercloud/components/PageLayout.js.map +1 -1
- package/dist/adaptercloud/components/RatingDisplay.js +3 -3
- package/dist/adaptercloud/components/RatingDisplay.js.map +1 -1
- package/dist/adaptercloud/components/StatusBadge.js +36 -16
- package/dist/adaptercloud/components/StatusBadge.js.map +1 -1
- package/dist/adaptercloud/pages/HomePage.js +244 -231
- package/dist/adaptercloud/pages/HomePage.js.map +1 -1
- package/dist/adaptercloud/pages/admin/AdminAnalyticsPage.js +121 -113
- package/dist/adaptercloud/pages/admin/AdminAnalyticsPage.js.map +1 -1
- package/dist/adaptercloud/pages/admin/AdminDashboard.js +102 -76
- package/dist/adaptercloud/pages/admin/AdminDashboard.js.map +1 -1
- package/dist/adaptercloud/pages/admin/AdminFinancialPage.js +70 -65
- package/dist/adaptercloud/pages/admin/AdminFinancialPage.js.map +1 -1
- package/dist/adaptercloud/pages/admin/AdminOrdersPage.js +108 -103
- package/dist/adaptercloud/pages/admin/AdminOrdersPage.js.map +1 -1
- package/dist/adaptercloud/pages/admin/AdminProfilePage.js +61 -59
- package/dist/adaptercloud/pages/admin/AdminProfilePage.js.map +1 -1
- package/dist/adaptercloud/pages/admin/AdminSettingsPage.js +119 -105
- package/dist/adaptercloud/pages/admin/AdminSettingsPage.js.map +1 -1
- package/dist/adaptercloud/pages/admin/CartManagementPage.js +165 -160
- package/dist/adaptercloud/pages/admin/CartManagementPage.js.map +1 -1
- package/dist/adaptercloud/pages/admin/UserManagementPage.js +174 -169
- package/dist/adaptercloud/pages/admin/UserManagementPage.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/AnalyticsDashboard.js +103 -97
- package/dist/adaptercloud/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/BusinessSettingsPage.js +186 -172
- package/dist/adaptercloud/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/CartOwnerDashboard.js +109 -81
- package/dist/adaptercloud/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/CartOwnerProfilePage.js +111 -109
- package/dist/adaptercloud/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/CartServiceConfigPage.js +127 -124
- package/dist/adaptercloud/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/InventoryManagementPage.js +310 -316
- package/dist/adaptercloud/pages/cart-owner/InventoryManagementPage.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/OrderManagementPage.js +251 -257
- package/dist/adaptercloud/pages/cart-owner/OrderManagementPage.js.map +1 -1
- package/dist/adaptercloud/pages/cart-owner/StaffManagementPage.js +142 -148
- package/dist/adaptercloud/pages/cart-owner/StaffManagementPage.js.map +1 -1
- package/dist/adaptercloud/pages/common/HelpSupportPage.js +287 -283
- package/dist/adaptercloud/pages/common/HelpSupportPage.js.map +1 -1
- package/dist/adaptercloud/pages/common/NotificationCenterPage.js +120 -114
- package/dist/adaptercloud/pages/common/NotificationCenterPage.js.map +1 -1
- package/dist/adaptercloud/pages/common/SettingsPage.js +754 -736
- package/dist/adaptercloud/pages/common/SettingsPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/BookingDetailsPage.js +83 -80
- package/dist/adaptercloud/pages/customer/BookingDetailsPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/CartDetailPage.js +120 -117
- package/dist/adaptercloud/pages/customer/CartDetailPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/CartDiscoveryPage.js +231 -226
- package/dist/adaptercloud/pages/customer/CartDiscoveryPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/CheckoutPage.js +97 -95
- package/dist/adaptercloud/pages/customer/CheckoutPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/CustomerDashboard.js +418 -389
- package/dist/adaptercloud/pages/customer/CustomerDashboard.js.map +1 -1
- package/dist/adaptercloud/pages/customer/CustomerProfilePage.js +134 -132
- package/dist/adaptercloud/pages/customer/CustomerProfilePage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/DirectServiceBookingPage.js +108 -102
- package/dist/adaptercloud/pages/customer/DirectServiceBookingPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/FavoritesPage.js +62 -59
- package/dist/adaptercloud/pages/customer/FavoritesPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/OrderHistoryPage.js +117 -111
- package/dist/adaptercloud/pages/customer/OrderHistoryPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/OrderTrackingPage.js +71 -68
- package/dist/adaptercloud/pages/customer/OrderTrackingPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/PaymentMethodsPage.js +97 -81
- package/dist/adaptercloud/pages/customer/PaymentMethodsPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/ReviewsPage.js +83 -80
- package/dist/adaptercloud/pages/customer/ReviewsPage.js.map +1 -1
- package/dist/adaptercloud/pages/customer/SavedAddressesPage.js +82 -66
- package/dist/adaptercloud/pages/customer/SavedAddressesPage.js.map +1 -1
- package/dist/adaptercloud/pages/investor/InvestmentDetailsPage.js +93 -91
- package/dist/adaptercloud/pages/investor/InvestmentDetailsPage.js.map +1 -1
- package/dist/adaptercloud/pages/investor/InvestmentOpportunitiesPage.js +100 -97
- package/dist/adaptercloud/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
- package/dist/adaptercloud/pages/investor/InvestorAnalyticsPage.js +83 -81
- package/dist/adaptercloud/pages/investor/InvestorAnalyticsPage.js.map +1 -1
- package/dist/adaptercloud/pages/investor/InvestorDashboard.js +344 -311
- package/dist/adaptercloud/pages/investor/InvestorDashboard.js.map +1 -1
- package/dist/adaptercloud/pages/investor/InvestorInvestmentsPage.js +43 -40
- package/dist/adaptercloud/pages/investor/InvestorInvestmentsPage.js.map +1 -1
- package/dist/adaptercloud/pages/investor/InvestorPortfolioPage.js +59 -57
- package/dist/adaptercloud/pages/investor/InvestorPortfolioPage.js.map +1 -1
- package/dist/adaptercloud/pages/investor/InvestorProfilePage.js +394 -392
- package/dist/adaptercloud/pages/investor/InvestorProfilePage.js.map +1 -1
- package/dist/adaptercloud/pages/worker/TaskDetailsPage.js +354 -324
- package/dist/adaptercloud/pages/worker/TaskDetailsPage.js.map +1 -1
- package/dist/adaptercloud/pages/worker/WorkerDashboard.js +122 -97
- package/dist/adaptercloud/pages/worker/WorkerDashboard.js.map +1 -1
- package/dist/adaptercloud/pages/worker/WorkerOrdersPage.js +107 -104
- package/dist/adaptercloud/pages/worker/WorkerOrdersPage.js.map +1 -1
- package/dist/adaptercloud/pages/worker/WorkerProfilePage.js +109 -107
- package/dist/adaptercloud/pages/worker/WorkerProfilePage.js.map +1 -1
- package/dist/adaptercloud/pages/worker/WorkerSchedulePage.js +94 -90
- package/dist/adaptercloud/pages/worker/WorkerSchedulePage.js.map +1 -1
- package/package.json +3 -3
|
@@ -5,12 +5,13 @@ import { MetricsCard as r } from "../../components/MetricsCard.js";
|
|
|
5
5
|
import { useEffect as i, useState as a } from "react";
|
|
6
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
7
|
import { jsx as T, jsxs as E } from "react/jsx-runtime";
|
|
8
|
+
import { EmphasisPanel as D, NextSteps as O } from "@burdenoff/fe-libs/ui";
|
|
8
9
|
//#region src/adaptercloud/pages/admin/AdminDashboard.tsx
|
|
9
|
-
function
|
|
10
|
-
let { navigateTo:
|
|
10
|
+
function k() {
|
|
11
|
+
let { navigateTo: k, currentUser: A } = e(), j = A?.firstName ?? A?.name ?? "Admin", [M, N] = a(null), [P, F] = a([]), [I, L] = a(null), [R, z] = a(!0);
|
|
11
12
|
i(() => {
|
|
12
13
|
let e = setTimeout(() => {
|
|
13
|
-
|
|
14
|
+
N({
|
|
14
15
|
totalUsers: 12847,
|
|
15
16
|
totalCarts: 2934,
|
|
16
17
|
totalOrders: 45621,
|
|
@@ -19,13 +20,13 @@ function D() {
|
|
|
19
20
|
pendingApprovals: 47,
|
|
20
21
|
totalRevenue: 245e4,
|
|
21
22
|
platformCommission: 122500
|
|
22
|
-
}),
|
|
23
|
+
}), L({
|
|
23
24
|
customers: 8934,
|
|
24
25
|
cartOwners: 2456,
|
|
25
26
|
workers: 1245,
|
|
26
27
|
investors: 212,
|
|
27
28
|
growth: 15.7
|
|
28
|
-
}),
|
|
29
|
+
}), F([
|
|
29
30
|
{
|
|
30
31
|
id: "ACT-001",
|
|
31
32
|
type: "user_registration",
|
|
@@ -76,28 +77,28 @@ function D() {
|
|
|
76
77
|
status: "completed",
|
|
77
78
|
user: "Fatima Ali"
|
|
78
79
|
}
|
|
79
|
-
]),
|
|
80
|
+
]), z(!1);
|
|
80
81
|
}, 1e3);
|
|
81
82
|
return () => clearTimeout(e);
|
|
82
83
|
}, []);
|
|
83
|
-
let
|
|
84
|
+
let B = (e) => /* @__PURE__ */ T({
|
|
84
85
|
user_registration: S,
|
|
85
86
|
cart_approval: x,
|
|
86
87
|
investment: h,
|
|
87
88
|
order: b,
|
|
88
89
|
dispute: s
|
|
89
|
-
}[e] ?? o, { className: "h-4 w-4" }),
|
|
90
|
-
user_registration: "text-
|
|
91
|
-
cart_approval: "text-
|
|
92
|
-
investment: "text-
|
|
93
|
-
order: "text-
|
|
94
|
-
dispute: "text-
|
|
95
|
-
})[e] ?? "text-text-secondary",
|
|
96
|
-
completed: "bg-
|
|
97
|
-
pending: "bg-
|
|
98
|
-
failed: "bg-
|
|
90
|
+
}[e] ?? o, { className: "h-4 w-4" }), V = (e) => ({
|
|
91
|
+
user_registration: "text-accent-blue",
|
|
92
|
+
cart_approval: "text-accent-purple",
|
|
93
|
+
investment: "text-status-success-text",
|
|
94
|
+
order: "text-status-success-text",
|
|
95
|
+
dispute: "text-status-warning-text"
|
|
96
|
+
})[e] ?? "text-text-secondary", H = (e) => ({
|
|
97
|
+
completed: "bg-status-success-bg-subtle/20 text-status-success-text",
|
|
98
|
+
pending: "bg-status-warning-bg-subtle/20 text-status-warning-text",
|
|
99
|
+
failed: "bg-status-error-bg-subtle/20 text-status-error-text"
|
|
99
100
|
})[e] ?? "bg-secondary text-secondary-foreground";
|
|
100
|
-
return
|
|
101
|
+
return R ? /* @__PURE__ */ T(n, {
|
|
101
102
|
title: "Admin Dashboard",
|
|
102
103
|
description: "Loading...",
|
|
103
104
|
children: /* @__PURE__ */ E("div", {
|
|
@@ -109,12 +110,13 @@ function D() {
|
|
|
109
110
|
})
|
|
110
111
|
}) : /* @__PURE__ */ E(n, {
|
|
111
112
|
title: "Admin Dashboard",
|
|
112
|
-
description: `Welcome, ${
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
113
|
+
description: `Welcome, ${j}! Monitor and manage the platform.`,
|
|
114
|
+
purpose: "Your command center for the whole marketplace — review platform health at a glance, clear pending cart approvals, and jump into user, order, and financial management. Start here whenever you need to keep the platform running smoothly.",
|
|
115
|
+
actions: M?.pendingApprovals && M.pendingApprovals > 0 ? /* @__PURE__ */ E("div", {
|
|
116
|
+
className: "flex items-center gap-2 rounded-lg border border-status-error-border/30 bg-status-error-bg-subtle/10 px-3 py-2",
|
|
117
|
+
children: [/* @__PURE__ */ T(s, { className: "h-4 w-4 text-status-error-text" }), /* @__PURE__ */ E("span", {
|
|
118
|
+
className: "text-sm font-medium text-status-error-text",
|
|
119
|
+
children: [M.pendingApprovals, " pending approvals"]
|
|
118
120
|
})]
|
|
119
121
|
}) : void 0,
|
|
120
122
|
children: [
|
|
@@ -128,61 +130,85 @@ function D() {
|
|
|
128
130
|
children: [
|
|
129
131
|
/* @__PURE__ */ E("button", {
|
|
130
132
|
type: "button",
|
|
131
|
-
onClick: () =>
|
|
132
|
-
className: "flex items-center gap-3 rounded-lg bg-
|
|
133
|
+
onClick: () => k("/admin/carts"),
|
|
134
|
+
className: "flex items-center gap-3 rounded-lg bg-status-error-bg-subtle hover:bg-status-error-bg-subtle text-white p-3 text-sm font-medium transition-colors",
|
|
133
135
|
children: [
|
|
134
136
|
/* @__PURE__ */ T(s, { className: "h-5 w-5" }),
|
|
135
137
|
"Approve Carts (",
|
|
136
|
-
|
|
138
|
+
M?.pendingApprovals,
|
|
137
139
|
")"
|
|
138
140
|
]
|
|
139
141
|
}),
|
|
140
142
|
/* @__PURE__ */ E("button", {
|
|
141
143
|
type: "button",
|
|
142
|
-
onClick: () =>
|
|
144
|
+
onClick: () => k("/admin/carts"),
|
|
143
145
|
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",
|
|
144
146
|
children: [/* @__PURE__ */ T(x, { className: "h-5 w-5 text-text-secondary" }), "Manage Carts"]
|
|
145
147
|
}),
|
|
146
148
|
/* @__PURE__ */ E("button", {
|
|
147
149
|
type: "button",
|
|
148
|
-
onClick: () =>
|
|
150
|
+
onClick: () => k("/admin/users"),
|
|
149
151
|
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",
|
|
150
152
|
children: [/* @__PURE__ */ T(C, { className: "h-5 w-5 text-text-secondary" }), "User Management"]
|
|
151
153
|
}),
|
|
152
154
|
/* @__PURE__ */ E("button", {
|
|
153
155
|
type: "button",
|
|
154
|
-
onClick: () =>
|
|
156
|
+
onClick: () => k("/admin/orders"),
|
|
155
157
|
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",
|
|
156
158
|
children: [/* @__PURE__ */ T(b, { className: "h-5 w-5 text-text-secondary" }), "Order Management"]
|
|
157
159
|
}),
|
|
158
160
|
/* @__PURE__ */ E("button", {
|
|
159
161
|
type: "button",
|
|
160
|
-
onClick: () =>
|
|
162
|
+
onClick: () => k("/admin/financial"),
|
|
161
163
|
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",
|
|
162
164
|
children: [/* @__PURE__ */ T(h, { className: "h-5 w-5 text-text-secondary" }), "Financial Analytics"]
|
|
163
165
|
}),
|
|
164
166
|
/* @__PURE__ */ E("button", {
|
|
165
167
|
type: "button",
|
|
166
|
-
onClick: () =>
|
|
168
|
+
onClick: () => k("/admin/analytics"),
|
|
167
169
|
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",
|
|
168
170
|
children: [/* @__PURE__ */ T(l, { className: "h-5 w-5 text-text-secondary" }), "Analytics"]
|
|
169
171
|
}),
|
|
170
172
|
/* @__PURE__ */ E("button", {
|
|
171
173
|
type: "button",
|
|
172
|
-
onClick: () =>
|
|
174
|
+
onClick: () => k("/admin/settings"),
|
|
173
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",
|
|
174
176
|
children: [/* @__PURE__ */ T(v, { className: "h-5 w-5 text-text-secondary" }), "Settings"]
|
|
175
177
|
}),
|
|
176
178
|
/* @__PURE__ */ E("button", {
|
|
177
179
|
type: "button",
|
|
178
|
-
onClick: () =>
|
|
180
|
+
onClick: () => k("/admin/analytics"),
|
|
179
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",
|
|
180
182
|
children: [/* @__PURE__ */ T(m, { className: "h-5 w-5 text-text-secondary" }), "Reports"]
|
|
181
183
|
})
|
|
182
184
|
]
|
|
183
185
|
})]
|
|
184
186
|
}),
|
|
185
|
-
|
|
187
|
+
/* @__PURE__ */ T(O, {
|
|
188
|
+
storageKey: "adaptercloud-admin-dashboard",
|
|
189
|
+
className: "mb-8",
|
|
190
|
+
steps: [
|
|
191
|
+
{
|
|
192
|
+
id: "approve-carts",
|
|
193
|
+
label: "Review pending cart approvals",
|
|
194
|
+
description: "Keep the marketplace clean by approving or rejecting new carts.",
|
|
195
|
+
onClick: () => k("/admin/carts")
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
id: "manage-users",
|
|
199
|
+
label: "Manage users and roles",
|
|
200
|
+
description: "Verify, suspend, or activate accounts across the platform.",
|
|
201
|
+
onClick: () => k("/admin/users")
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
id: "check-finances",
|
|
205
|
+
label: "Check financial analytics",
|
|
206
|
+
description: "Track revenue, commission, and payouts.",
|
|
207
|
+
onClick: () => k("/admin/financial")
|
|
208
|
+
}
|
|
209
|
+
]
|
|
210
|
+
}),
|
|
211
|
+
M && /* @__PURE__ */ E(D, {
|
|
186
212
|
className: "mb-8",
|
|
187
213
|
children: [
|
|
188
214
|
/* @__PURE__ */ T("h2", {
|
|
@@ -194,28 +220,28 @@ function D() {
|
|
|
194
220
|
children: [
|
|
195
221
|
/* @__PURE__ */ T(r, {
|
|
196
222
|
icon: /* @__PURE__ */ T(C, { className: "h-5 w-5" }),
|
|
197
|
-
value:
|
|
223
|
+
value: M.totalUsers.toLocaleString("en-IN"),
|
|
198
224
|
label: "Total Users",
|
|
199
225
|
trend: "up",
|
|
200
226
|
trendValue: "+15.7%"
|
|
201
227
|
}),
|
|
202
228
|
/* @__PURE__ */ T(r, {
|
|
203
229
|
icon: /* @__PURE__ */ T(x, { className: "h-5 w-5" }),
|
|
204
|
-
value:
|
|
230
|
+
value: M.totalCarts.toLocaleString("en-IN"),
|
|
205
231
|
label: "Active Carts",
|
|
206
232
|
trend: "up",
|
|
207
233
|
trendValue: "+8 this week"
|
|
208
234
|
}),
|
|
209
235
|
/* @__PURE__ */ T(r, {
|
|
210
236
|
icon: /* @__PURE__ */ T(b, { className: "h-5 w-5" }),
|
|
211
|
-
value:
|
|
237
|
+
value: M.totalOrders.toLocaleString("en-IN"),
|
|
212
238
|
label: "Total Orders",
|
|
213
239
|
trend: "up",
|
|
214
240
|
trendValue: "+12.3%"
|
|
215
241
|
}),
|
|
216
242
|
/* @__PURE__ */ T(r, {
|
|
217
243
|
icon: /* @__PURE__ */ T(h, { className: "h-5 w-5" }),
|
|
218
|
-
value: `₹${(
|
|
244
|
+
value: `₹${(M.totalRevenue / 1e5).toFixed(1)}L`,
|
|
219
245
|
label: "Total Revenue",
|
|
220
246
|
trend: "up",
|
|
221
247
|
trendValue: "+8.5%"
|
|
@@ -226,45 +252,45 @@ function D() {
|
|
|
226
252
|
className: "grid grid-cols-2 lg:grid-cols-4 gap-4 mt-4",
|
|
227
253
|
children: [
|
|
228
254
|
/* @__PURE__ */ E("div", {
|
|
229
|
-
className: "rounded-lg border border-border-
|
|
255
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-4 bg-gloss-card shadow-pop",
|
|
230
256
|
children: [/* @__PURE__ */ T("p", {
|
|
231
257
|
className: "text-xs text-text-secondary",
|
|
232
258
|
children: "Active Users (24h)"
|
|
233
259
|
}), /* @__PURE__ */ T("p", {
|
|
234
|
-
className: "text-xl font-bold text-
|
|
235
|
-
children:
|
|
260
|
+
className: "text-xl font-bold text-status-success-text",
|
|
261
|
+
children: M.activeUsers.toLocaleString("en-IN")
|
|
236
262
|
})]
|
|
237
263
|
}),
|
|
238
264
|
/* @__PURE__ */ E("div", {
|
|
239
|
-
className: "rounded-lg border border-border-
|
|
265
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-4 bg-gloss-card shadow-pop",
|
|
240
266
|
children: [/* @__PURE__ */ T("p", {
|
|
241
267
|
className: "text-xs text-text-secondary",
|
|
242
268
|
children: "Pending Approvals"
|
|
243
269
|
}), /* @__PURE__ */ T("p", {
|
|
244
|
-
className: "text-xl font-bold text-
|
|
245
|
-
children:
|
|
270
|
+
className: "text-xl font-bold text-status-error-text",
|
|
271
|
+
children: M.pendingApprovals
|
|
246
272
|
})]
|
|
247
273
|
}),
|
|
248
274
|
/* @__PURE__ */ E("div", {
|
|
249
|
-
className: "rounded-lg border border-border-
|
|
275
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-4 bg-gloss-card shadow-pop",
|
|
250
276
|
children: [/* @__PURE__ */ T("p", {
|
|
251
277
|
className: "text-xs text-text-secondary",
|
|
252
278
|
children: "Total Investments"
|
|
253
279
|
}), /* @__PURE__ */ T("p", {
|
|
254
|
-
className: "text-xl font-bold text-
|
|
255
|
-
children:
|
|
280
|
+
className: "text-xl font-bold text-accent-blue",
|
|
281
|
+
children: M.totalInvestments.toLocaleString("en-IN")
|
|
256
282
|
})]
|
|
257
283
|
}),
|
|
258
284
|
/* @__PURE__ */ E("div", {
|
|
259
|
-
className: "rounded-lg border border-border-
|
|
285
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-4 bg-gloss-card shadow-pop",
|
|
260
286
|
children: [/* @__PURE__ */ T("p", {
|
|
261
287
|
className: "text-xs text-text-secondary",
|
|
262
288
|
children: "Platform Commission"
|
|
263
289
|
}), /* @__PURE__ */ E("p", {
|
|
264
|
-
className: "text-xl font-bold text-
|
|
290
|
+
className: "text-xl font-bold text-accent-purple",
|
|
265
291
|
children: [
|
|
266
292
|
"₹",
|
|
267
|
-
(
|
|
293
|
+
(M.platformCommission / 1e3).toFixed(0),
|
|
268
294
|
"K"
|
|
269
295
|
]
|
|
270
296
|
})]
|
|
@@ -273,13 +299,13 @@ function D() {
|
|
|
273
299
|
})
|
|
274
300
|
]
|
|
275
301
|
}),
|
|
276
|
-
|
|
302
|
+
I && /* @__PURE__ */ E("div", {
|
|
277
303
|
className: "mb-8",
|
|
278
304
|
children: [/* @__PURE__ */ T("h2", {
|
|
279
305
|
className: "text-lg font-semibold text-text-primary mb-4",
|
|
280
306
|
children: "User Distribution"
|
|
281
307
|
}), /* @__PURE__ */ E("div", {
|
|
282
|
-
className: "rounded-lg border border-border-
|
|
308
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-6 bg-gloss-card shadow-pop",
|
|
283
309
|
children: [/* @__PURE__ */ E("div", {
|
|
284
310
|
className: "grid grid-cols-2 lg:grid-cols-4 gap-6",
|
|
285
311
|
children: [
|
|
@@ -287,8 +313,8 @@ function D() {
|
|
|
287
313
|
className: "text-center",
|
|
288
314
|
children: [
|
|
289
315
|
/* @__PURE__ */ T("div", {
|
|
290
|
-
className: "text-2xl sm:text-3xl font-bold text-
|
|
291
|
-
children:
|
|
316
|
+
className: "text-2xl sm:text-3xl font-bold text-accent-blue",
|
|
317
|
+
children: I.customers.toLocaleString("en-IN")
|
|
292
318
|
}),
|
|
293
319
|
/* @__PURE__ */ T("div", {
|
|
294
320
|
className: "text-sm text-text-secondary",
|
|
@@ -304,8 +330,8 @@ function D() {
|
|
|
304
330
|
className: "text-center",
|
|
305
331
|
children: [
|
|
306
332
|
/* @__PURE__ */ T("div", {
|
|
307
|
-
className: "text-2xl sm:text-3xl font-bold text-
|
|
308
|
-
children:
|
|
333
|
+
className: "text-2xl sm:text-3xl font-bold text-status-success-text",
|
|
334
|
+
children: I.cartOwners.toLocaleString("en-IN")
|
|
309
335
|
}),
|
|
310
336
|
/* @__PURE__ */ T("div", {
|
|
311
337
|
className: "text-sm text-text-secondary",
|
|
@@ -321,8 +347,8 @@ function D() {
|
|
|
321
347
|
className: "text-center",
|
|
322
348
|
children: [
|
|
323
349
|
/* @__PURE__ */ T("div", {
|
|
324
|
-
className: "text-2xl sm:text-3xl font-bold text-
|
|
325
|
-
children:
|
|
350
|
+
className: "text-2xl sm:text-3xl font-bold text-status-warning-text",
|
|
351
|
+
children: I.workers.toLocaleString("en-IN")
|
|
326
352
|
}),
|
|
327
353
|
/* @__PURE__ */ T("div", {
|
|
328
354
|
className: "text-sm text-text-secondary",
|
|
@@ -338,8 +364,8 @@ function D() {
|
|
|
338
364
|
className: "text-center",
|
|
339
365
|
children: [
|
|
340
366
|
/* @__PURE__ */ T("div", {
|
|
341
|
-
className: "text-2xl sm:text-3xl font-bold text-
|
|
342
|
-
children:
|
|
367
|
+
className: "text-2xl sm:text-3xl font-bold text-accent-purple",
|
|
368
|
+
children: I.investors.toLocaleString("en-IN")
|
|
343
369
|
}),
|
|
344
370
|
/* @__PURE__ */ T("div", {
|
|
345
371
|
className: "text-sm text-text-secondary",
|
|
@@ -360,10 +386,10 @@ function D() {
|
|
|
360
386
|
className: "text-sm text-text-secondary",
|
|
361
387
|
children: "User Growth (This Month)"
|
|
362
388
|
}), /* @__PURE__ */ E("span", {
|
|
363
|
-
className: "text-sm font-medium text-
|
|
389
|
+
className: "text-sm font-medium text-status-success-text",
|
|
364
390
|
children: [
|
|
365
391
|
"+",
|
|
366
|
-
|
|
392
|
+
I.growth,
|
|
367
393
|
"%"
|
|
368
394
|
]
|
|
369
395
|
})]
|
|
@@ -380,17 +406,17 @@ function D() {
|
|
|
380
406
|
children: "Recent Platform Activity"
|
|
381
407
|
}), /* @__PURE__ */ E("button", {
|
|
382
408
|
type: "button",
|
|
383
|
-
onClick: () =>
|
|
409
|
+
onClick: () => k("/admin/analytics"),
|
|
384
410
|
className: "flex items-center gap-1 text-sm font-medium text-text-secondary hover:text-text-primary transition-colors",
|
|
385
411
|
children: ["View all activities", /* @__PURE__ */ T(c, { className: "h-4 w-4" })]
|
|
386
412
|
})]
|
|
387
413
|
}), /* @__PURE__ */ T("div", {
|
|
388
414
|
className: "rounded-lg border border-border-subtle bg-bg-surface divide-y divide-border",
|
|
389
|
-
children:
|
|
415
|
+
children: P.map((e) => /* @__PURE__ */ E("div", {
|
|
390
416
|
className: "flex items-start gap-3 px-4 py-3",
|
|
391
417
|
children: [/* @__PURE__ */ T("div", {
|
|
392
|
-
className: t("flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-bg-sunken mt-0.5",
|
|
393
|
-
children:
|
|
418
|
+
className: t("flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-bg-sunken mt-0.5", V(e.type)),
|
|
419
|
+
children: B(e.type)
|
|
394
420
|
}), /* @__PURE__ */ E("div", {
|
|
395
421
|
className: "flex-1 min-w-0",
|
|
396
422
|
children: [/* @__PURE__ */ E("div", {
|
|
@@ -399,7 +425,7 @@ function D() {
|
|
|
399
425
|
className: "text-sm font-medium text-text-primary",
|
|
400
426
|
children: e.description
|
|
401
427
|
}), /* @__PURE__ */ T("span", {
|
|
402
|
-
className: t("inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium capitalize w-fit",
|
|
428
|
+
className: t("inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium capitalize w-fit", H(e.status)),
|
|
403
429
|
children: e.status
|
|
404
430
|
})]
|
|
405
431
|
}), /* @__PURE__ */ E("div", {
|
|
@@ -427,7 +453,7 @@ function D() {
|
|
|
427
453
|
/* @__PURE__ */ E("div", {
|
|
428
454
|
className: "grid grid-cols-1 lg:grid-cols-2 gap-6 mb-8",
|
|
429
455
|
children: [/* @__PURE__ */ E("div", {
|
|
430
|
-
className: "rounded-lg border border-border-
|
|
456
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-6 bg-gloss-card shadow-pop",
|
|
431
457
|
children: [/* @__PURE__ */ E("div", {
|
|
432
458
|
className: "flex items-center gap-2 mb-4",
|
|
433
459
|
children: [/* @__PURE__ */ T(y, { className: "h-5 w-5 text-text-secondary" }), /* @__PURE__ */ T("h3", {
|
|
@@ -446,7 +472,7 @@ function D() {
|
|
|
446
472
|
children: "Server Status"
|
|
447
473
|
})]
|
|
448
474
|
}), /* @__PURE__ */ E("span", {
|
|
449
|
-
className: "inline-flex items-center gap-1.5 rounded-full bg-
|
|
475
|
+
className: "inline-flex items-center gap-1.5 rounded-full bg-status-success-bg-subtle/20 px-3 py-1 text-xs font-medium text-status-success-text",
|
|
450
476
|
children: [/* @__PURE__ */ T(u, { className: "h-3 w-3" }), "Healthy"]
|
|
451
477
|
})]
|
|
452
478
|
}),
|
|
@@ -459,7 +485,7 @@ function D() {
|
|
|
459
485
|
children: "Database Performance"
|
|
460
486
|
})]
|
|
461
487
|
}), /* @__PURE__ */ E("span", {
|
|
462
|
-
className: "inline-flex items-center gap-1.5 rounded-full bg-
|
|
488
|
+
className: "inline-flex items-center gap-1.5 rounded-full bg-status-success-bg-subtle/20 px-3 py-1 text-xs font-medium text-status-success-text",
|
|
463
489
|
children: [/* @__PURE__ */ T(u, { className: "h-3 w-3" }), "Optimal"]
|
|
464
490
|
})]
|
|
465
491
|
}),
|
|
@@ -472,7 +498,7 @@ function D() {
|
|
|
472
498
|
children: "Payment Gateway"
|
|
473
499
|
})]
|
|
474
500
|
}), /* @__PURE__ */ E("span", {
|
|
475
|
-
className: "inline-flex items-center gap-1.5 rounded-full bg-
|
|
501
|
+
className: "inline-flex items-center gap-1.5 rounded-full bg-status-success-bg-subtle/20 px-3 py-1 text-xs font-medium text-status-success-text",
|
|
476
502
|
children: [/* @__PURE__ */ T(u, { className: "h-3 w-3" }), "Online"]
|
|
477
503
|
})]
|
|
478
504
|
}),
|
|
@@ -505,7 +531,7 @@ function D() {
|
|
|
505
531
|
]
|
|
506
532
|
})]
|
|
507
533
|
}), /* @__PURE__ */ E("div", {
|
|
508
|
-
className: "rounded-lg border border-border-
|
|
534
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-6 bg-gloss-card shadow-pop",
|
|
509
535
|
children: [/* @__PURE__ */ E("div", {
|
|
510
536
|
className: "flex items-center gap-2 mb-4",
|
|
511
537
|
children: [/* @__PURE__ */ T(h, { className: "h-5 w-5 text-text-secondary" }), /* @__PURE__ */ T("h3", {
|
|
@@ -612,8 +638,8 @@ function D() {
|
|
|
612
638
|
let n = e.icon;
|
|
613
639
|
return /* @__PURE__ */ E("button", {
|
|
614
640
|
type: "button",
|
|
615
|
-
onClick: () =>
|
|
616
|
-
className: t("flex items-center gap-4 rounded-lg border border-border-
|
|
641
|
+
onClick: () => k(e.path),
|
|
642
|
+
className: t("flex items-center gap-4 rounded-lg border border-border-seam bg-bg-surface p-4 sm:p-6 text-left transition-all bg-gloss-card shadow-pop", "hover:bg-accent hover:shadow-md"),
|
|
617
643
|
children: [/* @__PURE__ */ T("div", {
|
|
618
644
|
className: "flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-bg-sunken text-text-secondary",
|
|
619
645
|
children: /* @__PURE__ */ T(n, { className: "h-5 w-5" })
|
|
@@ -634,6 +660,6 @@ function D() {
|
|
|
634
660
|
});
|
|
635
661
|
}
|
|
636
662
|
//#endregion
|
|
637
|
-
export {
|
|
663
|
+
export { k as AdminDashboard };
|
|
638
664
|
|
|
639
665
|
//# sourceMappingURL=AdminDashboard.js.map
|