@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
|
@@ -6,13 +6,14 @@ import { formatCurrency as i } from "../../utils/formatters.js";
|
|
|
6
6
|
import { useEffect as a, useState as o } from "react";
|
|
7
7
|
import { Award as s, BarChart3 as c, IndianRupee as l, Loader2 as u, ShoppingBag as d, Star as f, Timer as p, Users as m, Zap as h } from "lucide-react";
|
|
8
8
|
import { jsx as g, jsxs as _ } from "react/jsx-runtime";
|
|
9
|
+
import { EmphasisPanel as v } from "@burdenoff/fe-libs/ui";
|
|
9
10
|
//#region src/adaptercloud/pages/admin/AdminAnalyticsPage.tsx
|
|
10
|
-
function
|
|
11
|
-
let { currentUser:
|
|
11
|
+
function y() {
|
|
12
|
+
let { currentUser: y } = e(), [b, x] = o(null), [S, C] = o(!0), [w, T] = o("month"), [E, D] = o("overview");
|
|
12
13
|
a(() => {
|
|
13
|
-
|
|
14
|
+
C(!0);
|
|
14
15
|
let e = setTimeout(() => {
|
|
15
|
-
|
|
16
|
+
x({
|
|
16
17
|
revenue: {
|
|
17
18
|
total: 125e5,
|
|
18
19
|
growth: 15.2,
|
|
@@ -114,12 +115,12 @@ function v() {
|
|
|
114
115
|
revenue: 189e4
|
|
115
116
|
}
|
|
116
117
|
] }
|
|
117
|
-
}),
|
|
118
|
+
}), C(!1);
|
|
118
119
|
}, 800);
|
|
119
120
|
return () => clearTimeout(e);
|
|
120
|
-
}, [
|
|
121
|
-
let
|
|
122
|
-
if (
|
|
121
|
+
}, [w]);
|
|
122
|
+
let O = (e) => e >= 1e7 ? `₹${(e / 1e7).toFixed(1)}Cr` : e >= 1e5 ? `₹${(e / 1e5).toFixed(1)}L` : i(e, { minimumFractionDigits: 0 }), k = (e) => e === 0 ? /* @__PURE__ */ g(s, { className: "h-5 w-5 text-status-warning-text" }) : e === 1 ? /* @__PURE__ */ g(s, { className: "h-5 w-5 text-text-secondary" }) : e === 2 ? /* @__PURE__ */ g(s, { className: "h-5 w-5 text-status-warning-text" }) : /* @__PURE__ */ g(c, { className: "h-5 w-5 text-text-secondary" });
|
|
123
|
+
if (S || !b) return /* @__PURE__ */ g(n, {
|
|
123
124
|
title: "Platform Analytics",
|
|
124
125
|
description: "Loading analytics...",
|
|
125
126
|
children: /* @__PURE__ */ _("div", {
|
|
@@ -130,7 +131,7 @@ function v() {
|
|
|
130
131
|
})]
|
|
131
132
|
})
|
|
132
133
|
});
|
|
133
|
-
let
|
|
134
|
+
let A = [
|
|
134
135
|
{
|
|
135
136
|
key: "overview",
|
|
136
137
|
label: "Overview",
|
|
@@ -155,12 +156,13 @@ function v() {
|
|
|
155
156
|
return /* @__PURE__ */ _(n, {
|
|
156
157
|
title: "Platform Analytics",
|
|
157
158
|
description: "Comprehensive platform metrics and trends",
|
|
159
|
+
purpose: "See how the whole marketplace is performing over time — growth in users and carts, order volume, revenue trends, and category breakdowns. Use it to spot what's working, catch dips early, and decide where to focus.",
|
|
158
160
|
children: [
|
|
159
161
|
/* @__PURE__ */ _("div", {
|
|
160
162
|
className: "flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4 mb-6",
|
|
161
163
|
children: [/* @__PURE__ */ _("select", {
|
|
162
|
-
value:
|
|
163
|
-
onChange: (e) =>
|
|
164
|
+
value: w,
|
|
165
|
+
onChange: (e) => T(e.target.value),
|
|
164
166
|
className: "rounded-lg border border-border-subtle bg-bg-surface py-2 px-3 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)] w-fit",
|
|
165
167
|
children: [
|
|
166
168
|
/* @__PURE__ */ g("option", {
|
|
@@ -189,37 +191,43 @@ function v() {
|
|
|
189
191
|
children: ["Last updated: ", (/* @__PURE__ */ new Date()).toLocaleString("en-IN")]
|
|
190
192
|
})]
|
|
191
193
|
}),
|
|
192
|
-
/* @__PURE__ */ _(
|
|
193
|
-
className: "
|
|
194
|
-
children: [
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
194
|
+
/* @__PURE__ */ _(v, {
|
|
195
|
+
className: "mb-8",
|
|
196
|
+
children: [/* @__PURE__ */ g("h2", {
|
|
197
|
+
className: "text-lg font-semibold text-text-primary mb-4",
|
|
198
|
+
children: "Key Metrics"
|
|
199
|
+
}), /* @__PURE__ */ _("div", {
|
|
200
|
+
className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4",
|
|
201
|
+
children: [
|
|
202
|
+
/* @__PURE__ */ g(r, {
|
|
203
|
+
icon: /* @__PURE__ */ g(l, { className: "h-5 w-5" }),
|
|
204
|
+
value: O(b.revenue.total),
|
|
205
|
+
label: "Total Revenue",
|
|
206
|
+
trend: "up",
|
|
207
|
+
trendValue: `+${b.revenue.growth}%`
|
|
208
|
+
}),
|
|
209
|
+
/* @__PURE__ */ g(r, {
|
|
210
|
+
icon: /* @__PURE__ */ g(d, { className: "h-5 w-5" }),
|
|
211
|
+
value: b.orders.total.toLocaleString("en-IN"),
|
|
212
|
+
label: "Total Orders",
|
|
213
|
+
trend: "up",
|
|
214
|
+
trendValue: `+${b.orders.growth}%`
|
|
215
|
+
}),
|
|
216
|
+
/* @__PURE__ */ g(r, {
|
|
217
|
+
icon: /* @__PURE__ */ g(m, { className: "h-5 w-5" }),
|
|
218
|
+
value: b.users.active.toLocaleString("en-IN"),
|
|
219
|
+
label: "Active Users",
|
|
220
|
+
trend: "up",
|
|
221
|
+
trendValue: `+${b.users.growth}%`
|
|
222
|
+
}),
|
|
223
|
+
/* @__PURE__ */ g(r, {
|
|
224
|
+
icon: /* @__PURE__ */ g(c, { className: "h-5 w-5" }),
|
|
225
|
+
value: b.carts.active.toLocaleString("en-IN"),
|
|
226
|
+
label: "Active Carts",
|
|
227
|
+
trendValue: `${b.carts.pending} pending`
|
|
228
|
+
})
|
|
229
|
+
]
|
|
230
|
+
})]
|
|
223
231
|
}),
|
|
224
232
|
/* @__PURE__ */ _("div", {
|
|
225
233
|
className: "rounded-lg border border-border-subtle bg-bg-surface mb-8",
|
|
@@ -227,12 +235,12 @@ function v() {
|
|
|
227
235
|
className: "border-b border-border-subtle",
|
|
228
236
|
children: /* @__PURE__ */ g("nav", {
|
|
229
237
|
className: "flex -mb-px overflow-x-auto",
|
|
230
|
-
children:
|
|
238
|
+
children: A.map((e) => {
|
|
231
239
|
let n = e.icon;
|
|
232
240
|
return /* @__PURE__ */ _("button", {
|
|
233
241
|
type: "button",
|
|
234
|
-
onClick: () =>
|
|
235
|
-
className: t("flex items-center gap-2 py-3 px-4 sm:px-6 text-sm font-medium whitespace-nowrap border-b-2 transition-colors",
|
|
242
|
+
onClick: () => D(e.key),
|
|
243
|
+
className: t("flex items-center gap-2 py-3 px-4 sm:px-6 text-sm font-medium whitespace-nowrap border-b-2 transition-colors", E === e.key ? "border-primary text-primary" : "border-transparent text-text-secondary hover:text-text-primary"),
|
|
236
244
|
children: [/* @__PURE__ */ g(n, { className: "h-4 w-4" }), /* @__PURE__ */ g("span", {
|
|
237
245
|
className: "hidden sm:inline",
|
|
238
246
|
children: e.label
|
|
@@ -243,7 +251,7 @@ function v() {
|
|
|
243
251
|
}), /* @__PURE__ */ _("div", {
|
|
244
252
|
className: "p-4 sm:p-6",
|
|
245
253
|
children: [
|
|
246
|
-
|
|
254
|
+
E === "overview" && /* @__PURE__ */ _("div", {
|
|
247
255
|
className: "space-y-8",
|
|
248
256
|
children: [/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("h3", {
|
|
249
257
|
className: "text-lg font-semibold text-text-primary mb-4",
|
|
@@ -252,53 +260,53 @@ function v() {
|
|
|
252
260
|
className: "grid grid-cols-1 sm:grid-cols-3 gap-4",
|
|
253
261
|
children: [
|
|
254
262
|
/* @__PURE__ */ _("div", {
|
|
255
|
-
className: "rounded-lg border border-
|
|
263
|
+
className: "rounded-lg border border-status-success-border/30 bg-status-success-bg-subtle/10 p-4",
|
|
256
264
|
children: [
|
|
257
265
|
/* @__PURE__ */ g("p", {
|
|
258
|
-
className: "text-sm text-
|
|
266
|
+
className: "text-sm text-status-success-text",
|
|
259
267
|
children: "Completed Orders"
|
|
260
268
|
}),
|
|
261
269
|
/* @__PURE__ */ g("p", {
|
|
262
|
-
className: "text-2xl font-bold text-
|
|
263
|
-
children:
|
|
270
|
+
className: "text-2xl font-bold text-status-success-text",
|
|
271
|
+
children: b.orders.completed.toLocaleString("en-IN")
|
|
264
272
|
}),
|
|
265
273
|
/* @__PURE__ */ _("p", {
|
|
266
|
-
className: "text-sm text-
|
|
267
|
-
children: [(
|
|
274
|
+
className: "text-sm text-status-success-text",
|
|
275
|
+
children: [(b.orders.completed / b.orders.total * 100).toFixed(1), "% of total"]
|
|
268
276
|
})
|
|
269
277
|
]
|
|
270
278
|
}),
|
|
271
279
|
/* @__PURE__ */ _("div", {
|
|
272
|
-
className: "rounded-lg border border-
|
|
280
|
+
className: "rounded-lg border border-status-warning-border/30 bg-status-warning-bg-subtle/10 p-4",
|
|
273
281
|
children: [
|
|
274
282
|
/* @__PURE__ */ g("p", {
|
|
275
|
-
className: "text-sm text-
|
|
283
|
+
className: "text-sm text-status-warning-text",
|
|
276
284
|
children: "Pending Orders"
|
|
277
285
|
}),
|
|
278
286
|
/* @__PURE__ */ g("p", {
|
|
279
|
-
className: "text-2xl font-bold text-
|
|
280
|
-
children:
|
|
287
|
+
className: "text-2xl font-bold text-status-warning-text",
|
|
288
|
+
children: b.orders.pending.toLocaleString("en-IN")
|
|
281
289
|
}),
|
|
282
290
|
/* @__PURE__ */ _("p", {
|
|
283
|
-
className: "text-sm text-
|
|
284
|
-
children: [(
|
|
291
|
+
className: "text-sm text-status-warning-text",
|
|
292
|
+
children: [(b.orders.pending / b.orders.total * 100).toFixed(1), "% of total"]
|
|
285
293
|
})
|
|
286
294
|
]
|
|
287
295
|
}),
|
|
288
296
|
/* @__PURE__ */ _("div", {
|
|
289
|
-
className: "rounded-lg border border-
|
|
297
|
+
className: "rounded-lg border border-status-error-border/30 bg-status-error-bg-subtle/10 p-4",
|
|
290
298
|
children: [
|
|
291
299
|
/* @__PURE__ */ g("p", {
|
|
292
|
-
className: "text-sm text-
|
|
300
|
+
className: "text-sm text-status-error-text",
|
|
293
301
|
children: "Cancelled Orders"
|
|
294
302
|
}),
|
|
295
303
|
/* @__PURE__ */ g("p", {
|
|
296
|
-
className: "text-2xl font-bold text-
|
|
297
|
-
children:
|
|
304
|
+
className: "text-2xl font-bold text-status-error-text",
|
|
305
|
+
children: b.orders.cancelled.toLocaleString("en-IN")
|
|
298
306
|
}),
|
|
299
307
|
/* @__PURE__ */ _("p", {
|
|
300
|
-
className: "text-sm text-
|
|
301
|
-
children: [(
|
|
308
|
+
className: "text-sm text-status-error-text",
|
|
309
|
+
children: [(b.orders.cancelled / b.orders.total * 100).toFixed(1), "% of total"]
|
|
302
310
|
})
|
|
303
311
|
]
|
|
304
312
|
})
|
|
@@ -332,14 +340,14 @@ function v() {
|
|
|
332
340
|
]
|
|
333
341
|
}) }), /* @__PURE__ */ g("tbody", {
|
|
334
342
|
className: "divide-y divide-border",
|
|
335
|
-
children:
|
|
343
|
+
children: b.carts.topPerforming.map((e, t) => /* @__PURE__ */ _("tr", {
|
|
336
344
|
className: "hover:bg-accent/50 transition-colors",
|
|
337
345
|
children: [
|
|
338
346
|
/* @__PURE__ */ g("td", {
|
|
339
347
|
className: "px-4 py-3",
|
|
340
348
|
children: /* @__PURE__ */ _("div", {
|
|
341
349
|
className: "flex items-center gap-2",
|
|
342
|
-
children: [
|
|
350
|
+
children: [k(t), /* @__PURE__ */ g("span", {
|
|
343
351
|
className: "text-sm font-medium text-text-primary",
|
|
344
352
|
children: e.name
|
|
345
353
|
})]
|
|
@@ -347,7 +355,7 @@ function v() {
|
|
|
347
355
|
}),
|
|
348
356
|
/* @__PURE__ */ g("td", {
|
|
349
357
|
className: "px-4 py-3 text-sm text-right font-medium text-text-primary",
|
|
350
|
-
children:
|
|
358
|
+
children: O(e.revenue)
|
|
351
359
|
}),
|
|
352
360
|
/* @__PURE__ */ g("td", {
|
|
353
361
|
className: "px-4 py-3 text-sm text-right text-text-primary",
|
|
@@ -357,7 +365,7 @@ function v() {
|
|
|
357
365
|
className: "px-4 py-3 text-sm text-right text-text-primary",
|
|
358
366
|
children: /* @__PURE__ */ _("span", {
|
|
359
367
|
className: "flex items-center justify-end gap-1",
|
|
360
|
-
children: [/* @__PURE__ */ g(f, { className: "h-3.5 w-3.5 fill-
|
|
368
|
+
children: [/* @__PURE__ */ g(f, { className: "h-3.5 w-3.5 fill-status-warning-text text-status-warning-text" }), e.rating]
|
|
361
369
|
})
|
|
362
370
|
})
|
|
363
371
|
]
|
|
@@ -366,19 +374,19 @@ function v() {
|
|
|
366
374
|
})
|
|
367
375
|
})] })]
|
|
368
376
|
}),
|
|
369
|
-
|
|
377
|
+
E === "revenue" && /* @__PURE__ */ _("div", {
|
|
370
378
|
className: "space-y-8",
|
|
371
379
|
children: [/* @__PURE__ */ _("div", {
|
|
372
380
|
className: "grid grid-cols-1 md:grid-cols-3 gap-4",
|
|
373
381
|
children: [
|
|
374
382
|
/* @__PURE__ */ _("div", {
|
|
375
|
-
className: "rounded-lg border border-blue-
|
|
383
|
+
className: "rounded-lg border border-accent-blue-subtle/30 bg-accent-blue-subtle/10 p-6",
|
|
376
384
|
children: [/* @__PURE__ */ g("h4", {
|
|
377
|
-
className: "text-sm font-medium text-
|
|
385
|
+
className: "text-sm font-medium text-accent-blue mb-2",
|
|
378
386
|
children: "This Month"
|
|
379
387
|
}), /* @__PURE__ */ g("p", {
|
|
380
|
-
className: "text-2xl font-bold text-
|
|
381
|
-
children:
|
|
388
|
+
className: "text-2xl font-bold text-accent-blue",
|
|
389
|
+
children: O(b.revenue.thisMonth)
|
|
382
390
|
})]
|
|
383
391
|
}),
|
|
384
392
|
/* @__PURE__ */ _("div", {
|
|
@@ -388,17 +396,17 @@ function v() {
|
|
|
388
396
|
children: "Last Month"
|
|
389
397
|
}), /* @__PURE__ */ g("p", {
|
|
390
398
|
className: "text-2xl font-bold text-text-primary",
|
|
391
|
-
children:
|
|
399
|
+
children: O(b.revenue.lastMonth)
|
|
392
400
|
})]
|
|
393
401
|
}),
|
|
394
402
|
/* @__PURE__ */ _("div", {
|
|
395
|
-
className: "rounded-lg border border-
|
|
403
|
+
className: "rounded-lg border border-status-success-border/30 bg-status-success-bg-subtle/10 p-6",
|
|
396
404
|
children: [/* @__PURE__ */ g("h4", {
|
|
397
|
-
className: "text-sm font-medium text-
|
|
405
|
+
className: "text-sm font-medium text-status-success-text mb-2",
|
|
398
406
|
children: "Average Order Value"
|
|
399
407
|
}), /* @__PURE__ */ _("p", {
|
|
400
|
-
className: "text-2xl font-bold text-
|
|
401
|
-
children: ["₹",
|
|
408
|
+
className: "text-2xl font-bold text-status-success-text",
|
|
409
|
+
children: ["₹", b.orders.averageOrderValue]
|
|
402
410
|
})]
|
|
403
411
|
})
|
|
404
412
|
]
|
|
@@ -407,11 +415,11 @@ function v() {
|
|
|
407
415
|
children: "Revenue by City"
|
|
408
416
|
}), /* @__PURE__ */ g("div", {
|
|
409
417
|
className: "space-y-3",
|
|
410
|
-
children:
|
|
418
|
+
children: b.geography.topCities.map((e, t) => /* @__PURE__ */ _("div", {
|
|
411
419
|
className: "flex items-center justify-between p-4 rounded-lg border border-border-subtle bg-bg-sunken/30",
|
|
412
420
|
children: [/* @__PURE__ */ _("div", {
|
|
413
421
|
className: "flex items-center gap-3",
|
|
414
|
-
children: [
|
|
422
|
+
children: [k(t), /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("p", {
|
|
415
423
|
className: "font-medium text-text-primary",
|
|
416
424
|
children: e.city
|
|
417
425
|
}), /* @__PURE__ */ _("p", {
|
|
@@ -422,38 +430,38 @@ function v() {
|
|
|
422
430
|
className: "text-right",
|
|
423
431
|
children: [/* @__PURE__ */ g("p", {
|
|
424
432
|
className: "font-bold text-text-primary",
|
|
425
|
-
children:
|
|
433
|
+
children: O(e.revenue)
|
|
426
434
|
}), /* @__PURE__ */ _("p", {
|
|
427
435
|
className: "text-sm text-text-secondary",
|
|
428
|
-
children: [(e.revenue /
|
|
436
|
+
children: [(e.revenue / b.revenue.total * 100).toFixed(1), "%"]
|
|
429
437
|
})]
|
|
430
438
|
})]
|
|
431
439
|
}, e.city))
|
|
432
440
|
})] })]
|
|
433
441
|
}),
|
|
434
|
-
|
|
442
|
+
E === "users" && /* @__PURE__ */ _("div", {
|
|
435
443
|
className: "space-y-8",
|
|
436
444
|
children: [/* @__PURE__ */ g("div", {
|
|
437
445
|
className: "grid grid-cols-1 md:grid-cols-4 gap-4",
|
|
438
446
|
children: [
|
|
439
447
|
{
|
|
440
448
|
label: "Customers",
|
|
441
|
-
value:
|
|
449
|
+
value: b.users.customers,
|
|
442
450
|
color: "blue"
|
|
443
451
|
},
|
|
444
452
|
{
|
|
445
453
|
label: "Cart Owners",
|
|
446
|
-
value:
|
|
454
|
+
value: b.users.cartOwners,
|
|
447
455
|
color: "green"
|
|
448
456
|
},
|
|
449
457
|
{
|
|
450
458
|
label: "Workers",
|
|
451
|
-
value:
|
|
459
|
+
value: b.users.workers,
|
|
452
460
|
color: "yellow"
|
|
453
461
|
},
|
|
454
462
|
{
|
|
455
463
|
label: "Investors",
|
|
456
|
-
value:
|
|
464
|
+
value: b.users.investors,
|
|
457
465
|
color: "purple"
|
|
458
466
|
}
|
|
459
467
|
].map((e) => /* @__PURE__ */ _("div", {
|
|
@@ -469,7 +477,7 @@ function v() {
|
|
|
469
477
|
}),
|
|
470
478
|
/* @__PURE__ */ _("p", {
|
|
471
479
|
className: t("text-sm", `text-${e.color}-600/80 dark:text-${e.color}-400/80`),
|
|
472
|
-
children: [(e.value /
|
|
480
|
+
children: [(e.value / b.users.total * 100).toFixed(1), "%"]
|
|
473
481
|
})
|
|
474
482
|
]
|
|
475
483
|
}, e.label))
|
|
@@ -484,26 +492,26 @@ function v() {
|
|
|
484
492
|
className: "text-sm text-text-secondary mb-2",
|
|
485
493
|
children: "New Users This Month"
|
|
486
494
|
}), /* @__PURE__ */ g("p", {
|
|
487
|
-
className: "text-3xl font-bold text-
|
|
488
|
-
children:
|
|
495
|
+
className: "text-3xl font-bold text-accent-blue",
|
|
496
|
+
children: b.users.newThisMonth
|
|
489
497
|
})] }), /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("p", {
|
|
490
498
|
className: "text-sm text-text-secondary mb-2",
|
|
491
499
|
children: "Active Users Rate"
|
|
492
500
|
}), /* @__PURE__ */ _("p", {
|
|
493
|
-
className: "text-3xl font-bold text-
|
|
494
|
-
children: [(
|
|
501
|
+
className: "text-3xl font-bold text-status-success-text",
|
|
502
|
+
children: [(b.users.active / b.users.total * 100).toFixed(1), "%"]
|
|
495
503
|
})] })]
|
|
496
504
|
})]
|
|
497
505
|
})]
|
|
498
506
|
}),
|
|
499
|
-
|
|
507
|
+
E === "performance" && /* @__PURE__ */ _("div", {
|
|
500
508
|
className: "space-y-8",
|
|
501
509
|
children: [
|
|
502
510
|
/* @__PURE__ */ _("div", {
|
|
503
511
|
className: "grid grid-cols-1 md:grid-cols-3 gap-6",
|
|
504
512
|
children: [
|
|
505
513
|
/* @__PURE__ */ _("div", {
|
|
506
|
-
className: "rounded-lg border border-border-
|
|
514
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-6 bg-gloss-card shadow-pop",
|
|
507
515
|
children: [
|
|
508
516
|
/* @__PURE__ */ _("div", {
|
|
509
517
|
className: "flex items-center gap-2 mb-2",
|
|
@@ -514,7 +522,7 @@ function v() {
|
|
|
514
522
|
}),
|
|
515
523
|
/* @__PURE__ */ _("p", {
|
|
516
524
|
className: "text-3xl font-bold text-text-primary",
|
|
517
|
-
children: [
|
|
525
|
+
children: [b.performance.averageDeliveryTime, " min"]
|
|
518
526
|
}),
|
|
519
527
|
/* @__PURE__ */ g("p", {
|
|
520
528
|
className: "text-sm text-text-secondary mt-1",
|
|
@@ -523,7 +531,7 @@ function v() {
|
|
|
523
531
|
]
|
|
524
532
|
}),
|
|
525
533
|
/* @__PURE__ */ _("div", {
|
|
526
|
-
className: "rounded-lg border border-border-
|
|
534
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-6 bg-gloss-card shadow-pop",
|
|
527
535
|
children: [
|
|
528
536
|
/* @__PURE__ */ _("div", {
|
|
529
537
|
className: "flex items-center gap-2 mb-2",
|
|
@@ -534,7 +542,7 @@ function v() {
|
|
|
534
542
|
}),
|
|
535
543
|
/* @__PURE__ */ _("p", {
|
|
536
544
|
className: "text-3xl font-bold text-text-primary flex items-center gap-1",
|
|
537
|
-
children: [/* @__PURE__ */ g(f, { className: "h-6 w-6 fill-
|
|
545
|
+
children: [/* @__PURE__ */ g(f, { className: "h-6 w-6 fill-status-warning-text text-status-warning-text" }), b.performance.customerSatisfaction]
|
|
538
546
|
}),
|
|
539
547
|
/* @__PURE__ */ g("p", {
|
|
540
548
|
className: "text-sm text-text-secondary mt-1",
|
|
@@ -543,7 +551,7 @@ function v() {
|
|
|
543
551
|
]
|
|
544
552
|
}),
|
|
545
553
|
/* @__PURE__ */ _("div", {
|
|
546
|
-
className: "rounded-lg border border-border-
|
|
554
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-6 bg-gloss-card shadow-pop",
|
|
547
555
|
children: [
|
|
548
556
|
/* @__PURE__ */ _("div", {
|
|
549
557
|
className: "flex items-center gap-2 mb-2",
|
|
@@ -554,7 +562,7 @@ function v() {
|
|
|
554
562
|
}),
|
|
555
563
|
/* @__PURE__ */ _("p", {
|
|
556
564
|
className: "text-3xl font-bold text-text-primary",
|
|
557
|
-
children: [
|
|
565
|
+
children: [b.performance.platformFee, "%"]
|
|
558
566
|
}),
|
|
559
567
|
/* @__PURE__ */ g("p", {
|
|
560
568
|
className: "text-sm text-text-secondary mt-1",
|
|
@@ -578,39 +586,39 @@ function v() {
|
|
|
578
586
|
className: "text-sm text-text-secondary mb-2",
|
|
579
587
|
children: "Operating Costs"
|
|
580
588
|
}), /* @__PURE__ */ g("p", {
|
|
581
|
-
className: "text-2xl font-bold text-
|
|
582
|
-
children:
|
|
589
|
+
className: "text-2xl font-bold text-status-error-text",
|
|
590
|
+
children: O(b.performance.operatingCosts)
|
|
583
591
|
})] }),
|
|
584
592
|
/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("p", {
|
|
585
593
|
className: "text-sm text-text-secondary mb-2",
|
|
586
594
|
children: "Total Revenue"
|
|
587
595
|
}), /* @__PURE__ */ g("p", {
|
|
588
|
-
className: "text-2xl font-bold text-
|
|
589
|
-
children:
|
|
596
|
+
className: "text-2xl font-bold text-accent-blue",
|
|
597
|
+
children: O(b.revenue.total)
|
|
590
598
|
})] }),
|
|
591
599
|
/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("p", {
|
|
592
600
|
className: "text-sm text-text-secondary mb-2",
|
|
593
601
|
children: "Net Profit"
|
|
594
602
|
}), /* @__PURE__ */ g("p", {
|
|
595
|
-
className: "text-2xl font-bold text-
|
|
596
|
-
children:
|
|
603
|
+
className: "text-2xl font-bold text-status-success-text",
|
|
604
|
+
children: O(b.performance.netProfit)
|
|
597
605
|
})] })
|
|
598
606
|
]
|
|
599
607
|
}),
|
|
600
608
|
/* @__PURE__ */ _("div", {
|
|
601
|
-
className: "mt-4 rounded-lg border border-border-
|
|
609
|
+
className: "mt-4 rounded-lg border border-border-seam bg-bg-surface p-4 bg-gloss-card shadow-pop",
|
|
602
610
|
children: [/* @__PURE__ */ g("p", {
|
|
603
611
|
className: "text-sm text-text-secondary",
|
|
604
612
|
children: "Profit Margin"
|
|
605
613
|
}), /* @__PURE__ */ _("p", {
|
|
606
614
|
className: "text-xl font-bold text-text-primary",
|
|
607
|
-
children: [(
|
|
615
|
+
children: [(b.performance.netProfit / b.revenue.total * 100).toFixed(1), "%"]
|
|
608
616
|
})]
|
|
609
617
|
})
|
|
610
618
|
]
|
|
611
619
|
}),
|
|
612
620
|
/* @__PURE__ */ _("div", {
|
|
613
|
-
className: "rounded-lg border border-border-
|
|
621
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-6 bg-gloss-card shadow-pop",
|
|
614
622
|
children: [/* @__PURE__ */ g("h3", {
|
|
615
623
|
className: "text-lg font-semibold text-text-primary mb-4",
|
|
616
624
|
children: "Today's Performance"
|
|
@@ -620,14 +628,14 @@ function v() {
|
|
|
620
628
|
className: "text-sm text-text-secondary mb-2",
|
|
621
629
|
children: "Orders Today"
|
|
622
630
|
}), /* @__PURE__ */ g("p", {
|
|
623
|
-
className: "text-3xl font-bold text-
|
|
624
|
-
children:
|
|
631
|
+
className: "text-3xl font-bold text-accent-blue",
|
|
632
|
+
children: b.orders.ordersToday
|
|
625
633
|
})] }), /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("p", {
|
|
626
634
|
className: "text-sm text-text-secondary mb-2",
|
|
627
635
|
children: "Estimated Revenue"
|
|
628
636
|
}), /* @__PURE__ */ g("p", {
|
|
629
|
-
className: "text-3xl font-bold text-
|
|
630
|
-
children:
|
|
637
|
+
className: "text-3xl font-bold text-status-success-text",
|
|
638
|
+
children: O(b.orders.ordersToday * b.orders.averageOrderValue)
|
|
631
639
|
})] })]
|
|
632
640
|
})]
|
|
633
641
|
})
|
|
@@ -640,6 +648,6 @@ function v() {
|
|
|
640
648
|
});
|
|
641
649
|
}
|
|
642
650
|
//#endregion
|
|
643
|
-
export {
|
|
651
|
+
export { y as AdminAnalyticsPage };
|
|
644
652
|
|
|
645
653
|
//# sourceMappingURL=AdminAnalyticsPage.js.map
|