@burdenoff/microfe-subscriberbot 2026.624.1 → 2026.626.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.
- package/dist/subscriberbot/components/EmptyState.js +17 -10
- package/dist/subscriberbot/components/EmptyState.js.map +1 -1
- package/dist/subscriberbot/components/InvestmentCard.js +23 -22
- package/dist/subscriberbot/components/InvestmentCard.js.map +1 -1
- package/dist/subscriberbot/components/MetricsCard.js +15 -12
- package/dist/subscriberbot/components/MetricsCard.js.map +1 -1
- package/dist/subscriberbot/components/PageLayout.js +27 -15
- package/dist/subscriberbot/components/PageLayout.js.map +1 -1
- package/dist/subscriberbot/components/RatingDisplay.js +3 -3
- package/dist/subscriberbot/components/RatingDisplay.js.map +1 -1
- package/dist/subscriberbot/components/StatusBadge.js +25 -13
- package/dist/subscriberbot/components/StatusBadge.js.map +1 -1
- package/dist/subscriberbot/context/SubscriberBotContext.js.map +1 -1
- package/dist/subscriberbot/pages/HomePage.js +72 -63
- package/dist/subscriberbot/pages/HomePage.js.map +1 -1
- package/dist/subscriberbot/pages/admin/AdminAnalyticsPage.js +106 -100
- package/dist/subscriberbot/pages/admin/AdminAnalyticsPage.js.map +1 -1
- package/dist/subscriberbot/pages/admin/AdminDashboard.js +125 -85
- package/dist/subscriberbot/pages/admin/AdminDashboard.js.map +1 -1
- package/dist/subscriberbot/pages/admin/AdminFinancialPage.js +51 -45
- package/dist/subscriberbot/pages/admin/AdminFinancialPage.js.map +1 -1
- package/dist/subscriberbot/pages/admin/AdminOrdersPage.js +246 -241
- package/dist/subscriberbot/pages/admin/AdminOrdersPage.js.map +1 -1
- package/dist/subscriberbot/pages/admin/AdminProfilePage.js +131 -129
- package/dist/subscriberbot/pages/admin/AdminProfilePage.js.map +1 -1
- package/dist/subscriberbot/pages/admin/AdminSettingsPage.js +247 -242
- package/dist/subscriberbot/pages/admin/AdminSettingsPage.js.map +1 -1
- package/dist/subscriberbot/pages/admin/CartManagementPage.js +307 -302
- package/dist/subscriberbot/pages/admin/CartManagementPage.js.map +1 -1
- package/dist/subscriberbot/pages/admin/UserManagementPage.js +308 -303
- package/dist/subscriberbot/pages/admin/UserManagementPage.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/AnalyticsDashboard.js +89 -84
- package/dist/subscriberbot/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/BusinessSettingsPage.js +269 -264
- package/dist/subscriberbot/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/CartOwnerDashboard.js +269 -227
- package/dist/subscriberbot/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/CartOwnerProfilePage.js +191 -186
- package/dist/subscriberbot/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/CartServiceConfigPage.js +168 -166
- package/dist/subscriberbot/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/InventoryManagementPage.js +344 -347
- package/dist/subscriberbot/pages/cart-owner/InventoryManagementPage.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/OrderManagementPage.js +270 -272
- package/dist/subscriberbot/pages/cart-owner/OrderManagementPage.js.map +1 -1
- package/dist/subscriberbot/pages/cart-owner/StaffManagementPage.js +294 -289
- package/dist/subscriberbot/pages/cart-owner/StaffManagementPage.js.map +1 -1
- package/dist/subscriberbot/pages/common/HelpSupportPage.js +156 -158
- package/dist/subscriberbot/pages/common/HelpSupportPage.js.map +1 -1
- package/dist/subscriberbot/pages/common/NotificationCenterPage.js +94 -87
- package/dist/subscriberbot/pages/common/NotificationCenterPage.js.map +1 -1
- package/dist/subscriberbot/pages/common/SettingsPage.js +749 -740
- package/dist/subscriberbot/pages/common/SettingsPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/BookingDetailsPage.js +357 -324
- package/dist/subscriberbot/pages/customer/BookingDetailsPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/CartDetailPage.js +281 -247
- package/dist/subscriberbot/pages/customer/CartDetailPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/CartDiscoveryPage.js +106 -98
- package/dist/subscriberbot/pages/customer/CartDiscoveryPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/CheckoutPage.js +235 -238
- package/dist/subscriberbot/pages/customer/CheckoutPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/CustomerDashboard.js +426 -390
- package/dist/subscriberbot/pages/customer/CustomerDashboard.js.map +1 -1
- package/dist/subscriberbot/pages/customer/CustomerProfilePage.js +488 -479
- package/dist/subscriberbot/pages/customer/CustomerProfilePage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/DirectServiceBookingPage.js +522 -512
- package/dist/subscriberbot/pages/customer/DirectServiceBookingPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/FavoritesPage.js +73 -66
- package/dist/subscriberbot/pages/customer/FavoritesPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/OrderHistoryPage.js +75 -67
- package/dist/subscriberbot/pages/customer/OrderHistoryPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/OrderTrackingPage.js +82 -76
- package/dist/subscriberbot/pages/customer/OrderTrackingPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/PaymentMethodsPage.js +100 -93
- package/dist/subscriberbot/pages/customer/PaymentMethodsPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/ReviewsPage.js +97 -90
- package/dist/subscriberbot/pages/customer/ReviewsPage.js.map +1 -1
- package/dist/subscriberbot/pages/customer/SavedAddressesPage.js +86 -79
- package/dist/subscriberbot/pages/customer/SavedAddressesPage.js.map +1 -1
- package/dist/subscriberbot/pages/investor/InvestmentDetailsPage.js +330 -293
- package/dist/subscriberbot/pages/investor/InvestmentDetailsPage.js.map +1 -1
- package/dist/subscriberbot/pages/investor/InvestmentOpportunitiesPage.js +269 -261
- package/dist/subscriberbot/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
- package/dist/subscriberbot/pages/investor/InvestorAnalyticsPage.js +97 -91
- package/dist/subscriberbot/pages/investor/InvestorAnalyticsPage.js.map +1 -1
- package/dist/subscriberbot/pages/investor/InvestorDashboard.js +354 -322
- package/dist/subscriberbot/pages/investor/InvestorDashboard.js.map +1 -1
- package/dist/subscriberbot/pages/investor/InvestorInvestmentsPage.js +118 -111
- package/dist/subscriberbot/pages/investor/InvestorInvestmentsPage.js.map +1 -1
- package/dist/subscriberbot/pages/investor/InvestorPortfolioPage.js +75 -69
- package/dist/subscriberbot/pages/investor/InvestorPortfolioPage.js.map +1 -1
- package/dist/subscriberbot/pages/investor/InvestorProfilePage.js +435 -430
- package/dist/subscriberbot/pages/investor/InvestorProfilePage.js.map +1 -1
- package/dist/subscriberbot/pages/worker/TaskDetailsPage.js +328 -289
- package/dist/subscriberbot/pages/worker/TaskDetailsPage.js.map +1 -1
- package/dist/subscriberbot/pages/worker/WorkerDashboard.js +135 -103
- package/dist/subscriberbot/pages/worker/WorkerDashboard.js.map +1 -1
- package/dist/subscriberbot/pages/worker/WorkerOrdersPage.js +120 -114
- package/dist/subscriberbot/pages/worker/WorkerOrdersPage.js.map +1 -1
- package/dist/subscriberbot/pages/worker/WorkerProfilePage.js +125 -120
- package/dist/subscriberbot/pages/worker/WorkerProfilePage.js.map +1 -1
- package/dist/subscriberbot/pages/worker/WorkerSchedulePage.js +354 -344
- package/dist/subscriberbot/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, PagePurpose as k } from "@burdenoff/fe-libs/ui";
|
|
8
9
|
//#region src/subscriberbot/pages/admin/AdminDashboard.tsx
|
|
9
|
-
function
|
|
10
|
-
let { navigateTo:
|
|
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);
|
|
11
12
|
i(() => {
|
|
12
13
|
let e = setTimeout(() => {
|
|
13
|
-
|
|
14
|
+
P({
|
|
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
|
+
}), R({
|
|
23
24
|
customers: 8934,
|
|
24
25
|
cartOwners: 2456,
|
|
25
26
|
workers: 1245,
|
|
26
27
|
investors: 212,
|
|
27
28
|
growth: 15.7
|
|
28
|
-
}),
|
|
29
|
+
}), I([
|
|
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
|
+
]), B(!1);
|
|
80
81
|
}, 1e3);
|
|
81
82
|
return () => clearTimeout(e);
|
|
82
83
|
}, []);
|
|
83
|
-
let
|
|
84
|
+
let V = (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" }), H = (e) => ({
|
|
91
|
+
user_registration: "text-status-info-text",
|
|
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", U = (e) => ({
|
|
97
|
+
completed: "bg-status-success-bg/20 text-status-success-text",
|
|
98
|
+
pending: "bg-status-warning-bg/20 text-status-warning-text",
|
|
99
|
+
failed: "bg-status-error-bg/20 text-status-error-text"
|
|
99
100
|
})[e] ?? "bg-secondary text-secondary-foreground";
|
|
100
|
-
return
|
|
101
|
+
return z ? /* @__PURE__ */ T(n, {
|
|
101
102
|
title: "Admin Dashboard",
|
|
102
103
|
description: "Loading...",
|
|
103
104
|
children: /* @__PURE__ */ E("div", {
|
|
@@ -109,15 +110,54 @@ 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, ${M}! Monitor and manage the platform.`,
|
|
114
|
+
titleGradient: !0,
|
|
115
|
+
actions: N?.pendingApprovals && N.pendingApprovals > 0 ? /* @__PURE__ */ E("div", {
|
|
116
|
+
className: "flex items-center gap-2 rounded-lg border border-status-error-border/30 bg-status-error-bg/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: [N.pendingApprovals, " pending approvals"]
|
|
118
120
|
})]
|
|
119
121
|
}) : void 0,
|
|
120
122
|
children: [
|
|
123
|
+
/* @__PURE__ */ T(k, {
|
|
124
|
+
icon: /* @__PURE__ */ T(y, { className: "h-4 w-4" }),
|
|
125
|
+
className: "mb-6",
|
|
126
|
+
children: "Your control room for the whole SubscriberBot marketplace. Use this dashboard to keep the platform healthy at a glance — approve new carts before they go live, watch user growth and revenue trends, and jump straight to the area that needs attention. Start with anything flagged as pending; everything else can wait."
|
|
127
|
+
}),
|
|
128
|
+
/* @__PURE__ */ T(O, {
|
|
129
|
+
storageKey: "subscriberbot-admin-dashboard",
|
|
130
|
+
steps: [
|
|
131
|
+
{
|
|
132
|
+
id: "approve-carts",
|
|
133
|
+
label: "Review pending cart approvals",
|
|
134
|
+
description: "Vet new service providers before customers can find them.",
|
|
135
|
+
icon: /* @__PURE__ */ T(s, { className: "h-4 w-4" }),
|
|
136
|
+
onClick: () => A("/admin/carts")
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
id: "check-users",
|
|
140
|
+
label: "Check on user accounts",
|
|
141
|
+
description: "Spot suspicious sign-ups or accounts needing action.",
|
|
142
|
+
icon: /* @__PURE__ */ T(C, { className: "h-4 w-4" }),
|
|
143
|
+
onClick: () => A("/admin/users")
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
id: "review-finance",
|
|
147
|
+
label: "Review platform finances",
|
|
148
|
+
description: "Track revenue, commission and payouts at a glance.",
|
|
149
|
+
icon: /* @__PURE__ */ T(h, { className: "h-4 w-4" }),
|
|
150
|
+
onClick: () => A("/admin/financial")
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
id: "dive-analytics",
|
|
154
|
+
label: "Dive into analytics",
|
|
155
|
+
description: "Understand growth, retention and order trends in depth.",
|
|
156
|
+
icon: /* @__PURE__ */ T(l, { className: "h-4 w-4" }),
|
|
157
|
+
onClick: () => A("/admin/analytics")
|
|
158
|
+
}
|
|
159
|
+
]
|
|
160
|
+
}),
|
|
121
161
|
/* @__PURE__ */ E("div", {
|
|
122
162
|
className: "mb-8",
|
|
123
163
|
children: [/* @__PURE__ */ T("h2", {
|
|
@@ -128,61 +168,61 @@ function D() {
|
|
|
128
168
|
children: [
|
|
129
169
|
/* @__PURE__ */ E("button", {
|
|
130
170
|
type: "button",
|
|
131
|
-
onClick: () =>
|
|
132
|
-
className: "flex items-center gap-3 rounded-lg bg-
|
|
171
|
+
onClick: () => A("/admin/carts"),
|
|
172
|
+
className: "flex items-center gap-3 rounded-lg bg-status-error-text hover:bg-status-error-text text-text-inverse p-3 text-sm font-medium transition-colors",
|
|
133
173
|
children: [
|
|
134
174
|
/* @__PURE__ */ T(s, { className: "h-5 w-5" }),
|
|
135
175
|
"Approve Carts (",
|
|
136
|
-
|
|
176
|
+
N?.pendingApprovals,
|
|
137
177
|
")"
|
|
138
178
|
]
|
|
139
179
|
}),
|
|
140
180
|
/* @__PURE__ */ E("button", {
|
|
141
181
|
type: "button",
|
|
142
|
-
onClick: () =>
|
|
143
|
-
className: "flex items-center gap-3 rounded-lg border border-border-
|
|
182
|
+
onClick: () => A("/admin/carts"),
|
|
183
|
+
className: "flex items-center gap-3 rounded-lg border border-border-seam bg-bg-surface hover:bg-accent p-3 text-sm font-medium text-text-primary transition-colors",
|
|
144
184
|
children: [/* @__PURE__ */ T(x, { className: "h-5 w-5 text-text-secondary" }), "Manage Carts"]
|
|
145
185
|
}),
|
|
146
186
|
/* @__PURE__ */ E("button", {
|
|
147
187
|
type: "button",
|
|
148
|
-
onClick: () =>
|
|
149
|
-
className: "flex items-center gap-3 rounded-lg border border-border-
|
|
188
|
+
onClick: () => A("/admin/users"),
|
|
189
|
+
className: "flex items-center gap-3 rounded-lg border border-border-seam bg-bg-surface hover:bg-accent p-3 text-sm font-medium text-text-primary transition-colors",
|
|
150
190
|
children: [/* @__PURE__ */ T(C, { className: "h-5 w-5 text-text-secondary" }), "User Management"]
|
|
151
191
|
}),
|
|
152
192
|
/* @__PURE__ */ E("button", {
|
|
153
193
|
type: "button",
|
|
154
|
-
onClick: () =>
|
|
155
|
-
className: "flex items-center gap-3 rounded-lg border border-border-
|
|
194
|
+
onClick: () => A("/admin/orders"),
|
|
195
|
+
className: "flex items-center gap-3 rounded-lg border border-border-seam bg-bg-surface hover:bg-accent p-3 text-sm font-medium text-text-primary transition-colors",
|
|
156
196
|
children: [/* @__PURE__ */ T(b, { className: "h-5 w-5 text-text-secondary" }), "Order Management"]
|
|
157
197
|
}),
|
|
158
198
|
/* @__PURE__ */ E("button", {
|
|
159
199
|
type: "button",
|
|
160
|
-
onClick: () =>
|
|
161
|
-
className: "flex items-center gap-3 rounded-lg border border-border-
|
|
200
|
+
onClick: () => A("/admin/financial"),
|
|
201
|
+
className: "flex items-center gap-3 rounded-lg border border-border-seam bg-bg-surface hover:bg-accent p-3 text-sm font-medium text-text-primary transition-colors",
|
|
162
202
|
children: [/* @__PURE__ */ T(h, { className: "h-5 w-5 text-text-secondary" }), "Financial Analytics"]
|
|
163
203
|
}),
|
|
164
204
|
/* @__PURE__ */ E("button", {
|
|
165
205
|
type: "button",
|
|
166
|
-
onClick: () =>
|
|
167
|
-
className: "flex items-center gap-3 rounded-lg border border-border-
|
|
206
|
+
onClick: () => A("/admin/analytics"),
|
|
207
|
+
className: "flex items-center gap-3 rounded-lg border border-border-seam bg-bg-surface hover:bg-accent p-3 text-sm font-medium text-text-primary transition-colors",
|
|
168
208
|
children: [/* @__PURE__ */ T(l, { className: "h-5 w-5 text-text-secondary" }), "Analytics"]
|
|
169
209
|
}),
|
|
170
210
|
/* @__PURE__ */ E("button", {
|
|
171
211
|
type: "button",
|
|
172
|
-
onClick: () =>
|
|
173
|
-
className: "flex items-center gap-3 rounded-lg border border-border-
|
|
212
|
+
onClick: () => A("/admin/settings"),
|
|
213
|
+
className: "flex items-center gap-3 rounded-lg border border-border-seam bg-bg-surface hover:bg-accent p-3 text-sm font-medium text-text-primary transition-colors",
|
|
174
214
|
children: [/* @__PURE__ */ T(v, { className: "h-5 w-5 text-text-secondary" }), "Settings"]
|
|
175
215
|
}),
|
|
176
216
|
/* @__PURE__ */ E("button", {
|
|
177
217
|
type: "button",
|
|
178
|
-
onClick: () =>
|
|
179
|
-
className: "flex items-center gap-3 rounded-lg border border-border-
|
|
218
|
+
onClick: () => A("/admin/analytics"),
|
|
219
|
+
className: "flex items-center gap-3 rounded-lg border border-border-seam bg-bg-surface hover:bg-accent p-3 text-sm font-medium text-text-primary transition-colors",
|
|
180
220
|
children: [/* @__PURE__ */ T(m, { className: "h-5 w-5 text-text-secondary" }), "Reports"]
|
|
181
221
|
})
|
|
182
222
|
]
|
|
183
223
|
})]
|
|
184
224
|
}),
|
|
185
|
-
|
|
225
|
+
N && /* @__PURE__ */ E(D, {
|
|
186
226
|
className: "mb-8",
|
|
187
227
|
children: [
|
|
188
228
|
/* @__PURE__ */ T("h2", {
|
|
@@ -194,28 +234,28 @@ function D() {
|
|
|
194
234
|
children: [
|
|
195
235
|
/* @__PURE__ */ T(r, {
|
|
196
236
|
icon: /* @__PURE__ */ T(C, { className: "h-5 w-5" }),
|
|
197
|
-
value:
|
|
237
|
+
value: N.totalUsers.toLocaleString("en-IN"),
|
|
198
238
|
label: "Total Users",
|
|
199
239
|
trend: "up",
|
|
200
240
|
trendValue: "+15.7%"
|
|
201
241
|
}),
|
|
202
242
|
/* @__PURE__ */ T(r, {
|
|
203
243
|
icon: /* @__PURE__ */ T(x, { className: "h-5 w-5" }),
|
|
204
|
-
value:
|
|
244
|
+
value: N.totalCarts.toLocaleString("en-IN"),
|
|
205
245
|
label: "Active Carts",
|
|
206
246
|
trend: "up",
|
|
207
247
|
trendValue: "+8 this week"
|
|
208
248
|
}),
|
|
209
249
|
/* @__PURE__ */ T(r, {
|
|
210
250
|
icon: /* @__PURE__ */ T(b, { className: "h-5 w-5" }),
|
|
211
|
-
value:
|
|
251
|
+
value: N.totalOrders.toLocaleString("en-IN"),
|
|
212
252
|
label: "Total Orders",
|
|
213
253
|
trend: "up",
|
|
214
254
|
trendValue: "+12.3%"
|
|
215
255
|
}),
|
|
216
256
|
/* @__PURE__ */ T(r, {
|
|
217
257
|
icon: /* @__PURE__ */ T(h, { className: "h-5 w-5" }),
|
|
218
|
-
value: `₹${(
|
|
258
|
+
value: `₹${(N.totalRevenue / 1e5).toFixed(1)}L`,
|
|
219
259
|
label: "Total Revenue",
|
|
220
260
|
trend: "up",
|
|
221
261
|
trendValue: "+8.5%"
|
|
@@ -226,45 +266,45 @@ function D() {
|
|
|
226
266
|
className: "grid grid-cols-2 lg:grid-cols-4 gap-4 mt-4",
|
|
227
267
|
children: [
|
|
228
268
|
/* @__PURE__ */ E("div", {
|
|
229
|
-
className: "rounded-lg border border-border-
|
|
269
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-4",
|
|
230
270
|
children: [/* @__PURE__ */ T("p", {
|
|
231
271
|
className: "text-xs text-text-secondary",
|
|
232
272
|
children: "Active Users (24h)"
|
|
233
273
|
}), /* @__PURE__ */ T("p", {
|
|
234
|
-
className: "text-xl font-bold text-
|
|
235
|
-
children:
|
|
274
|
+
className: "text-xl font-bold text-status-success-text",
|
|
275
|
+
children: N.activeUsers.toLocaleString("en-IN")
|
|
236
276
|
})]
|
|
237
277
|
}),
|
|
238
278
|
/* @__PURE__ */ E("div", {
|
|
239
|
-
className: "rounded-lg border border-border-
|
|
279
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-4",
|
|
240
280
|
children: [/* @__PURE__ */ T("p", {
|
|
241
281
|
className: "text-xs text-text-secondary",
|
|
242
282
|
children: "Pending Approvals"
|
|
243
283
|
}), /* @__PURE__ */ T("p", {
|
|
244
|
-
className: "text-xl font-bold text-
|
|
245
|
-
children:
|
|
284
|
+
className: "text-xl font-bold text-status-error-text",
|
|
285
|
+
children: N.pendingApprovals
|
|
246
286
|
})]
|
|
247
287
|
}),
|
|
248
288
|
/* @__PURE__ */ E("div", {
|
|
249
|
-
className: "rounded-lg border border-border-
|
|
289
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-4",
|
|
250
290
|
children: [/* @__PURE__ */ T("p", {
|
|
251
291
|
className: "text-xs text-text-secondary",
|
|
252
292
|
children: "Total Investments"
|
|
253
293
|
}), /* @__PURE__ */ T("p", {
|
|
254
|
-
className: "text-xl font-bold text-
|
|
255
|
-
children:
|
|
294
|
+
className: "text-xl font-bold text-status-info-text",
|
|
295
|
+
children: N.totalInvestments.toLocaleString("en-IN")
|
|
256
296
|
})]
|
|
257
297
|
}),
|
|
258
298
|
/* @__PURE__ */ E("div", {
|
|
259
|
-
className: "rounded-lg border border-border-
|
|
299
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-4",
|
|
260
300
|
children: [/* @__PURE__ */ T("p", {
|
|
261
301
|
className: "text-xs text-text-secondary",
|
|
262
302
|
children: "Platform Commission"
|
|
263
303
|
}), /* @__PURE__ */ E("p", {
|
|
264
|
-
className: "text-xl font-bold text-
|
|
304
|
+
className: "text-xl font-bold text-accent-purple",
|
|
265
305
|
children: [
|
|
266
306
|
"₹",
|
|
267
|
-
(
|
|
307
|
+
(N.platformCommission / 1e3).toFixed(0),
|
|
268
308
|
"K"
|
|
269
309
|
]
|
|
270
310
|
})]
|
|
@@ -273,13 +313,13 @@ function D() {
|
|
|
273
313
|
})
|
|
274
314
|
]
|
|
275
315
|
}),
|
|
276
|
-
|
|
316
|
+
L && /* @__PURE__ */ E("div", {
|
|
277
317
|
className: "mb-8",
|
|
278
318
|
children: [/* @__PURE__ */ T("h2", {
|
|
279
319
|
className: "text-lg font-semibold text-text-primary mb-4",
|
|
280
320
|
children: "User Distribution"
|
|
281
321
|
}), /* @__PURE__ */ E("div", {
|
|
282
|
-
className: "rounded-lg border border-border-
|
|
322
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-6",
|
|
283
323
|
children: [/* @__PURE__ */ E("div", {
|
|
284
324
|
className: "grid grid-cols-2 lg:grid-cols-4 gap-6",
|
|
285
325
|
children: [
|
|
@@ -287,8 +327,8 @@ function D() {
|
|
|
287
327
|
className: "text-center",
|
|
288
328
|
children: [
|
|
289
329
|
/* @__PURE__ */ T("div", {
|
|
290
|
-
className: "text-2xl sm:text-3xl font-bold text-
|
|
291
|
-
children:
|
|
330
|
+
className: "text-2xl sm:text-3xl font-bold text-status-info-text",
|
|
331
|
+
children: L.customers.toLocaleString("en-IN")
|
|
292
332
|
}),
|
|
293
333
|
/* @__PURE__ */ T("div", {
|
|
294
334
|
className: "text-sm text-text-secondary",
|
|
@@ -304,8 +344,8 @@ function D() {
|
|
|
304
344
|
className: "text-center",
|
|
305
345
|
children: [
|
|
306
346
|
/* @__PURE__ */ T("div", {
|
|
307
|
-
className: "text-2xl sm:text-3xl font-bold text-
|
|
308
|
-
children:
|
|
347
|
+
className: "text-2xl sm:text-3xl font-bold text-status-success-text",
|
|
348
|
+
children: L.cartOwners.toLocaleString("en-IN")
|
|
309
349
|
}),
|
|
310
350
|
/* @__PURE__ */ T("div", {
|
|
311
351
|
className: "text-sm text-text-secondary",
|
|
@@ -321,8 +361,8 @@ function D() {
|
|
|
321
361
|
className: "text-center",
|
|
322
362
|
children: [
|
|
323
363
|
/* @__PURE__ */ T("div", {
|
|
324
|
-
className: "text-2xl sm:text-3xl font-bold text-
|
|
325
|
-
children:
|
|
364
|
+
className: "text-2xl sm:text-3xl font-bold text-status-warning-text",
|
|
365
|
+
children: L.workers.toLocaleString("en-IN")
|
|
326
366
|
}),
|
|
327
367
|
/* @__PURE__ */ T("div", {
|
|
328
368
|
className: "text-sm text-text-secondary",
|
|
@@ -338,8 +378,8 @@ function D() {
|
|
|
338
378
|
className: "text-center",
|
|
339
379
|
children: [
|
|
340
380
|
/* @__PURE__ */ T("div", {
|
|
341
|
-
className: "text-2xl sm:text-3xl font-bold text-
|
|
342
|
-
children:
|
|
381
|
+
className: "text-2xl sm:text-3xl font-bold text-accent-purple",
|
|
382
|
+
children: L.investors.toLocaleString("en-IN")
|
|
343
383
|
}),
|
|
344
384
|
/* @__PURE__ */ T("div", {
|
|
345
385
|
className: "text-sm text-text-secondary",
|
|
@@ -353,17 +393,17 @@ function D() {
|
|
|
353
393
|
})
|
|
354
394
|
]
|
|
355
395
|
}), /* @__PURE__ */ T("div", {
|
|
356
|
-
className: "mt-4 pt-4 border-t border-border-
|
|
396
|
+
className: "mt-4 pt-4 border-t border-border-seam",
|
|
357
397
|
children: /* @__PURE__ */ E("div", {
|
|
358
398
|
className: "flex justify-between items-center",
|
|
359
399
|
children: [/* @__PURE__ */ T("span", {
|
|
360
400
|
className: "text-sm text-text-secondary",
|
|
361
401
|
children: "User Growth (This Month)"
|
|
362
402
|
}), /* @__PURE__ */ E("span", {
|
|
363
|
-
className: "text-sm font-medium text-
|
|
403
|
+
className: "text-sm font-medium text-status-success-text",
|
|
364
404
|
children: [
|
|
365
405
|
"+",
|
|
366
|
-
|
|
406
|
+
L.growth,
|
|
367
407
|
"%"
|
|
368
408
|
]
|
|
369
409
|
})]
|
|
@@ -380,17 +420,17 @@ function D() {
|
|
|
380
420
|
children: "Recent Platform Activity"
|
|
381
421
|
}), /* @__PURE__ */ E("button", {
|
|
382
422
|
type: "button",
|
|
383
|
-
onClick: () =>
|
|
423
|
+
onClick: () => A("/admin/analytics"),
|
|
384
424
|
className: "flex items-center gap-1 text-sm font-medium text-text-secondary hover:text-text-primary transition-colors",
|
|
385
425
|
children: ["View all activities", /* @__PURE__ */ T(c, { className: "h-4 w-4" })]
|
|
386
426
|
})]
|
|
387
427
|
}), /* @__PURE__ */ T("div", {
|
|
388
|
-
className: "rounded-lg border border-border-
|
|
389
|
-
children:
|
|
428
|
+
className: "rounded-lg border border-border-seam bg-bg-surface divide-y divide-border",
|
|
429
|
+
children: F.map((e) => /* @__PURE__ */ E("div", {
|
|
390
430
|
className: "flex items-start gap-3 px-4 py-3",
|
|
391
431
|
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:
|
|
432
|
+
className: t("flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-bg-sunken mt-0.5", H(e.type)),
|
|
433
|
+
children: V(e.type)
|
|
394
434
|
}), /* @__PURE__ */ E("div", {
|
|
395
435
|
className: "flex-1 min-w-0",
|
|
396
436
|
children: [/* @__PURE__ */ E("div", {
|
|
@@ -399,7 +439,7 @@ function D() {
|
|
|
399
439
|
className: "text-sm font-medium text-text-primary",
|
|
400
440
|
children: e.description
|
|
401
441
|
}), /* @__PURE__ */ T("span", {
|
|
402
|
-
className: t("inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium capitalize w-fit",
|
|
442
|
+
className: t("inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium capitalize w-fit", U(e.status)),
|
|
403
443
|
children: e.status
|
|
404
444
|
})]
|
|
405
445
|
}), /* @__PURE__ */ E("div", {
|
|
@@ -427,7 +467,7 @@ function D() {
|
|
|
427
467
|
/* @__PURE__ */ E("div", {
|
|
428
468
|
className: "grid grid-cols-1 lg:grid-cols-2 gap-6 mb-8",
|
|
429
469
|
children: [/* @__PURE__ */ E("div", {
|
|
430
|
-
className: "rounded-lg border border-border-
|
|
470
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-6",
|
|
431
471
|
children: [/* @__PURE__ */ E("div", {
|
|
432
472
|
className: "flex items-center gap-2 mb-4",
|
|
433
473
|
children: [/* @__PURE__ */ T(y, { className: "h-5 w-5 text-text-secondary" }), /* @__PURE__ */ T("h3", {
|
|
@@ -446,7 +486,7 @@ function D() {
|
|
|
446
486
|
children: "Server Status"
|
|
447
487
|
})]
|
|
448
488
|
}), /* @__PURE__ */ E("span", {
|
|
449
|
-
className: "inline-flex items-center gap-1.5 rounded-full bg-
|
|
489
|
+
className: "inline-flex items-center gap-1.5 rounded-full bg-status-success-bg/20 px-3 py-1 text-xs font-medium text-status-success-text",
|
|
450
490
|
children: [/* @__PURE__ */ T(u, { className: "h-3 w-3" }), "Healthy"]
|
|
451
491
|
})]
|
|
452
492
|
}),
|
|
@@ -459,7 +499,7 @@ function D() {
|
|
|
459
499
|
children: "Database Performance"
|
|
460
500
|
})]
|
|
461
501
|
}), /* @__PURE__ */ E("span", {
|
|
462
|
-
className: "inline-flex items-center gap-1.5 rounded-full bg-
|
|
502
|
+
className: "inline-flex items-center gap-1.5 rounded-full bg-status-success-bg/20 px-3 py-1 text-xs font-medium text-status-success-text",
|
|
463
503
|
children: [/* @__PURE__ */ T(u, { className: "h-3 w-3" }), "Optimal"]
|
|
464
504
|
})]
|
|
465
505
|
}),
|
|
@@ -472,7 +512,7 @@ function D() {
|
|
|
472
512
|
children: "Payment Gateway"
|
|
473
513
|
})]
|
|
474
514
|
}), /* @__PURE__ */ E("span", {
|
|
475
|
-
className: "inline-flex items-center gap-1.5 rounded-full bg-
|
|
515
|
+
className: "inline-flex items-center gap-1.5 rounded-full bg-status-success-bg/20 px-3 py-1 text-xs font-medium text-status-success-text",
|
|
476
516
|
children: [/* @__PURE__ */ T(u, { className: "h-3 w-3" }), "Online"]
|
|
477
517
|
})]
|
|
478
518
|
}),
|
|
@@ -505,7 +545,7 @@ function D() {
|
|
|
505
545
|
]
|
|
506
546
|
})]
|
|
507
547
|
}), /* @__PURE__ */ E("div", {
|
|
508
|
-
className: "rounded-lg border border-border-
|
|
548
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-6",
|
|
509
549
|
children: [/* @__PURE__ */ E("div", {
|
|
510
550
|
className: "flex items-center gap-2 mb-4",
|
|
511
551
|
children: [/* @__PURE__ */ T(h, { className: "h-5 w-5 text-text-secondary" }), /* @__PURE__ */ T("h3", {
|
|
@@ -612,8 +652,8 @@ function D() {
|
|
|
612
652
|
let n = e.icon;
|
|
613
653
|
return /* @__PURE__ */ E("button", {
|
|
614
654
|
type: "button",
|
|
615
|
-
onClick: () =>
|
|
616
|
-
className: t("flex items-center gap-4 rounded-lg border border-border-
|
|
655
|
+
onClick: () => A(e.path),
|
|
656
|
+
className: t("flex items-center gap-4 rounded-lg border border-border-seam bg-bg-surface p-4 sm:p-6 text-left shadow-sm transition-all", "hover:bg-accent hover:shadow-md"),
|
|
617
657
|
children: [/* @__PURE__ */ T("div", {
|
|
618
658
|
className: "flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-bg-sunken text-text-secondary",
|
|
619
659
|
children: /* @__PURE__ */ T(n, { className: "h-5 w-5" })
|
|
@@ -634,6 +674,6 @@ function D() {
|
|
|
634
674
|
});
|
|
635
675
|
}
|
|
636
676
|
//#endregion
|
|
637
|
-
export {
|
|
677
|
+
export { A as AdminDashboard };
|
|
638
678
|
|
|
639
679
|
//# sourceMappingURL=AdminDashboard.js.map
|