@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
|
@@ -6,8 +6,9 @@ import { mockAdminAnalytics as i } from "../../mocks/data.js";
|
|
|
6
6
|
import { useState as a } from "react";
|
|
7
7
|
import { ArrowDownRight as o, ArrowUpRight as s, BarChart3 as c, CalendarDays as l, Clock as u, Download as d, IndianRupee as f, Percent as p, ShoppingCart as m, Star as h, Target as g, ThumbsUp as _, TrendingUp as v, Users as y } from "lucide-react";
|
|
8
8
|
import { Fragment as b, jsx as x, jsxs as S } from "react/jsx-runtime";
|
|
9
|
+
import { EmphasisPanel as C, PagePurpose as w } from "@burdenoff/fe-libs/ui";
|
|
9
10
|
//#region src/subscriberbot/pages/cart-owner/AnalyticsDashboard.tsx
|
|
10
|
-
var
|
|
11
|
+
var T = {
|
|
11
12
|
revenue: {
|
|
12
13
|
today: 12450,
|
|
13
14
|
week: 87150,
|
|
@@ -249,17 +250,17 @@ var C = {
|
|
|
249
250
|
}
|
|
250
251
|
]
|
|
251
252
|
}
|
|
252
|
-
},
|
|
253
|
-
let { navigateTo:
|
|
253
|
+
}, E = () => {
|
|
254
|
+
let { navigateTo: E } = e(), [D, O] = a("week"), k = Math.max(...T.orders.popularTimes.map((e) => e.orders)), A = Math.max(...T.offerings.categories.map((e) => e.revenue)), j = Math.max(...T.performance.peakHours.map((e) => e.orders)), M = Math.max(...T.performance.peakDays.map((e) => e.orders)), N = (e) => `${e > 0 ? "+" : ""}${e}%`;
|
|
254
255
|
return /* @__PURE__ */ x(n, {
|
|
255
256
|
title: "Analytics Dashboard",
|
|
256
257
|
description: "Business performance insights and data",
|
|
257
258
|
actions: /* @__PURE__ */ S("div", {
|
|
258
259
|
className: "flex items-center gap-2",
|
|
259
260
|
children: [/* @__PURE__ */ S("select", {
|
|
260
|
-
value:
|
|
261
|
-
onChange: (e) =>
|
|
262
|
-
className: "rounded-md border border-border-
|
|
261
|
+
value: D,
|
|
262
|
+
onChange: (e) => O(e.target.value),
|
|
263
|
+
className: "rounded-md border border-border-seam bg-bg-surface px-3 py-2 text-sm text-text-primary",
|
|
263
264
|
children: [
|
|
264
265
|
/* @__PURE__ */ x("option", {
|
|
265
266
|
value: "today",
|
|
@@ -281,14 +282,18 @@ var C = {
|
|
|
281
282
|
}), /* @__PURE__ */ S("button", {
|
|
282
283
|
type: "button",
|
|
283
284
|
onClick: () => alert("Export feature coming soon!"),
|
|
284
|
-
className: "inline-flex items-center gap-1.5 rounded-md border border-border-
|
|
285
|
+
className: "inline-flex items-center gap-1.5 rounded-md border border-border-seam px-3 py-2 text-sm text-text-primary hover:bg-bg-sunken transition-colors",
|
|
285
286
|
children: [/* @__PURE__ */ x(d, { className: "h-4 w-4" }), "Export"]
|
|
286
287
|
})]
|
|
287
288
|
}),
|
|
288
289
|
children: /* @__PURE__ */ S("div", {
|
|
289
290
|
className: "space-y-6",
|
|
290
291
|
children: [
|
|
291
|
-
/* @__PURE__ */
|
|
292
|
+
/* @__PURE__ */ x(w, {
|
|
293
|
+
icon: /* @__PURE__ */ x(c, { className: "h-4 w-4" }),
|
|
294
|
+
children: "See how your cart is really performing. Compare revenue across today, this week, month and year, spot your busiest hours, and find out which items and customers drive the most sales. Use the date range to zoom in, then act on what you learn — stock up before peak times and double down on your best sellers."
|
|
295
|
+
}),
|
|
296
|
+
/* @__PURE__ */ S(C, { children: [/* @__PURE__ */ x("h2", {
|
|
292
297
|
className: "text-base font-semibold text-text-primary mb-3",
|
|
293
298
|
children: "Revenue Overview"
|
|
294
299
|
}), /* @__PURE__ */ x("div", {
|
|
@@ -296,26 +301,26 @@ var C = {
|
|
|
296
301
|
children: [
|
|
297
302
|
{
|
|
298
303
|
label: "Today's Revenue",
|
|
299
|
-
value:
|
|
300
|
-
growth:
|
|
304
|
+
value: T.revenue.today,
|
|
305
|
+
growth: T.revenue.growth.daily
|
|
301
306
|
},
|
|
302
307
|
{
|
|
303
308
|
label: "This Week",
|
|
304
|
-
value:
|
|
305
|
-
growth:
|
|
309
|
+
value: T.revenue.week,
|
|
310
|
+
growth: T.revenue.growth.weekly
|
|
306
311
|
},
|
|
307
312
|
{
|
|
308
313
|
label: "This Month",
|
|
309
|
-
value:
|
|
310
|
-
growth:
|
|
314
|
+
value: T.revenue.month,
|
|
315
|
+
growth: T.revenue.growth.monthly
|
|
311
316
|
},
|
|
312
317
|
{
|
|
313
318
|
label: "This Year",
|
|
314
|
-
value:
|
|
319
|
+
value: T.revenue.year,
|
|
315
320
|
growth: null
|
|
316
321
|
}
|
|
317
322
|
].map((e) => /* @__PURE__ */ S("div", {
|
|
318
|
-
className: "rounded-lg border border-border-
|
|
323
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-5 shadow-sm",
|
|
319
324
|
children: [
|
|
320
325
|
/* @__PURE__ */ S("div", {
|
|
321
326
|
className: "flex items-center justify-between",
|
|
@@ -323,8 +328,8 @@ var C = {
|
|
|
323
328
|
className: "rounded-md bg-accent p-2",
|
|
324
329
|
children: /* @__PURE__ */ x(f, { className: "h-5 w-5 text-text-secondary" })
|
|
325
330
|
}), e.growth !== null && /* @__PURE__ */ S("div", {
|
|
326
|
-
className: t("flex items-center gap-1 text-xs font-medium", e.growth >= 0 ? "text-
|
|
327
|
-
children: [e.growth >= 0 ? /* @__PURE__ */ x(s, { className: "h-3.5 w-3.5" }) : /* @__PURE__ */ x(o, { className: "h-3.5 w-3.5" }),
|
|
331
|
+
className: t("flex items-center gap-1 text-xs font-medium", e.growth >= 0 ? "text-status-success-text" : "text-status-error-text"),
|
|
332
|
+
children: [e.growth >= 0 ? /* @__PURE__ */ x(s, { className: "h-3.5 w-3.5" }) : /* @__PURE__ */ x(o, { className: "h-3.5 w-3.5" }), N(e.growth)]
|
|
328
333
|
})]
|
|
329
334
|
}),
|
|
330
335
|
/* @__PURE__ */ x("p", {
|
|
@@ -341,9 +346,9 @@ var C = {
|
|
|
341
346
|
/* @__PURE__ */ S("div", {
|
|
342
347
|
className: "grid grid-cols-1 lg:grid-cols-2 gap-6",
|
|
343
348
|
children: [/* @__PURE__ */ S("div", {
|
|
344
|
-
className: "rounded-lg border border-border-
|
|
349
|
+
className: "rounded-lg border border-border-seam bg-bg-surface shadow-sm",
|
|
345
350
|
children: [/* @__PURE__ */ x("div", {
|
|
346
|
-
className: "border-b border-border-
|
|
351
|
+
className: "border-b border-border-seam px-5 py-4",
|
|
347
352
|
children: /* @__PURE__ */ S("h2", {
|
|
348
353
|
className: "text-base font-semibold text-text-primary flex items-center gap-2",
|
|
349
354
|
children: [/* @__PURE__ */ x(m, { className: "h-4 w-4 text-text-secondary" }), "Order Statistics"]
|
|
@@ -358,28 +363,28 @@ var C = {
|
|
|
358
363
|
children: "Total Orders"
|
|
359
364
|
}), /* @__PURE__ */ x("p", {
|
|
360
365
|
className: "text-2xl font-bold text-text-primary",
|
|
361
|
-
children:
|
|
366
|
+
children: T.orders.total
|
|
362
367
|
})] }),
|
|
363
368
|
/* @__PURE__ */ S("div", { children: [/* @__PURE__ */ x("p", {
|
|
364
369
|
className: "text-xs text-text-secondary",
|
|
365
370
|
children: "Avg. Order Value"
|
|
366
371
|
}), /* @__PURE__ */ x("p", {
|
|
367
372
|
className: "text-2xl font-bold text-text-primary",
|
|
368
|
-
children: r(
|
|
373
|
+
children: r(T.orders.averageValue, { minimumFractionDigits: 0 })
|
|
369
374
|
})] }),
|
|
370
375
|
/* @__PURE__ */ S("div", { children: [/* @__PURE__ */ x("p", {
|
|
371
376
|
className: "text-xs text-text-secondary",
|
|
372
377
|
children: "Completed"
|
|
373
378
|
}), /* @__PURE__ */ x("p", {
|
|
374
|
-
className: "text-xl font-bold text-
|
|
375
|
-
children:
|
|
379
|
+
className: "text-xl font-bold text-status-success-text",
|
|
380
|
+
children: T.orders.completed
|
|
376
381
|
})] }),
|
|
377
382
|
/* @__PURE__ */ S("div", { children: [/* @__PURE__ */ x("p", {
|
|
378
383
|
className: "text-xs text-text-secondary",
|
|
379
384
|
children: "Cancelled"
|
|
380
385
|
}), /* @__PURE__ */ x("p", {
|
|
381
|
-
className: "text-xl font-bold text-
|
|
382
|
-
children:
|
|
386
|
+
className: "text-xl font-bold text-status-error-text",
|
|
387
|
+
children: T.orders.cancelled
|
|
383
388
|
})] })
|
|
384
389
|
]
|
|
385
390
|
}), /* @__PURE__ */ S("div", { children: [/* @__PURE__ */ x("p", {
|
|
@@ -387,21 +392,21 @@ var C = {
|
|
|
387
392
|
children: "Avg. Preparation Time"
|
|
388
393
|
}), /* @__PURE__ */ S("p", {
|
|
389
394
|
className: "text-sm font-medium text-text-primary",
|
|
390
|
-
children: [
|
|
395
|
+
children: [T.orders.averagePreparationTime, " minutes"]
|
|
391
396
|
})] })]
|
|
392
397
|
})]
|
|
393
398
|
}), /* @__PURE__ */ S("div", {
|
|
394
|
-
className: "rounded-lg border border-border-
|
|
399
|
+
className: "rounded-lg border border-border-seam bg-bg-surface shadow-sm",
|
|
395
400
|
children: [/* @__PURE__ */ x("div", {
|
|
396
|
-
className: "border-b border-border-
|
|
401
|
+
className: "border-b border-border-seam px-5 py-4",
|
|
397
402
|
children: /* @__PURE__ */ S("h2", {
|
|
398
403
|
className: "text-base font-semibold text-text-primary flex items-center gap-2",
|
|
399
404
|
children: [/* @__PURE__ */ x(u, { className: "h-4 w-4 text-text-secondary" }), "Popular Times"]
|
|
400
405
|
})
|
|
401
406
|
}), /* @__PURE__ */ x("div", {
|
|
402
407
|
className: "p-5 space-y-2",
|
|
403
|
-
children:
|
|
404
|
-
let n = e.orders /
|
|
408
|
+
children: T.orders.popularTimes.map((e) => {
|
|
409
|
+
let n = e.orders / k * 100;
|
|
405
410
|
return /* @__PURE__ */ S("div", { children: [/* @__PURE__ */ S("div", {
|
|
406
411
|
className: "flex items-center justify-between text-xs mb-0.5",
|
|
407
412
|
children: [/* @__PURE__ */ x("span", {
|
|
@@ -414,7 +419,7 @@ var C = {
|
|
|
414
419
|
}), /* @__PURE__ */ x("div", {
|
|
415
420
|
className: "h-2 rounded-full bg-bg-sunken overflow-hidden",
|
|
416
421
|
children: /* @__PURE__ */ x("div", {
|
|
417
|
-
className: t("h-full rounded-full transition-all", e.orders > 25 ? "bg-
|
|
422
|
+
className: t("h-full rounded-full transition-all", e.orders > 25 ? "bg-status-error-bg/60" : e.orders > 18 ? "bg-status-warning-bg/60" : "bg-status-success-bg/60"),
|
|
418
423
|
style: { width: `${n}%` }
|
|
419
424
|
})
|
|
420
425
|
})] }, e.hour);
|
|
@@ -430,32 +435,32 @@ var C = {
|
|
|
430
435
|
children: [
|
|
431
436
|
{
|
|
432
437
|
label: "Acceptance Rate",
|
|
433
|
-
value: `${
|
|
438
|
+
value: `${T.performance.acceptanceRate}%`,
|
|
434
439
|
icon: g,
|
|
435
|
-
color: "text-
|
|
440
|
+
color: "text-status-success-text"
|
|
436
441
|
},
|
|
437
442
|
{
|
|
438
443
|
label: "Cancellation Rate",
|
|
439
|
-
value: `${
|
|
444
|
+
value: `${T.performance.cancellationRate}%`,
|
|
440
445
|
icon: p,
|
|
441
|
-
color: "text-
|
|
446
|
+
color: "text-status-error-text"
|
|
442
447
|
},
|
|
443
448
|
{
|
|
444
449
|
label: "On-Time Delivery",
|
|
445
|
-
value: `${
|
|
450
|
+
value: `${T.performance.onTimeDeliveryRate}%`,
|
|
446
451
|
icon: u,
|
|
447
|
-
color: "text-
|
|
452
|
+
color: "text-status-info-text"
|
|
448
453
|
},
|
|
449
454
|
{
|
|
450
455
|
label: "Average Rating",
|
|
451
|
-
value: `${
|
|
456
|
+
value: `${T.performance.averageRating}`,
|
|
452
457
|
icon: h,
|
|
453
|
-
color: "text-
|
|
458
|
+
color: "text-status-warning-text"
|
|
454
459
|
}
|
|
455
460
|
].map((e) => {
|
|
456
461
|
let n = e.icon;
|
|
457
462
|
return /* @__PURE__ */ S("div", {
|
|
458
|
-
className: "rounded-lg border border-border-
|
|
463
|
+
className: "rounded-lg border border-border-seam bg-bg-surface p-5 shadow-sm",
|
|
459
464
|
children: [/* @__PURE__ */ S("div", {
|
|
460
465
|
className: "flex items-center gap-2 mb-2",
|
|
461
466
|
children: [/* @__PURE__ */ x(n, { className: t("h-5 w-5", e.color) }), /* @__PURE__ */ x("span", {
|
|
@@ -472,10 +477,10 @@ var C = {
|
|
|
472
477
|
/* @__PURE__ */ S("div", {
|
|
473
478
|
className: "grid grid-cols-1 lg:grid-cols-2 gap-6",
|
|
474
479
|
children: [/* @__PURE__ */ S("div", {
|
|
475
|
-
className: "rounded-lg border border-border-
|
|
480
|
+
className: "rounded-lg border border-border-seam bg-bg-surface shadow-sm",
|
|
476
481
|
children: [
|
|
477
482
|
/* @__PURE__ */ x("div", {
|
|
478
|
-
className: "border-b border-border-
|
|
483
|
+
className: "border-b border-border-seam px-5 py-4",
|
|
479
484
|
children: /* @__PURE__ */ S("h2", {
|
|
480
485
|
className: "text-base font-semibold text-text-primary flex items-center gap-2",
|
|
481
486
|
children: [/* @__PURE__ */ x(v, { className: "h-4 w-4 text-text-secondary" }), "Top Selling Offerings"]
|
|
@@ -483,7 +488,7 @@ var C = {
|
|
|
483
488
|
}),
|
|
484
489
|
/* @__PURE__ */ x("div", {
|
|
485
490
|
className: "divide-y divide-border",
|
|
486
|
-
children:
|
|
491
|
+
children: T.offerings.topSelling.map((e, t) => /* @__PURE__ */ S("div", {
|
|
487
492
|
className: "flex items-center justify-between px-5 py-3",
|
|
488
493
|
children: [/* @__PURE__ */ S("div", {
|
|
489
494
|
className: "flex items-center gap-3",
|
|
@@ -509,11 +514,11 @@ var C = {
|
|
|
509
514
|
}, e.id))
|
|
510
515
|
}),
|
|
511
516
|
/* @__PURE__ */ S("div", {
|
|
512
|
-
className: "border-t border-border-
|
|
517
|
+
className: "border-t border-border-seam px-5 py-3",
|
|
513
518
|
children: [/* @__PURE__ */ x("p", {
|
|
514
519
|
className: "text-xs font-medium text-text-secondary mb-2",
|
|
515
520
|
children: "Least Selling"
|
|
516
|
-
}),
|
|
521
|
+
}), T.offerings.leastSelling.map((e) => /* @__PURE__ */ S("div", {
|
|
517
522
|
className: "flex items-center justify-between py-1.5",
|
|
518
523
|
children: [/* @__PURE__ */ x("span", {
|
|
519
524
|
className: "text-xs text-text-secondary",
|
|
@@ -531,17 +536,17 @@ var C = {
|
|
|
531
536
|
})
|
|
532
537
|
]
|
|
533
538
|
}), /* @__PURE__ */ S("div", {
|
|
534
|
-
className: "rounded-lg border border-border-
|
|
539
|
+
className: "rounded-lg border border-border-seam bg-bg-surface shadow-sm",
|
|
535
540
|
children: [/* @__PURE__ */ x("div", {
|
|
536
|
-
className: "border-b border-border-
|
|
541
|
+
className: "border-b border-border-seam px-5 py-4",
|
|
537
542
|
children: /* @__PURE__ */ S("h2", {
|
|
538
543
|
className: "text-base font-semibold text-text-primary flex items-center gap-2",
|
|
539
544
|
children: [/* @__PURE__ */ x(c, { className: "h-4 w-4 text-text-secondary" }), "Category Performance"]
|
|
540
545
|
})
|
|
541
546
|
}), /* @__PURE__ */ x("div", {
|
|
542
547
|
className: "p-5 space-y-4",
|
|
543
|
-
children:
|
|
544
|
-
let t = e.revenue /
|
|
548
|
+
children: T.offerings.categories.map((e) => {
|
|
549
|
+
let t = e.revenue / A * 100;
|
|
545
550
|
return /* @__PURE__ */ S("div", { children: [/* @__PURE__ */ S("div", {
|
|
546
551
|
className: "flex items-center justify-between text-sm mb-1",
|
|
547
552
|
children: [/* @__PURE__ */ x("span", {
|
|
@@ -560,7 +565,7 @@ var C = {
|
|
|
560
565
|
}), /* @__PURE__ */ x("div", {
|
|
561
566
|
className: "h-2.5 rounded-full bg-bg-sunken overflow-hidden",
|
|
562
567
|
children: /* @__PURE__ */ x("div", {
|
|
563
|
-
className: "h-full rounded-full bg-
|
|
568
|
+
className: "h-full rounded-full bg-status-info-bg/60",
|
|
564
569
|
style: { width: `${t}%` }
|
|
565
570
|
})
|
|
566
571
|
})] }, e.category);
|
|
@@ -571,9 +576,9 @@ var C = {
|
|
|
571
576
|
/* @__PURE__ */ S("div", {
|
|
572
577
|
className: "grid grid-cols-1 lg:grid-cols-3 gap-6",
|
|
573
578
|
children: [/* @__PURE__ */ S("div", {
|
|
574
|
-
className: "lg:col-span-2 rounded-lg border border-border-
|
|
579
|
+
className: "lg:col-span-2 rounded-lg border border-border-seam bg-bg-surface shadow-sm",
|
|
575
580
|
children: [/* @__PURE__ */ x("div", {
|
|
576
|
-
className: "border-b border-border-
|
|
581
|
+
className: "border-b border-border-seam px-5 py-4",
|
|
577
582
|
children: /* @__PURE__ */ S("h2", {
|
|
578
583
|
className: "text-base font-semibold text-text-primary flex items-center gap-2",
|
|
579
584
|
children: [/* @__PURE__ */ x(y, { className: "h-4 w-4 text-text-secondary" }), "Customer Overview"]
|
|
@@ -589,28 +594,28 @@ var C = {
|
|
|
589
594
|
children: "Total Customers"
|
|
590
595
|
}), /* @__PURE__ */ x("p", {
|
|
591
596
|
className: "text-xl font-bold text-text-primary",
|
|
592
|
-
children:
|
|
597
|
+
children: T.customers.total
|
|
593
598
|
})] }),
|
|
594
599
|
/* @__PURE__ */ S("div", { children: [/* @__PURE__ */ x("p", {
|
|
595
600
|
className: "text-xs text-text-secondary",
|
|
596
601
|
children: "New This Month"
|
|
597
602
|
}), /* @__PURE__ */ x("p", {
|
|
598
|
-
className: "text-xl font-bold text-
|
|
599
|
-
children:
|
|
603
|
+
className: "text-xl font-bold text-status-info-text",
|
|
604
|
+
children: T.customers.new
|
|
600
605
|
})] }),
|
|
601
606
|
/* @__PURE__ */ S("div", { children: [/* @__PURE__ */ x("p", {
|
|
602
607
|
className: "text-xs text-text-secondary",
|
|
603
608
|
children: "Returning"
|
|
604
609
|
}), /* @__PURE__ */ x("p", {
|
|
605
|
-
className: "text-xl font-bold text-
|
|
606
|
-
children:
|
|
610
|
+
className: "text-xl font-bold text-status-success-text",
|
|
611
|
+
children: T.customers.returning
|
|
607
612
|
})] }),
|
|
608
613
|
/* @__PURE__ */ S("div", { children: [/* @__PURE__ */ x("p", {
|
|
609
614
|
className: "text-xs text-text-secondary",
|
|
610
615
|
children: "Satisfaction"
|
|
611
616
|
}), /* @__PURE__ */ S("p", {
|
|
612
|
-
className: "text-xl font-bold text-
|
|
613
|
-
children: [/* @__PURE__ */ x(h, { className: "h-4 w-4 fill-
|
|
617
|
+
className: "text-xl font-bold text-status-warning-text flex items-center gap-1",
|
|
618
|
+
children: [/* @__PURE__ */ x(h, { className: "h-4 w-4 fill-status-warning-text text-status-warning-text" }), T.customers.satisfaction.rating]
|
|
614
619
|
})] })
|
|
615
620
|
]
|
|
616
621
|
}),
|
|
@@ -623,7 +628,7 @@ var C = {
|
|
|
623
628
|
children: /* @__PURE__ */ S("table", {
|
|
624
629
|
className: "w-full text-sm",
|
|
625
630
|
children: [/* @__PURE__ */ x("thead", { children: /* @__PURE__ */ S("tr", {
|
|
626
|
-
className: "border-b border-border-
|
|
631
|
+
className: "border-b border-border-seam",
|
|
627
632
|
children: [
|
|
628
633
|
/* @__PURE__ */ x("th", {
|
|
629
634
|
className: "py-2 text-left font-medium text-text-secondary",
|
|
@@ -642,8 +647,8 @@ var C = {
|
|
|
642
647
|
children: "Total Spent"
|
|
643
648
|
})
|
|
644
649
|
]
|
|
645
|
-
}) }), /* @__PURE__ */ x("tbody", { children:
|
|
646
|
-
className: "border-b border-border-
|
|
650
|
+
}) }), /* @__PURE__ */ x("tbody", { children: T.customers.topCustomers.map((e, t) => /* @__PURE__ */ S("tr", {
|
|
651
|
+
className: "border-b border-border-seam last:border-0",
|
|
647
652
|
children: [
|
|
648
653
|
/* @__PURE__ */ x("td", {
|
|
649
654
|
className: "py-2.5 text-text-secondary",
|
|
@@ -669,12 +674,12 @@ var C = {
|
|
|
669
674
|
className: "mt-4 flex items-center gap-4 text-sm",
|
|
670
675
|
children: /* @__PURE__ */ S("div", {
|
|
671
676
|
className: "flex items-center gap-1.5",
|
|
672
|
-
children: [/* @__PURE__ */ x(_, { className: "h-4 w-4 text-
|
|
677
|
+
children: [/* @__PURE__ */ x(_, { className: "h-4 w-4 text-status-success-text" }), /* @__PURE__ */ S("span", {
|
|
673
678
|
className: "text-text-secondary",
|
|
674
679
|
children: [
|
|
675
|
-
|
|
680
|
+
T.customers.satisfaction.positiveReviews,
|
|
676
681
|
"/",
|
|
677
|
-
|
|
682
|
+
T.customers.satisfaction.reviews,
|
|
678
683
|
" positive reviews"
|
|
679
684
|
]
|
|
680
685
|
})]
|
|
@@ -685,17 +690,17 @@ var C = {
|
|
|
685
690
|
}), /* @__PURE__ */ S("div", {
|
|
686
691
|
className: "space-y-6",
|
|
687
692
|
children: [/* @__PURE__ */ S("div", {
|
|
688
|
-
className: "rounded-lg border border-border-
|
|
693
|
+
className: "rounded-lg border border-border-seam bg-bg-surface shadow-sm",
|
|
689
694
|
children: [/* @__PURE__ */ x("div", {
|
|
690
|
-
className: "border-b border-border-
|
|
695
|
+
className: "border-b border-border-seam px-5 py-4",
|
|
691
696
|
children: /* @__PURE__ */ S("h2", {
|
|
692
697
|
className: "text-base font-semibold text-text-primary flex items-center gap-2",
|
|
693
698
|
children: [/* @__PURE__ */ x(u, { className: "h-4 w-4 text-text-secondary" }), "Peak Hours"]
|
|
694
699
|
})
|
|
695
700
|
}), /* @__PURE__ */ x("div", {
|
|
696
701
|
className: "p-5 space-y-3",
|
|
697
|
-
children:
|
|
698
|
-
let n = e.orders /
|
|
702
|
+
children: T.performance.peakHours.map((e) => {
|
|
703
|
+
let n = e.orders / j * 100;
|
|
699
704
|
return /* @__PURE__ */ S("div", { children: [/* @__PURE__ */ S("div", {
|
|
700
705
|
className: "flex items-center justify-between text-xs mb-1",
|
|
701
706
|
children: [/* @__PURE__ */ x("span", {
|
|
@@ -708,24 +713,24 @@ var C = {
|
|
|
708
713
|
}), /* @__PURE__ */ x("div", {
|
|
709
714
|
className: "h-2 rounded-full bg-bg-sunken overflow-hidden",
|
|
710
715
|
children: /* @__PURE__ */ x("div", {
|
|
711
|
-
className: t("h-full rounded-full", e.orders > 28 ? "bg-
|
|
716
|
+
className: t("h-full rounded-full", e.orders > 28 ? "bg-status-error-bg/60" : e.orders > 22 ? "bg-status-warning-bg/60" : "bg-status-success-bg/60"),
|
|
712
717
|
style: { width: `${n}%` }
|
|
713
718
|
})
|
|
714
719
|
})] }, e.hour);
|
|
715
720
|
})
|
|
716
721
|
})]
|
|
717
722
|
}), /* @__PURE__ */ S("div", {
|
|
718
|
-
className: "rounded-lg border border-border-
|
|
723
|
+
className: "rounded-lg border border-border-seam bg-bg-surface shadow-sm",
|
|
719
724
|
children: [/* @__PURE__ */ x("div", {
|
|
720
|
-
className: "border-b border-border-
|
|
725
|
+
className: "border-b border-border-seam px-5 py-4",
|
|
721
726
|
children: /* @__PURE__ */ S("h2", {
|
|
722
727
|
className: "text-base font-semibold text-text-primary flex items-center gap-2",
|
|
723
728
|
children: [/* @__PURE__ */ x(l, { className: "h-4 w-4 text-text-secondary" }), "Peak Days"]
|
|
724
729
|
})
|
|
725
730
|
}), /* @__PURE__ */ x("div", {
|
|
726
731
|
className: "p-5 space-y-3",
|
|
727
|
-
children:
|
|
728
|
-
let t = e.orders /
|
|
732
|
+
children: T.performance.peakDays.map((e) => {
|
|
733
|
+
let t = e.orders / M * 100;
|
|
729
734
|
return /* @__PURE__ */ S("div", { children: [/* @__PURE__ */ S("div", {
|
|
730
735
|
className: "flex items-center justify-between text-xs mb-1",
|
|
731
736
|
children: [/* @__PURE__ */ x("span", {
|
|
@@ -738,7 +743,7 @@ var C = {
|
|
|
738
743
|
}), /* @__PURE__ */ x("div", {
|
|
739
744
|
className: "h-2 rounded-full bg-bg-sunken overflow-hidden",
|
|
740
745
|
children: /* @__PURE__ */ x("div", {
|
|
741
|
-
className: "h-full rounded-full bg-
|
|
746
|
+
className: "h-full rounded-full bg-status-info-bg/60",
|
|
742
747
|
style: { width: `${t}%` }
|
|
743
748
|
})
|
|
744
749
|
})] }, e.day);
|
|
@@ -748,9 +753,9 @@ var C = {
|
|
|
748
753
|
})]
|
|
749
754
|
}),
|
|
750
755
|
/* @__PURE__ */ S("div", {
|
|
751
|
-
className: "rounded-lg border border-border-
|
|
756
|
+
className: "rounded-lg border border-border-seam bg-bg-surface shadow-sm",
|
|
752
757
|
children: [/* @__PURE__ */ x("div", {
|
|
753
|
-
className: "border-b border-border-
|
|
758
|
+
className: "border-b border-border-seam px-5 py-4",
|
|
754
759
|
children: /* @__PURE__ */ S("h2", {
|
|
755
760
|
className: "text-base font-semibold text-text-primary flex items-center gap-2",
|
|
756
761
|
children: [/* @__PURE__ */ x(v, { className: "h-4 w-4 text-text-secondary" }), "Daily Order Trends"]
|
|
@@ -760,7 +765,7 @@ var C = {
|
|
|
760
765
|
children: /* @__PURE__ */ S("table", {
|
|
761
766
|
className: "w-full text-sm",
|
|
762
767
|
children: [/* @__PURE__ */ x("thead", { children: /* @__PURE__ */ S("tr", {
|
|
763
|
-
className: "border-b border-border-
|
|
768
|
+
className: "border-b border-border-seam",
|
|
764
769
|
children: [
|
|
765
770
|
/* @__PURE__ */ x("th", {
|
|
766
771
|
className: "px-5 py-2.5 text-left font-medium text-text-secondary",
|
|
@@ -776,7 +781,7 @@ var C = {
|
|
|
776
781
|
})
|
|
777
782
|
]
|
|
778
783
|
}) }), /* @__PURE__ */ x("tbody", { children: i.orderTrends.map((e) => /* @__PURE__ */ S("tr", {
|
|
779
|
-
className: "border-b border-border-
|
|
784
|
+
className: "border-b border-border-seam last:border-0",
|
|
780
785
|
children: [
|
|
781
786
|
/* @__PURE__ */ x("td", {
|
|
782
787
|
className: "px-5 py-2.5 text-text-primary",
|
|
@@ -799,9 +804,9 @@ var C = {
|
|
|
799
804
|
})]
|
|
800
805
|
}),
|
|
801
806
|
/* @__PURE__ */ S("div", {
|
|
802
|
-
className: "rounded-lg border border-border-
|
|
807
|
+
className: "rounded-lg border border-border-seam bg-bg-surface shadow-sm",
|
|
803
808
|
children: [/* @__PURE__ */ x("div", {
|
|
804
|
-
className: "border-b border-border-
|
|
809
|
+
className: "border-b border-border-seam px-5 py-4",
|
|
805
810
|
children: /* @__PURE__ */ S("h2", {
|
|
806
811
|
className: "text-base font-semibold text-text-primary flex items-center gap-2",
|
|
807
812
|
children: [/* @__PURE__ */ x(y, { className: "h-4 w-4 text-text-secondary" }), "Monthly Customer Growth"]
|
|
@@ -813,7 +818,7 @@ var C = {
|
|
|
813
818
|
children: i.customerGrowth.map((e) => {
|
|
814
819
|
let t = Math.max(...i.customerGrowth.map((e) => e.newCustomers));
|
|
815
820
|
return /* @__PURE__ */ x("div", {
|
|
816
|
-
className: "flex-1 rounded-t bg-
|
|
821
|
+
className: "flex-1 rounded-t bg-status-info-bg/40 hover:bg-status-info-bg/60 transition-colors cursor-default",
|
|
817
822
|
style: { height: `${e.newCustomers / t * 100}%` },
|
|
818
823
|
title: `${e.month}: ${e.newCustomers} new customers`
|
|
819
824
|
}, e.month);
|
|
@@ -829,6 +834,6 @@ var C = {
|
|
|
829
834
|
});
|
|
830
835
|
};
|
|
831
836
|
//#endregion
|
|
832
|
-
export {
|
|
837
|
+
export { E as AnalyticsDashboard };
|
|
833
838
|
|
|
834
839
|
//# sourceMappingURL=AnalyticsDashboard.js.map
|