@burdenoff/microfe-kadaikodi 2026.625.1 → 2026.626.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/kadaikodi/pages/HomePage.js +19 -14
- package/dist/kadaikodi/pages/HomePage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js +118 -83
- package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminDashboard.js +75 -46
- package/dist/kadaikodi/pages/admin/AdminDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminFinancialPage.js +144 -128
- package/dist/kadaikodi/pages/admin/AdminFinancialPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminOrdersPage.js +255 -237
- package/dist/kadaikodi/pages/admin/AdminOrdersPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminProfilePage.js +129 -128
- package/dist/kadaikodi/pages/admin/AdminProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminSettingsPage.js +178 -150
- package/dist/kadaikodi/pages/admin/AdminSettingsPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/CartManagementPage.js +182 -159
- package/dist/kadaikodi/pages/admin/CartManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/UserManagementPage.js +325 -303
- package/dist/kadaikodi/pages/admin/UserManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js +500 -469
- package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.js +534 -503
- package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js +73 -48
- package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/CartOwnerProfilePage.js +103 -96
- package/dist/kadaikodi/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/CartServiceConfigPage.js +130 -129
- package/dist/kadaikodi/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js +673 -670
- package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js +517 -514
- package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.js +140 -125
- package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/common/HelpSupportPage.js +302 -311
- package/dist/kadaikodi/pages/common/HelpSupportPage.js.map +1 -1
- package/dist/kadaikodi/pages/common/NotificationCenterPage.js +102 -91
- package/dist/kadaikodi/pages/common/NotificationCenterPage.js.map +1 -1
- package/dist/kadaikodi/pages/common/SettingsPage.js +766 -734
- package/dist/kadaikodi/pages/common/SettingsPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/BookingDetailsPage.js +366 -356
- package/dist/kadaikodi/pages/customer/BookingDetailsPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CartDetailPage.js +243 -213
- package/dist/kadaikodi/pages/customer/CartDetailPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CartDiscoveryPage.js +200 -195
- package/dist/kadaikodi/pages/customer/CartDiscoveryPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CheckoutPage.js +95 -89
- package/dist/kadaikodi/pages/customer/CheckoutPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CustomerDashboard.js +430 -387
- package/dist/kadaikodi/pages/customer/CustomerDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CustomerProfilePage.js +488 -478
- package/dist/kadaikodi/pages/customer/CustomerProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.js +523 -512
- package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/FavoritesPage.js +83 -75
- package/dist/kadaikodi/pages/customer/FavoritesPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/OrderHistoryPage.js +116 -108
- package/dist/kadaikodi/pages/customer/OrderHistoryPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/OrderTrackingPage.js +67 -61
- package/dist/kadaikodi/pages/customer/OrderTrackingPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/PaymentMethodsPage.js +90 -73
- package/dist/kadaikodi/pages/customer/PaymentMethodsPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/ReviewsPage.js +80 -72
- package/dist/kadaikodi/pages/customer/ReviewsPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/SavedAddressesPage.js +70 -53
- package/dist/kadaikodi/pages/customer/SavedAddressesPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js +289 -255
- package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js +92 -84
- package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.js +63 -55
- package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorDashboard.js +339 -311
- package/dist/kadaikodi/pages/investor/InvestorDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorInvestmentsPage.js +40 -32
- package/dist/kadaikodi/pages/investor/InvestorInvestmentsPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorPortfolioPage.js +174 -150
- package/dist/kadaikodi/pages/investor/InvestorPortfolioPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorProfilePage.js +385 -381
- package/dist/kadaikodi/pages/investor/InvestorProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/TaskDetailsPage.js +302 -273
- package/dist/kadaikodi/pages/worker/TaskDetailsPage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerDashboard.js +87 -59
- package/dist/kadaikodi/pages/worker/WorkerDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerOrdersPage.js +82 -75
- package/dist/kadaikodi/pages/worker/WorkerOrdersPage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerProfilePage.js +81 -77
- package/dist/kadaikodi/pages/worker/WorkerProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js +78 -71
- package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js.map +1 -1
- package/package.json +2 -2
|
@@ -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, NextSteps as y, PagePurpose as b } from "@burdenoff/fe-libs/ui";
|
|
9
10
|
//#region src/kadaikodi/pages/admin/AdminAnalyticsPage.tsx
|
|
10
|
-
function
|
|
11
|
-
let { currentUser:
|
|
11
|
+
function x() {
|
|
12
|
+
let { currentUser: x, navigateTo: S } = e(), [C, w] = o(null), [T, E] = o(!0), [D, O] = o("month"), [k, A] = o("overview");
|
|
12
13
|
a(() => {
|
|
13
|
-
|
|
14
|
+
E(!0);
|
|
14
15
|
let e = setTimeout(() => {
|
|
15
|
-
|
|
16
|
+
w({
|
|
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
|
+
}), E(!1);
|
|
118
119
|
}, 800);
|
|
119
120
|
return () => clearTimeout(e);
|
|
120
|
-
}, [
|
|
121
|
-
let
|
|
122
|
-
if (
|
|
121
|
+
}, [D]);
|
|
122
|
+
let j = (e) => e >= 1e7 ? `₹${(e / 1e7).toFixed(1)}Cr` : e >= 1e5 ? `₹${(e / 1e5).toFixed(1)}L` : i(e, { minimumFractionDigits: 0 }), M = (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 (T || !C) 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 N = [
|
|
134
135
|
{
|
|
135
136
|
key: "overview",
|
|
136
137
|
label: "Overview",
|
|
@@ -156,11 +157,39 @@ function v() {
|
|
|
156
157
|
title: "Platform Analytics",
|
|
157
158
|
description: "Comprehensive platform metrics and trends",
|
|
158
159
|
children: [
|
|
160
|
+
/* @__PURE__ */ g(b, {
|
|
161
|
+
className: "mb-6",
|
|
162
|
+
children: "Your bird's-eye view of how Kadaikodi is performing. Use this page to spot revenue and order trends, see which carts and cities drive the most business, and understand where users are growing — so you can decide where to invest, which carts to promote, and where service quality needs attention. Switch the period filter and tabs to drill into revenue, users, and operational performance."
|
|
163
|
+
}),
|
|
164
|
+
/* @__PURE__ */ g(y, {
|
|
165
|
+
storageKey: "kadaikodi-admin-analytics",
|
|
166
|
+
className: "mb-6",
|
|
167
|
+
steps: [
|
|
168
|
+
{
|
|
169
|
+
id: "review-carts",
|
|
170
|
+
label: "Review top-performing carts",
|
|
171
|
+
description: "See which carts drive the most revenue and orders.",
|
|
172
|
+
onClick: () => A("overview")
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
id: "check-revenue",
|
|
176
|
+
label: "Break down revenue by city",
|
|
177
|
+
description: "Find your strongest markets in the Revenue tab.",
|
|
178
|
+
onClick: () => A("revenue")
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
id: "manage-carts",
|
|
182
|
+
label: "Approve pending carts",
|
|
183
|
+
description: "Onboard the carts waiting for review.",
|
|
184
|
+
onClick: () => S("/admin/carts")
|
|
185
|
+
}
|
|
186
|
+
]
|
|
187
|
+
}),
|
|
159
188
|
/* @__PURE__ */ _("div", {
|
|
160
189
|
className: "flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4 mb-6",
|
|
161
190
|
children: [/* @__PURE__ */ _("select", {
|
|
162
|
-
value:
|
|
163
|
-
onChange: (e) =>
|
|
191
|
+
value: D,
|
|
192
|
+
onChange: (e) => O(e.target.value),
|
|
164
193
|
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
194
|
children: [
|
|
166
195
|
/* @__PURE__ */ g("option", {
|
|
@@ -189,38 +218,44 @@ function v() {
|
|
|
189
218
|
children: ["Last updated: ", (/* @__PURE__ */ new Date()).toLocaleString("en-IN")]
|
|
190
219
|
})]
|
|
191
220
|
}),
|
|
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
|
-
|
|
223
|
-
|
|
221
|
+
/* @__PURE__ */ _(v, {
|
|
222
|
+
className: "mb-8",
|
|
223
|
+
children: [/* @__PURE__ */ g("h2", {
|
|
224
|
+
className: "mb-4 text-lg font-semibold text-text-primary",
|
|
225
|
+
children: "Key Metrics"
|
|
226
|
+
}), /* @__PURE__ */ _("div", {
|
|
227
|
+
className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4",
|
|
228
|
+
children: [
|
|
229
|
+
/* @__PURE__ */ g(r, {
|
|
230
|
+
featured: !0,
|
|
231
|
+
icon: /* @__PURE__ */ g(l, { className: "h-5 w-5" }),
|
|
232
|
+
value: j(C.revenue.total),
|
|
233
|
+
label: "Total Revenue",
|
|
234
|
+
trend: "up",
|
|
235
|
+
trendValue: `+${C.revenue.growth}%`
|
|
236
|
+
}),
|
|
237
|
+
/* @__PURE__ */ g(r, {
|
|
238
|
+
icon: /* @__PURE__ */ g(d, { className: "h-5 w-5" }),
|
|
239
|
+
value: C.orders.total.toLocaleString("en-IN"),
|
|
240
|
+
label: "Total Orders",
|
|
241
|
+
trend: "up",
|
|
242
|
+
trendValue: `+${C.orders.growth}%`
|
|
243
|
+
}),
|
|
244
|
+
/* @__PURE__ */ g(r, {
|
|
245
|
+
icon: /* @__PURE__ */ g(m, { className: "h-5 w-5" }),
|
|
246
|
+
value: C.users.active.toLocaleString("en-IN"),
|
|
247
|
+
label: "Active Users",
|
|
248
|
+
trend: "up",
|
|
249
|
+
trendValue: `+${C.users.growth}%`
|
|
250
|
+
}),
|
|
251
|
+
/* @__PURE__ */ g(r, {
|
|
252
|
+
icon: /* @__PURE__ */ g(c, { className: "h-5 w-5" }),
|
|
253
|
+
value: C.carts.active.toLocaleString("en-IN"),
|
|
254
|
+
label: "Active Carts",
|
|
255
|
+
trendValue: `${C.carts.pending} pending`
|
|
256
|
+
})
|
|
257
|
+
]
|
|
258
|
+
})]
|
|
224
259
|
}),
|
|
225
260
|
/* @__PURE__ */ _("div", {
|
|
226
261
|
className: "rounded-lg border border-border-subtle bg-bg-surface mb-8",
|
|
@@ -228,12 +263,12 @@ function v() {
|
|
|
228
263
|
className: "border-b border-border-subtle",
|
|
229
264
|
children: /* @__PURE__ */ g("nav", {
|
|
230
265
|
className: "flex -mb-px overflow-x-auto",
|
|
231
|
-
children:
|
|
266
|
+
children: N.map((e) => {
|
|
232
267
|
let n = e.icon;
|
|
233
268
|
return /* @__PURE__ */ _("button", {
|
|
234
269
|
type: "button",
|
|
235
|
-
onClick: () =>
|
|
236
|
-
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",
|
|
270
|
+
onClick: () => A(e.key),
|
|
271
|
+
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", k === e.key ? "border-primary text-primary" : "border-transparent text-text-secondary hover:text-text-primary"),
|
|
237
272
|
children: [/* @__PURE__ */ g(n, { className: "h-4 w-4" }), /* @__PURE__ */ g("span", {
|
|
238
273
|
className: "hidden sm:inline",
|
|
239
274
|
children: e.label
|
|
@@ -244,7 +279,7 @@ function v() {
|
|
|
244
279
|
}), /* @__PURE__ */ _("div", {
|
|
245
280
|
className: "p-4 sm:p-6",
|
|
246
281
|
children: [
|
|
247
|
-
|
|
282
|
+
k === "overview" && /* @__PURE__ */ _("div", {
|
|
248
283
|
className: "space-y-8",
|
|
249
284
|
children: [/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("h3", {
|
|
250
285
|
className: "text-lg font-semibold text-text-primary mb-4",
|
|
@@ -261,11 +296,11 @@ function v() {
|
|
|
261
296
|
}),
|
|
262
297
|
/* @__PURE__ */ g("p", {
|
|
263
298
|
className: "text-2xl font-bold text-status-success-text",
|
|
264
|
-
children:
|
|
299
|
+
children: C.orders.completed.toLocaleString("en-IN")
|
|
265
300
|
}),
|
|
266
301
|
/* @__PURE__ */ _("p", {
|
|
267
302
|
className: "text-sm text-status-success-text/80",
|
|
268
|
-
children: [(
|
|
303
|
+
children: [(C.orders.completed / C.orders.total * 100).toFixed(1), "% of total"]
|
|
269
304
|
})
|
|
270
305
|
]
|
|
271
306
|
}),
|
|
@@ -278,11 +313,11 @@ function v() {
|
|
|
278
313
|
}),
|
|
279
314
|
/* @__PURE__ */ g("p", {
|
|
280
315
|
className: "text-2xl font-bold text-status-warning-text",
|
|
281
|
-
children:
|
|
316
|
+
children: C.orders.pending.toLocaleString("en-IN")
|
|
282
317
|
}),
|
|
283
318
|
/* @__PURE__ */ _("p", {
|
|
284
319
|
className: "text-sm text-status-warning-text/80",
|
|
285
|
-
children: [(
|
|
320
|
+
children: [(C.orders.pending / C.orders.total * 100).toFixed(1), "% of total"]
|
|
286
321
|
})
|
|
287
322
|
]
|
|
288
323
|
}),
|
|
@@ -295,11 +330,11 @@ function v() {
|
|
|
295
330
|
}),
|
|
296
331
|
/* @__PURE__ */ g("p", {
|
|
297
332
|
className: "text-2xl font-bold text-status-error-text",
|
|
298
|
-
children:
|
|
333
|
+
children: C.orders.cancelled.toLocaleString("en-IN")
|
|
299
334
|
}),
|
|
300
335
|
/* @__PURE__ */ _("p", {
|
|
301
336
|
className: "text-sm text-status-error-text/80",
|
|
302
|
-
children: [(
|
|
337
|
+
children: [(C.orders.cancelled / C.orders.total * 100).toFixed(1), "% of total"]
|
|
303
338
|
})
|
|
304
339
|
]
|
|
305
340
|
})
|
|
@@ -333,14 +368,14 @@ function v() {
|
|
|
333
368
|
]
|
|
334
369
|
}) }), /* @__PURE__ */ g("tbody", {
|
|
335
370
|
className: "divide-y divide-border",
|
|
336
|
-
children:
|
|
371
|
+
children: C.carts.topPerforming.map((e, t) => /* @__PURE__ */ _("tr", {
|
|
337
372
|
className: "hover:bg-accent/50 transition-colors",
|
|
338
373
|
children: [
|
|
339
374
|
/* @__PURE__ */ g("td", {
|
|
340
375
|
className: "px-4 py-3",
|
|
341
376
|
children: /* @__PURE__ */ _("div", {
|
|
342
377
|
className: "flex items-center gap-2",
|
|
343
|
-
children: [
|
|
378
|
+
children: [M(t), /* @__PURE__ */ g("span", {
|
|
344
379
|
className: "text-sm font-medium text-text-primary",
|
|
345
380
|
children: e.name
|
|
346
381
|
})]
|
|
@@ -348,7 +383,7 @@ function v() {
|
|
|
348
383
|
}),
|
|
349
384
|
/* @__PURE__ */ g("td", {
|
|
350
385
|
className: "px-4 py-3 text-sm text-right font-medium text-text-primary",
|
|
351
|
-
children:
|
|
386
|
+
children: j(e.revenue)
|
|
352
387
|
}),
|
|
353
388
|
/* @__PURE__ */ g("td", {
|
|
354
389
|
className: "px-4 py-3 text-sm text-right text-text-primary",
|
|
@@ -367,7 +402,7 @@ function v() {
|
|
|
367
402
|
})
|
|
368
403
|
})] })]
|
|
369
404
|
}),
|
|
370
|
-
|
|
405
|
+
k === "revenue" && /* @__PURE__ */ _("div", {
|
|
371
406
|
className: "space-y-8",
|
|
372
407
|
children: [/* @__PURE__ */ _("div", {
|
|
373
408
|
className: "grid grid-cols-1 md:grid-cols-3 gap-4",
|
|
@@ -379,7 +414,7 @@ function v() {
|
|
|
379
414
|
children: "This Month"
|
|
380
415
|
}), /* @__PURE__ */ g("p", {
|
|
381
416
|
className: "text-2xl font-bold text-text-primary",
|
|
382
|
-
children:
|
|
417
|
+
children: j(C.revenue.thisMonth)
|
|
383
418
|
})]
|
|
384
419
|
}),
|
|
385
420
|
/* @__PURE__ */ _("div", {
|
|
@@ -389,7 +424,7 @@ function v() {
|
|
|
389
424
|
children: "Last Month"
|
|
390
425
|
}), /* @__PURE__ */ g("p", {
|
|
391
426
|
className: "text-2xl font-bold text-text-primary",
|
|
392
|
-
children:
|
|
427
|
+
children: j(C.revenue.lastMonth)
|
|
393
428
|
})]
|
|
394
429
|
}),
|
|
395
430
|
/* @__PURE__ */ _("div", {
|
|
@@ -399,7 +434,7 @@ function v() {
|
|
|
399
434
|
children: "Average Order Value"
|
|
400
435
|
}), /* @__PURE__ */ _("p", {
|
|
401
436
|
className: "text-2xl font-bold text-status-success-text",
|
|
402
|
-
children: ["₹",
|
|
437
|
+
children: ["₹", C.orders.averageOrderValue]
|
|
403
438
|
})]
|
|
404
439
|
})
|
|
405
440
|
]
|
|
@@ -408,11 +443,11 @@ function v() {
|
|
|
408
443
|
children: "Revenue by City"
|
|
409
444
|
}), /* @__PURE__ */ g("div", {
|
|
410
445
|
className: "space-y-3",
|
|
411
|
-
children:
|
|
446
|
+
children: C.geography.topCities.map((e, t) => /* @__PURE__ */ _("div", {
|
|
412
447
|
className: "flex items-center justify-between p-4 rounded-lg border border-border-subtle bg-bg-sunken/30",
|
|
413
448
|
children: [/* @__PURE__ */ _("div", {
|
|
414
449
|
className: "flex items-center gap-3",
|
|
415
|
-
children: [
|
|
450
|
+
children: [M(t), /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("p", {
|
|
416
451
|
className: "font-medium text-text-primary",
|
|
417
452
|
children: e.city
|
|
418
453
|
}), /* @__PURE__ */ _("p", {
|
|
@@ -423,38 +458,38 @@ function v() {
|
|
|
423
458
|
className: "text-right",
|
|
424
459
|
children: [/* @__PURE__ */ g("p", {
|
|
425
460
|
className: "font-bold text-text-primary",
|
|
426
|
-
children:
|
|
461
|
+
children: j(e.revenue)
|
|
427
462
|
}), /* @__PURE__ */ _("p", {
|
|
428
463
|
className: "text-sm text-text-secondary",
|
|
429
|
-
children: [(e.revenue /
|
|
464
|
+
children: [(e.revenue / C.revenue.total * 100).toFixed(1), "%"]
|
|
430
465
|
})]
|
|
431
466
|
})]
|
|
432
467
|
}, e.city))
|
|
433
468
|
})] })]
|
|
434
469
|
}),
|
|
435
|
-
|
|
470
|
+
k === "users" && /* @__PURE__ */ _("div", {
|
|
436
471
|
className: "space-y-8",
|
|
437
472
|
children: [/* @__PURE__ */ g("div", {
|
|
438
473
|
className: "grid grid-cols-1 md:grid-cols-4 gap-4",
|
|
439
474
|
children: [
|
|
440
475
|
{
|
|
441
476
|
label: "Customers",
|
|
442
|
-
value:
|
|
477
|
+
value: C.users.customers,
|
|
443
478
|
color: "blue"
|
|
444
479
|
},
|
|
445
480
|
{
|
|
446
481
|
label: "Cart Owners",
|
|
447
|
-
value:
|
|
482
|
+
value: C.users.cartOwners,
|
|
448
483
|
color: "green"
|
|
449
484
|
},
|
|
450
485
|
{
|
|
451
486
|
label: "Workers",
|
|
452
|
-
value:
|
|
487
|
+
value: C.users.workers,
|
|
453
488
|
color: "yellow"
|
|
454
489
|
},
|
|
455
490
|
{
|
|
456
491
|
label: "Investors",
|
|
457
|
-
value:
|
|
492
|
+
value: C.users.investors,
|
|
458
493
|
color: "purple"
|
|
459
494
|
}
|
|
460
495
|
].map((e) => /* @__PURE__ */ _("div", {
|
|
@@ -470,7 +505,7 @@ function v() {
|
|
|
470
505
|
}),
|
|
471
506
|
/* @__PURE__ */ _("p", {
|
|
472
507
|
className: t("text-sm", `text-${e.color}-600/80 dark:text-${e.color}-400/80`),
|
|
473
|
-
children: [(e.value /
|
|
508
|
+
children: [(e.value / C.users.total * 100).toFixed(1), "%"]
|
|
474
509
|
})
|
|
475
510
|
]
|
|
476
511
|
}, e.label))
|
|
@@ -486,18 +521,18 @@ function v() {
|
|
|
486
521
|
children: "New Users This Month"
|
|
487
522
|
}), /* @__PURE__ */ g("p", {
|
|
488
523
|
className: "text-3xl font-bold text-text-primary",
|
|
489
|
-
children:
|
|
524
|
+
children: C.users.newThisMonth
|
|
490
525
|
})] }), /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("p", {
|
|
491
526
|
className: "text-sm text-text-secondary mb-2",
|
|
492
527
|
children: "Active Users Rate"
|
|
493
528
|
}), /* @__PURE__ */ _("p", {
|
|
494
529
|
className: "text-3xl font-bold text-status-success-text",
|
|
495
|
-
children: [(
|
|
530
|
+
children: [(C.users.active / C.users.total * 100).toFixed(1), "%"]
|
|
496
531
|
})] })]
|
|
497
532
|
})]
|
|
498
533
|
})]
|
|
499
534
|
}),
|
|
500
|
-
|
|
535
|
+
k === "performance" && /* @__PURE__ */ _("div", {
|
|
501
536
|
className: "space-y-8",
|
|
502
537
|
children: [
|
|
503
538
|
/* @__PURE__ */ _("div", {
|
|
@@ -515,7 +550,7 @@ function v() {
|
|
|
515
550
|
}),
|
|
516
551
|
/* @__PURE__ */ _("p", {
|
|
517
552
|
className: "text-3xl font-bold text-text-primary",
|
|
518
|
-
children: [
|
|
553
|
+
children: [C.performance.averageDeliveryTime, " min"]
|
|
519
554
|
}),
|
|
520
555
|
/* @__PURE__ */ g("p", {
|
|
521
556
|
className: "text-sm text-text-secondary mt-1",
|
|
@@ -535,7 +570,7 @@ function v() {
|
|
|
535
570
|
}),
|
|
536
571
|
/* @__PURE__ */ _("p", {
|
|
537
572
|
className: "text-3xl font-bold text-text-primary flex items-center gap-1",
|
|
538
|
-
children: [/* @__PURE__ */ g(f, { className: "h-6 w-6 fill-status-warning-text text-status-warning-text" }),
|
|
573
|
+
children: [/* @__PURE__ */ g(f, { className: "h-6 w-6 fill-status-warning-text text-status-warning-text" }), C.performance.customerSatisfaction]
|
|
539
574
|
}),
|
|
540
575
|
/* @__PURE__ */ g("p", {
|
|
541
576
|
className: "text-sm text-text-secondary mt-1",
|
|
@@ -555,7 +590,7 @@ function v() {
|
|
|
555
590
|
}),
|
|
556
591
|
/* @__PURE__ */ _("p", {
|
|
557
592
|
className: "text-3xl font-bold text-text-primary",
|
|
558
|
-
children: [
|
|
593
|
+
children: [C.performance.platformFee, "%"]
|
|
559
594
|
}),
|
|
560
595
|
/* @__PURE__ */ g("p", {
|
|
561
596
|
className: "text-sm text-text-secondary mt-1",
|
|
@@ -580,21 +615,21 @@ function v() {
|
|
|
580
615
|
children: "Operating Costs"
|
|
581
616
|
}), /* @__PURE__ */ g("p", {
|
|
582
617
|
className: "text-2xl font-bold text-status-error-text",
|
|
583
|
-
children:
|
|
618
|
+
children: j(C.performance.operatingCosts)
|
|
584
619
|
})] }),
|
|
585
620
|
/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("p", {
|
|
586
621
|
className: "text-sm text-text-secondary mb-2",
|
|
587
622
|
children: "Total Revenue"
|
|
588
623
|
}), /* @__PURE__ */ g("p", {
|
|
589
624
|
className: "text-2xl font-bold text-text-primary",
|
|
590
|
-
children:
|
|
625
|
+
children: j(C.revenue.total)
|
|
591
626
|
})] }),
|
|
592
627
|
/* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("p", {
|
|
593
628
|
className: "text-sm text-text-secondary mb-2",
|
|
594
629
|
children: "Net Profit"
|
|
595
630
|
}), /* @__PURE__ */ g("p", {
|
|
596
631
|
className: "text-2xl font-bold text-status-success-text",
|
|
597
|
-
children:
|
|
632
|
+
children: j(C.performance.netProfit)
|
|
598
633
|
})] })
|
|
599
634
|
]
|
|
600
635
|
}),
|
|
@@ -605,7 +640,7 @@ function v() {
|
|
|
605
640
|
children: "Profit Margin"
|
|
606
641
|
}), /* @__PURE__ */ _("p", {
|
|
607
642
|
className: "text-xl font-bold text-text-primary",
|
|
608
|
-
children: [(
|
|
643
|
+
children: [(C.performance.netProfit / C.revenue.total * 100).toFixed(1), "%"]
|
|
609
644
|
})]
|
|
610
645
|
})
|
|
611
646
|
]
|
|
@@ -622,13 +657,13 @@ function v() {
|
|
|
622
657
|
children: "Orders Today"
|
|
623
658
|
}), /* @__PURE__ */ g("p", {
|
|
624
659
|
className: "text-3xl font-bold text-text-primary",
|
|
625
|
-
children:
|
|
660
|
+
children: C.orders.ordersToday
|
|
626
661
|
})] }), /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("p", {
|
|
627
662
|
className: "text-sm text-text-secondary mb-2",
|
|
628
663
|
children: "Estimated Revenue"
|
|
629
664
|
}), /* @__PURE__ */ g("p", {
|
|
630
665
|
className: "text-3xl font-bold text-status-success-text",
|
|
631
|
-
children:
|
|
666
|
+
children: j(C.orders.ordersToday * C.orders.averageOrderValue)
|
|
632
667
|
})] })]
|
|
633
668
|
})]
|
|
634
669
|
})
|
|
@@ -641,6 +676,6 @@ function v() {
|
|
|
641
676
|
});
|
|
642
677
|
}
|
|
643
678
|
//#endregion
|
|
644
|
-
export {
|
|
679
|
+
export { x as AdminAnalyticsPage };
|
|
645
680
|
|
|
646
681
|
//# sourceMappingURL=AdminAnalyticsPage.js.map
|