@burdenoff/microfe-coolandlovely 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/coolandlovely/components/EmptyState.js +17 -21
- package/dist/coolandlovely/components/EmptyState.js.map +1 -1
- package/dist/coolandlovely/components/InvestmentCard.js +25 -23
- package/dist/coolandlovely/components/InvestmentCard.js.map +1 -1
- package/dist/coolandlovely/components/MetricsCard.js +18 -12
- package/dist/coolandlovely/components/MetricsCard.js.map +1 -1
- package/dist/coolandlovely/components/PageLayout.js +38 -19
- package/dist/coolandlovely/components/PageLayout.js.map +1 -1
- package/dist/coolandlovely/components/RatingDisplay.js +3 -3
- package/dist/coolandlovely/components/RatingDisplay.js.map +1 -1
- package/dist/coolandlovely/components/StatusBadge.js +36 -16
- package/dist/coolandlovely/components/StatusBadge.js.map +1 -1
- package/dist/coolandlovely/pages/HomePage.js +219 -204
- package/dist/coolandlovely/pages/HomePage.js.map +1 -1
- package/dist/coolandlovely/pages/admin/AdminAnalyticsPage.js +98 -92
- package/dist/coolandlovely/pages/admin/AdminAnalyticsPage.js.map +1 -1
- package/dist/coolandlovely/pages/admin/AdminDashboard.js +111 -77
- package/dist/coolandlovely/pages/admin/AdminDashboard.js.map +1 -1
- package/dist/coolandlovely/pages/admin/AdminFinancialPage.js +49 -43
- package/dist/coolandlovely/pages/admin/AdminFinancialPage.js.map +1 -1
- package/dist/coolandlovely/pages/admin/AdminOrdersPage.js +234 -229
- package/dist/coolandlovely/pages/admin/AdminOrdersPage.js.map +1 -1
- package/dist/coolandlovely/pages/admin/AdminProfilePage.js +67 -62
- package/dist/coolandlovely/pages/admin/AdminProfilePage.js.map +1 -1
- package/dist/coolandlovely/pages/admin/AdminSettingsPage.js +235 -230
- package/dist/coolandlovely/pages/admin/AdminSettingsPage.js.map +1 -1
- package/dist/coolandlovely/pages/admin/CartManagementPage.js +291 -286
- package/dist/coolandlovely/pages/admin/CartManagementPage.js.map +1 -1
- package/dist/coolandlovely/pages/admin/UserManagementPage.js +287 -282
- package/dist/coolandlovely/pages/admin/UserManagementPage.js.map +1 -1
- package/dist/coolandlovely/pages/cart-owner/AnalyticsDashboard.js +108 -100
- package/dist/coolandlovely/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
- package/dist/coolandlovely/pages/cart-owner/BusinessSettingsPage.js +260 -255
- package/dist/coolandlovely/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
- package/dist/coolandlovely/pages/cart-owner/CartOwnerDashboard.js +596 -554
- package/dist/coolandlovely/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
- package/dist/coolandlovely/pages/cart-owner/CartOwnerProfilePage.js +187 -182
- package/dist/coolandlovely/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
- package/dist/coolandlovely/pages/cart-owner/CartServiceConfigPage.js +229 -221
- package/dist/coolandlovely/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
- package/dist/coolandlovely/pages/cart-owner/InventoryManagementPage.js +675 -674
- package/dist/coolandlovely/pages/cart-owner/InventoryManagementPage.js.map +1 -1
- package/dist/coolandlovely/pages/cart-owner/OrderManagementPage.js +525 -524
- package/dist/coolandlovely/pages/cart-owner/OrderManagementPage.js.map +1 -1
- package/dist/coolandlovely/pages/cart-owner/StaffManagementPage.js +264 -266
- package/dist/coolandlovely/pages/cart-owner/StaffManagementPage.js.map +1 -1
- package/dist/coolandlovely/pages/common/HelpSupportPage.js +137 -137
- package/dist/coolandlovely/pages/common/HelpSupportPage.js.map +1 -1
- package/dist/coolandlovely/pages/common/NotificationCenterPage.js +81 -75
- package/dist/coolandlovely/pages/common/NotificationCenterPage.js.map +1 -1
- package/dist/coolandlovely/pages/common/SettingsPage.js +745 -736
- package/dist/coolandlovely/pages/common/SettingsPage.js.map +1 -1
- package/dist/coolandlovely/pages/customer/BookingDetailsPage.js +394 -357
- package/dist/coolandlovely/pages/customer/BookingDetailsPage.js.map +1 -1
- package/dist/coolandlovely/pages/customer/CartDetailPage.js +189 -186
- package/dist/coolandlovely/pages/customer/CartDetailPage.js.map +1 -1
- package/dist/coolandlovely/pages/customer/CartDiscoveryPage.js +222 -211
- package/dist/coolandlovely/pages/customer/CartDiscoveryPage.js.map +1 -1
- package/dist/coolandlovely/pages/customer/CheckoutPage.js +219 -222
- package/dist/coolandlovely/pages/customer/CheckoutPage.js.map +1 -1
- package/dist/coolandlovely/pages/customer/CustomerDashboard.js +446 -404
- package/dist/coolandlovely/pages/customer/CustomerDashboard.js.map +1 -1
- package/dist/coolandlovely/pages/customer/CustomerProfilePage.js +525 -488
- package/dist/coolandlovely/pages/customer/CustomerProfilePage.js.map +1 -1
- package/dist/coolandlovely/pages/customer/DirectServiceBookingPage.js +522 -513
- package/dist/coolandlovely/pages/customer/DirectServiceBookingPage.js.map +1 -1
- package/dist/coolandlovely/pages/customer/FavoritesPage.js +94 -84
- package/dist/coolandlovely/pages/customer/FavoritesPage.js.map +1 -1
- package/dist/coolandlovely/pages/customer/OrderHistoryPage.js +121 -112
- package/dist/coolandlovely/pages/customer/OrderHistoryPage.js.map +1 -1
- package/dist/coolandlovely/pages/customer/OrderTrackingPage.js +312 -275
- package/dist/coolandlovely/pages/customer/OrderTrackingPage.js.map +1 -1
- package/dist/coolandlovely/pages/customer/PaymentMethodsPage.js +90 -84
- package/dist/coolandlovely/pages/customer/PaymentMethodsPage.js.map +1 -1
- package/dist/coolandlovely/pages/customer/ReviewsPage.js +99 -89
- package/dist/coolandlovely/pages/customer/ReviewsPage.js.map +1 -1
- package/dist/coolandlovely/pages/customer/SavedAddressesPage.js +74 -68
- package/dist/coolandlovely/pages/customer/SavedAddressesPage.js.map +1 -1
- package/dist/coolandlovely/pages/investor/InvestmentDetailsPage.js +317 -279
- package/dist/coolandlovely/pages/investor/InvestmentDetailsPage.js.map +1 -1
- package/dist/coolandlovely/pages/investor/InvestmentOpportunitiesPage.js +249 -243
- package/dist/coolandlovely/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
- package/dist/coolandlovely/pages/investor/InvestorAnalyticsPage.js +87 -81
- package/dist/coolandlovely/pages/investor/InvestorAnalyticsPage.js.map +1 -1
- package/dist/coolandlovely/pages/investor/InvestorDashboard.js +359 -323
- package/dist/coolandlovely/pages/investor/InvestorDashboard.js.map +1 -1
- package/dist/coolandlovely/pages/investor/InvestorInvestmentsPage.js +115 -109
- package/dist/coolandlovely/pages/investor/InvestorInvestmentsPage.js.map +1 -1
- package/dist/coolandlovely/pages/investor/InvestorPortfolioPage.js +179 -146
- package/dist/coolandlovely/pages/investor/InvestorPortfolioPage.js.map +1 -1
- package/dist/coolandlovely/pages/investor/InvestorProfilePage.js +397 -392
- package/dist/coolandlovely/pages/investor/InvestorProfilePage.js.map +1 -1
- package/dist/coolandlovely/pages/worker/TaskDetailsPage.js +364 -327
- package/dist/coolandlovely/pages/worker/TaskDetailsPage.js.map +1 -1
- package/dist/coolandlovely/pages/worker/WorkerDashboard.js +580 -543
- package/dist/coolandlovely/pages/worker/WorkerDashboard.js.map +1 -1
- package/dist/coolandlovely/pages/worker/WorkerOrdersPage.js +114 -109
- package/dist/coolandlovely/pages/worker/WorkerOrdersPage.js.map +1 -1
- package/dist/coolandlovely/pages/worker/WorkerProfilePage.js +115 -110
- package/dist/coolandlovely/pages/worker/WorkerProfilePage.js.map +1 -1
- package/dist/coolandlovely/pages/worker/WorkerSchedulePage.js +100 -95
- package/dist/coolandlovely/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/coolandlovely/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-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", U = (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 z ? /* @__PURE__ */ T(n, {
|
|
101
102
|
title: "Admin Dashboard",
|
|
102
103
|
description: "Loading...",
|
|
103
104
|
children: /* @__PURE__ */ E("div", {
|
|
@@ -109,15 +110,48 @@ function D() {
|
|
|
109
110
|
})
|
|
110
111
|
}) : /* @__PURE__ */ E(n, {
|
|
111
112
|
title: "Admin Dashboard",
|
|
112
|
-
description: `Welcome, ${
|
|
113
|
-
actions:
|
|
114
|
-
className: "flex items-center gap-2 rounded-lg border border-
|
|
115
|
-
children: [/* @__PURE__ */ T(s, { className: "h-4 w-4 text-
|
|
116
|
-
className: "text-sm font-medium text-
|
|
117
|
-
children: [
|
|
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-status-error-border/30 bg-status-error-bg-subtle/10 px-3 py-2",
|
|
116
|
+
children: [/* @__PURE__ */ T(s, { className: "h-4 w-4 text-status-error-text" }), /* @__PURE__ */ E("span", {
|
|
117
|
+
className: "text-sm font-medium text-status-error-text",
|
|
118
|
+
children: [N.pendingApprovals, " pending approvals"]
|
|
118
119
|
})]
|
|
119
120
|
}) : void 0,
|
|
120
121
|
children: [
|
|
122
|
+
/* @__PURE__ */ T(k, {
|
|
123
|
+
className: "mb-6",
|
|
124
|
+
icon: /* @__PURE__ */ T(l, { className: "h-4 w-4" }),
|
|
125
|
+
children: "The platform-wide command centre. Keep the marketplace healthy: approve new carts, watch users, orders and revenue across every business, and jump straight to the area that needs attention — so issues get caught before they reach customers."
|
|
126
|
+
}),
|
|
127
|
+
/* @__PURE__ */ T(O, {
|
|
128
|
+
className: "mb-6",
|
|
129
|
+
storageKey: "coolandlovely-admin-dashboard",
|
|
130
|
+
steps: [
|
|
131
|
+
{
|
|
132
|
+
id: "approvals",
|
|
133
|
+
label: "Clear pending cart approvals",
|
|
134
|
+
description: "Review and approve carts waiting to go live.",
|
|
135
|
+
icon: /* @__PURE__ */ T(x, { className: "h-4 w-4" }),
|
|
136
|
+
onClick: () => A("/admin/carts"),
|
|
137
|
+
done: !N?.pendingApprovals
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
id: "users",
|
|
141
|
+
label: "Check user accounts",
|
|
142
|
+
description: "Manage members, roles and flagged accounts.",
|
|
143
|
+
icon: /* @__PURE__ */ T(C, { className: "h-4 w-4" }),
|
|
144
|
+
onClick: () => A("/admin/users")
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
id: "analytics",
|
|
148
|
+
label: "Review platform analytics",
|
|
149
|
+
description: "Track growth, revenue and order trends platform-wide.",
|
|
150
|
+
icon: /* @__PURE__ */ T(l, { className: "h-4 w-4" }),
|
|
151
|
+
onClick: () => A("/admin/analytics")
|
|
152
|
+
}
|
|
153
|
+
]
|
|
154
|
+
}),
|
|
121
155
|
/* @__PURE__ */ E("div", {
|
|
122
156
|
className: "mb-8",
|
|
123
157
|
children: [/* @__PURE__ */ T("h2", {
|
|
@@ -128,62 +162,62 @@ function D() {
|
|
|
128
162
|
children: [
|
|
129
163
|
/* @__PURE__ */ E("button", {
|
|
130
164
|
type: "button",
|
|
131
|
-
onClick: () =>
|
|
132
|
-
className: "flex items-center gap-3 rounded-lg bg-
|
|
165
|
+
onClick: () => A("/admin/carts"),
|
|
166
|
+
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
167
|
children: [
|
|
134
168
|
/* @__PURE__ */ T(s, { className: "h-5 w-5" }),
|
|
135
169
|
"Approve Carts (",
|
|
136
|
-
|
|
170
|
+
N?.pendingApprovals,
|
|
137
171
|
")"
|
|
138
172
|
]
|
|
139
173
|
}),
|
|
140
174
|
/* @__PURE__ */ E("button", {
|
|
141
175
|
type: "button",
|
|
142
|
-
onClick: () =>
|
|
176
|
+
onClick: () => A("/admin/carts"),
|
|
143
177
|
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
178
|
children: [/* @__PURE__ */ T(x, { className: "h-5 w-5 text-text-secondary" }), "Manage Carts"]
|
|
145
179
|
}),
|
|
146
180
|
/* @__PURE__ */ E("button", {
|
|
147
181
|
type: "button",
|
|
148
|
-
onClick: () =>
|
|
182
|
+
onClick: () => A("/admin/users"),
|
|
149
183
|
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
184
|
children: [/* @__PURE__ */ T(C, { className: "h-5 w-5 text-text-secondary" }), "User Management"]
|
|
151
185
|
}),
|
|
152
186
|
/* @__PURE__ */ E("button", {
|
|
153
187
|
type: "button",
|
|
154
|
-
onClick: () =>
|
|
188
|
+
onClick: () => A("/admin/orders"),
|
|
155
189
|
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
190
|
children: [/* @__PURE__ */ T(b, { className: "h-5 w-5 text-text-secondary" }), "Order Management"]
|
|
157
191
|
}),
|
|
158
192
|
/* @__PURE__ */ E("button", {
|
|
159
193
|
type: "button",
|
|
160
|
-
onClick: () =>
|
|
194
|
+
onClick: () => A("/admin/financial"),
|
|
161
195
|
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
196
|
children: [/* @__PURE__ */ T(h, { className: "h-5 w-5 text-text-secondary" }), "Financial Analytics"]
|
|
163
197
|
}),
|
|
164
198
|
/* @__PURE__ */ E("button", {
|
|
165
199
|
type: "button",
|
|
166
|
-
onClick: () =>
|
|
200
|
+
onClick: () => A("/admin/analytics"),
|
|
167
201
|
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
202
|
children: [/* @__PURE__ */ T(l, { className: "h-5 w-5 text-text-secondary" }), "Analytics"]
|
|
169
203
|
}),
|
|
170
204
|
/* @__PURE__ */ E("button", {
|
|
171
205
|
type: "button",
|
|
172
|
-
onClick: () =>
|
|
206
|
+
onClick: () => A("/admin/settings"),
|
|
173
207
|
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
208
|
children: [/* @__PURE__ */ T(v, { className: "h-5 w-5 text-text-secondary" }), "Settings"]
|
|
175
209
|
}),
|
|
176
210
|
/* @__PURE__ */ E("button", {
|
|
177
211
|
type: "button",
|
|
178
|
-
onClick: () =>
|
|
212
|
+
onClick: () => A("/admin/analytics"),
|
|
179
213
|
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
214
|
children: [/* @__PURE__ */ T(m, { className: "h-5 w-5 text-text-secondary" }), "Reports"]
|
|
181
215
|
})
|
|
182
216
|
]
|
|
183
217
|
})]
|
|
184
218
|
}),
|
|
185
|
-
|
|
186
|
-
className: "mb-8",
|
|
219
|
+
N && /* @__PURE__ */ E(D, {
|
|
220
|
+
className: "mb-8 p-5",
|
|
187
221
|
children: [
|
|
188
222
|
/* @__PURE__ */ T("h2", {
|
|
189
223
|
className: "text-lg font-semibold text-text-primary mb-4",
|
|
@@ -194,28 +228,28 @@ function D() {
|
|
|
194
228
|
children: [
|
|
195
229
|
/* @__PURE__ */ T(r, {
|
|
196
230
|
icon: /* @__PURE__ */ T(C, { className: "h-5 w-5" }),
|
|
197
|
-
value:
|
|
231
|
+
value: N.totalUsers.toLocaleString("en-IN"),
|
|
198
232
|
label: "Total Users",
|
|
199
233
|
trend: "up",
|
|
200
234
|
trendValue: "+15.7%"
|
|
201
235
|
}),
|
|
202
236
|
/* @__PURE__ */ T(r, {
|
|
203
237
|
icon: /* @__PURE__ */ T(x, { className: "h-5 w-5" }),
|
|
204
|
-
value:
|
|
238
|
+
value: N.totalCarts.toLocaleString("en-IN"),
|
|
205
239
|
label: "Active Carts",
|
|
206
240
|
trend: "up",
|
|
207
241
|
trendValue: "+8 this week"
|
|
208
242
|
}),
|
|
209
243
|
/* @__PURE__ */ T(r, {
|
|
210
244
|
icon: /* @__PURE__ */ T(b, { className: "h-5 w-5" }),
|
|
211
|
-
value:
|
|
245
|
+
value: N.totalOrders.toLocaleString("en-IN"),
|
|
212
246
|
label: "Total Orders",
|
|
213
247
|
trend: "up",
|
|
214
248
|
trendValue: "+12.3%"
|
|
215
249
|
}),
|
|
216
250
|
/* @__PURE__ */ T(r, {
|
|
217
251
|
icon: /* @__PURE__ */ T(h, { className: "h-5 w-5" }),
|
|
218
|
-
value: `₹${(
|
|
252
|
+
value: `₹${(N.totalRevenue / 1e5).toFixed(1)}L`,
|
|
219
253
|
label: "Total Revenue",
|
|
220
254
|
trend: "up",
|
|
221
255
|
trendValue: "+8.5%"
|
|
@@ -226,45 +260,45 @@ function D() {
|
|
|
226
260
|
className: "grid grid-cols-2 lg:grid-cols-4 gap-4 mt-4",
|
|
227
261
|
children: [
|
|
228
262
|
/* @__PURE__ */ E("div", {
|
|
229
|
-
className: "rounded-lg border border-border-
|
|
263
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-4 bg-gloss-card shadow-pop",
|
|
230
264
|
children: [/* @__PURE__ */ T("p", {
|
|
231
265
|
className: "text-xs text-text-secondary",
|
|
232
266
|
children: "Active Users (24h)"
|
|
233
267
|
}), /* @__PURE__ */ T("p", {
|
|
234
|
-
className: "text-xl font-bold text-
|
|
235
|
-
children:
|
|
268
|
+
className: "text-xl font-bold text-status-success-text",
|
|
269
|
+
children: N.activeUsers.toLocaleString("en-IN")
|
|
236
270
|
})]
|
|
237
271
|
}),
|
|
238
272
|
/* @__PURE__ */ E("div", {
|
|
239
|
-
className: "rounded-lg border border-border-
|
|
273
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-4 bg-gloss-card shadow-pop",
|
|
240
274
|
children: [/* @__PURE__ */ T("p", {
|
|
241
275
|
className: "text-xs text-text-secondary",
|
|
242
276
|
children: "Pending Approvals"
|
|
243
277
|
}), /* @__PURE__ */ T("p", {
|
|
244
|
-
className: "text-xl font-bold text-
|
|
245
|
-
children:
|
|
278
|
+
className: "text-xl font-bold text-status-error-text",
|
|
279
|
+
children: N.pendingApprovals
|
|
246
280
|
})]
|
|
247
281
|
}),
|
|
248
282
|
/* @__PURE__ */ E("div", {
|
|
249
|
-
className: "rounded-lg border border-border-
|
|
283
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-4 bg-gloss-card shadow-pop",
|
|
250
284
|
children: [/* @__PURE__ */ T("p", {
|
|
251
285
|
className: "text-xs text-text-secondary",
|
|
252
286
|
children: "Total Investments"
|
|
253
287
|
}), /* @__PURE__ */ T("p", {
|
|
254
|
-
className: "text-xl font-bold text-
|
|
255
|
-
children:
|
|
288
|
+
className: "text-xl font-bold text-accent-blue",
|
|
289
|
+
children: N.totalInvestments.toLocaleString("en-IN")
|
|
256
290
|
})]
|
|
257
291
|
}),
|
|
258
292
|
/* @__PURE__ */ E("div", {
|
|
259
|
-
className: "rounded-lg border border-border-
|
|
293
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-4 bg-gloss-card shadow-pop",
|
|
260
294
|
children: [/* @__PURE__ */ T("p", {
|
|
261
295
|
className: "text-xs text-text-secondary",
|
|
262
296
|
children: "Platform Commission"
|
|
263
297
|
}), /* @__PURE__ */ E("p", {
|
|
264
|
-
className: "text-xl font-bold text-
|
|
298
|
+
className: "text-xl font-bold text-accent-purple",
|
|
265
299
|
children: [
|
|
266
300
|
"₹",
|
|
267
|
-
(
|
|
301
|
+
(N.platformCommission / 1e3).toFixed(0),
|
|
268
302
|
"K"
|
|
269
303
|
]
|
|
270
304
|
})]
|
|
@@ -273,13 +307,13 @@ function D() {
|
|
|
273
307
|
})
|
|
274
308
|
]
|
|
275
309
|
}),
|
|
276
|
-
|
|
310
|
+
L && /* @__PURE__ */ E("div", {
|
|
277
311
|
className: "mb-8",
|
|
278
312
|
children: [/* @__PURE__ */ T("h2", {
|
|
279
313
|
className: "text-lg font-semibold text-text-primary mb-4",
|
|
280
314
|
children: "User Distribution"
|
|
281
315
|
}), /* @__PURE__ */ E("div", {
|
|
282
|
-
className: "rounded-lg border border-border-
|
|
316
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-6 bg-gloss-card shadow-pop",
|
|
283
317
|
children: [/* @__PURE__ */ E("div", {
|
|
284
318
|
className: "grid grid-cols-2 lg:grid-cols-4 gap-6",
|
|
285
319
|
children: [
|
|
@@ -287,8 +321,8 @@ function D() {
|
|
|
287
321
|
className: "text-center",
|
|
288
322
|
children: [
|
|
289
323
|
/* @__PURE__ */ T("div", {
|
|
290
|
-
className: "text-2xl sm:text-3xl font-bold text-
|
|
291
|
-
children:
|
|
324
|
+
className: "text-2xl sm:text-3xl font-bold text-accent-blue",
|
|
325
|
+
children: L.customers.toLocaleString("en-IN")
|
|
292
326
|
}),
|
|
293
327
|
/* @__PURE__ */ T("div", {
|
|
294
328
|
className: "text-sm text-text-secondary",
|
|
@@ -304,8 +338,8 @@ function D() {
|
|
|
304
338
|
className: "text-center",
|
|
305
339
|
children: [
|
|
306
340
|
/* @__PURE__ */ T("div", {
|
|
307
|
-
className: "text-2xl sm:text-3xl font-bold text-
|
|
308
|
-
children:
|
|
341
|
+
className: "text-2xl sm:text-3xl font-bold text-status-success-text",
|
|
342
|
+
children: L.cartOwners.toLocaleString("en-IN")
|
|
309
343
|
}),
|
|
310
344
|
/* @__PURE__ */ T("div", {
|
|
311
345
|
className: "text-sm text-text-secondary",
|
|
@@ -321,8 +355,8 @@ function D() {
|
|
|
321
355
|
className: "text-center",
|
|
322
356
|
children: [
|
|
323
357
|
/* @__PURE__ */ T("div", {
|
|
324
|
-
className: "text-2xl sm:text-3xl font-bold text-
|
|
325
|
-
children:
|
|
358
|
+
className: "text-2xl sm:text-3xl font-bold text-status-warning-text",
|
|
359
|
+
children: L.workers.toLocaleString("en-IN")
|
|
326
360
|
}),
|
|
327
361
|
/* @__PURE__ */ T("div", {
|
|
328
362
|
className: "text-sm text-text-secondary",
|
|
@@ -338,8 +372,8 @@ function D() {
|
|
|
338
372
|
className: "text-center",
|
|
339
373
|
children: [
|
|
340
374
|
/* @__PURE__ */ T("div", {
|
|
341
|
-
className: "text-2xl sm:text-3xl font-bold text-
|
|
342
|
-
children:
|
|
375
|
+
className: "text-2xl sm:text-3xl font-bold text-accent-purple",
|
|
376
|
+
children: L.investors.toLocaleString("en-IN")
|
|
343
377
|
}),
|
|
344
378
|
/* @__PURE__ */ T("div", {
|
|
345
379
|
className: "text-sm text-text-secondary",
|
|
@@ -360,10 +394,10 @@ function D() {
|
|
|
360
394
|
className: "text-sm text-text-secondary",
|
|
361
395
|
children: "User Growth (This Month)"
|
|
362
396
|
}), /* @__PURE__ */ E("span", {
|
|
363
|
-
className: "text-sm font-medium text-
|
|
397
|
+
className: "text-sm font-medium text-status-success-text",
|
|
364
398
|
children: [
|
|
365
399
|
"+",
|
|
366
|
-
|
|
400
|
+
L.growth,
|
|
367
401
|
"%"
|
|
368
402
|
]
|
|
369
403
|
})]
|
|
@@ -380,17 +414,17 @@ function D() {
|
|
|
380
414
|
children: "Recent Platform Activity"
|
|
381
415
|
}), /* @__PURE__ */ E("button", {
|
|
382
416
|
type: "button",
|
|
383
|
-
onClick: () =>
|
|
417
|
+
onClick: () => A("/admin/analytics"),
|
|
384
418
|
className: "flex items-center gap-1 text-sm font-medium text-text-secondary hover:text-text-primary transition-colors",
|
|
385
419
|
children: ["View all activities", /* @__PURE__ */ T(c, { className: "h-4 w-4" })]
|
|
386
420
|
})]
|
|
387
421
|
}), /* @__PURE__ */ T("div", {
|
|
388
422
|
className: "rounded-lg border border-border-subtle bg-bg-surface divide-y divide-border",
|
|
389
|
-
children:
|
|
423
|
+
children: F.map((e) => /* @__PURE__ */ E("div", {
|
|
390
424
|
className: "flex items-start gap-3 px-4 py-3",
|
|
391
425
|
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:
|
|
426
|
+
className: t("flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-bg-sunken mt-0.5", H(e.type)),
|
|
427
|
+
children: V(e.type)
|
|
394
428
|
}), /* @__PURE__ */ E("div", {
|
|
395
429
|
className: "flex-1 min-w-0",
|
|
396
430
|
children: [/* @__PURE__ */ E("div", {
|
|
@@ -399,7 +433,7 @@ function D() {
|
|
|
399
433
|
className: "text-sm font-medium text-text-primary",
|
|
400
434
|
children: e.description
|
|
401
435
|
}), /* @__PURE__ */ T("span", {
|
|
402
|
-
className: t("inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium capitalize w-fit",
|
|
436
|
+
className: t("inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium capitalize w-fit", U(e.status)),
|
|
403
437
|
children: e.status
|
|
404
438
|
})]
|
|
405
439
|
}), /* @__PURE__ */ E("div", {
|
|
@@ -427,7 +461,7 @@ function D() {
|
|
|
427
461
|
/* @__PURE__ */ E("div", {
|
|
428
462
|
className: "grid grid-cols-1 lg:grid-cols-2 gap-6 mb-8",
|
|
429
463
|
children: [/* @__PURE__ */ E("div", {
|
|
430
|
-
className: "rounded-lg border border-border-
|
|
464
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-6 bg-gloss-card shadow-pop",
|
|
431
465
|
children: [/* @__PURE__ */ E("div", {
|
|
432
466
|
className: "flex items-center gap-2 mb-4",
|
|
433
467
|
children: [/* @__PURE__ */ T(y, { className: "h-5 w-5 text-text-secondary" }), /* @__PURE__ */ T("h3", {
|
|
@@ -446,7 +480,7 @@ function D() {
|
|
|
446
480
|
children: "Server Status"
|
|
447
481
|
})]
|
|
448
482
|
}), /* @__PURE__ */ E("span", {
|
|
449
|
-
className: "inline-flex items-center gap-1.5 rounded-full bg-
|
|
483
|
+
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
484
|
children: [/* @__PURE__ */ T(u, { className: "h-3 w-3" }), "Healthy"]
|
|
451
485
|
})]
|
|
452
486
|
}),
|
|
@@ -459,7 +493,7 @@ function D() {
|
|
|
459
493
|
children: "Database Performance"
|
|
460
494
|
})]
|
|
461
495
|
}), /* @__PURE__ */ E("span", {
|
|
462
|
-
className: "inline-flex items-center gap-1.5 rounded-full bg-
|
|
496
|
+
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
497
|
children: [/* @__PURE__ */ T(u, { className: "h-3 w-3" }), "Optimal"]
|
|
464
498
|
})]
|
|
465
499
|
}),
|
|
@@ -472,7 +506,7 @@ function D() {
|
|
|
472
506
|
children: "Payment Gateway"
|
|
473
507
|
})]
|
|
474
508
|
}), /* @__PURE__ */ E("span", {
|
|
475
|
-
className: "inline-flex items-center gap-1.5 rounded-full bg-
|
|
509
|
+
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
510
|
children: [/* @__PURE__ */ T(u, { className: "h-3 w-3" }), "Online"]
|
|
477
511
|
})]
|
|
478
512
|
}),
|
|
@@ -505,7 +539,7 @@ function D() {
|
|
|
505
539
|
]
|
|
506
540
|
})]
|
|
507
541
|
}), /* @__PURE__ */ E("div", {
|
|
508
|
-
className: "rounded-lg border border-border-
|
|
542
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-6 bg-gloss-card shadow-pop",
|
|
509
543
|
children: [/* @__PURE__ */ E("div", {
|
|
510
544
|
className: "flex items-center gap-2 mb-4",
|
|
511
545
|
children: [/* @__PURE__ */ T(h, { className: "h-5 w-5 text-text-secondary" }), /* @__PURE__ */ T("h3", {
|
|
@@ -612,8 +646,8 @@ function D() {
|
|
|
612
646
|
let n = e.icon;
|
|
613
647
|
return /* @__PURE__ */ E("button", {
|
|
614
648
|
type: "button",
|
|
615
|
-
onClick: () =>
|
|
616
|
-
className: t("flex items-center gap-4 rounded-lg border border-border-
|
|
649
|
+
onClick: () => A(e.path),
|
|
650
|
+
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
651
|
children: [/* @__PURE__ */ T("div", {
|
|
618
652
|
className: "flex h-10 w-10 shrink-0 items-center justify-center rounded-lg bg-bg-sunken text-text-secondary",
|
|
619
653
|
children: /* @__PURE__ */ T(n, { className: "h-5 w-5" })
|
|
@@ -634,6 +668,6 @@ function D() {
|
|
|
634
668
|
});
|
|
635
669
|
}
|
|
636
670
|
//#endregion
|
|
637
|
-
export {
|
|
671
|
+
export { A as AdminDashboard };
|
|
638
672
|
|
|
639
673
|
//# sourceMappingURL=AdminDashboard.js.map
|