@burdenoff/microfe-kadaikodi 2026.704.3 → 2026.704.5
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/KadaikodiRoutes.js +34 -26
- package/dist/kadaikodi/KadaikodiRoutes.js.map +1 -1
- package/dist/kadaikodi/components/viz/AllocationBar.js +68 -0
- package/dist/kadaikodi/components/viz/AllocationBar.js.map +1 -0
- package/dist/kadaikodi/components/viz/AreaChart.js +102 -0
- package/dist/kadaikodi/components/viz/AreaChart.js.map +1 -0
- package/dist/kadaikodi/components/viz/AvatarStack.js +36 -0
- package/dist/kadaikodi/components/viz/AvatarStack.js.map +1 -0
- package/dist/kadaikodi/components/viz/BarChart.js +83 -0
- package/dist/kadaikodi/components/viz/BarChart.js.map +1 -0
- package/dist/kadaikodi/components/viz/CertificateCard.js +4 -0
- package/dist/kadaikodi/components/viz/DonutChart.js +109 -0
- package/dist/kadaikodi/components/viz/DonutChart.js.map +1 -0
- package/dist/kadaikodi/components/viz/HBarFunnel.js +54 -0
- package/dist/kadaikodi/components/viz/HBarFunnel.js.map +1 -0
- package/dist/kadaikodi/components/viz/Heatmap.js +3 -0
- package/dist/kadaikodi/components/viz/KanbanBoard.js +50 -0
- package/dist/kadaikodi/components/viz/KanbanBoard.js.map +1 -0
- package/dist/kadaikodi/components/viz/LineChart.js +4 -0
- package/dist/kadaikodi/components/viz/OrgTree.js +2 -0
- package/dist/kadaikodi/components/viz/PathSteps.js +3 -0
- package/dist/kadaikodi/components/viz/ProgressRing.js +68 -0
- package/dist/kadaikodi/components/viz/ProgressRing.js.map +1 -0
- package/dist/kadaikodi/components/viz/RatingStars.js +51 -0
- package/dist/kadaikodi/components/viz/RatingStars.js.map +1 -0
- package/dist/kadaikodi/components/viz/SegmentedTabs.js +69 -0
- package/dist/kadaikodi/components/viz/SegmentedTabs.js.map +1 -0
- package/dist/kadaikodi/components/viz/SkillBar.js +3 -0
- package/dist/kadaikodi/components/viz/Sparkline.js +74 -0
- package/dist/kadaikodi/components/viz/Sparkline.js.map +1 -0
- package/dist/kadaikodi/components/viz/StatCard.js +60 -0
- package/dist/kadaikodi/components/viz/StatCard.js.map +1 -0
- package/dist/kadaikodi/components/viz/StepProgress.js +64 -0
- package/dist/kadaikodi/components/viz/StepProgress.js.map +1 -0
- package/dist/kadaikodi/components/viz/Timeline.js +66 -0
- package/dist/kadaikodi/components/viz/Timeline.js.map +1 -0
- package/dist/kadaikodi/components/viz/index.js +23 -0
- package/dist/kadaikodi/components/viz/lib/Avatar.js +30 -0
- package/dist/kadaikodi/components/viz/lib/Avatar.js.map +1 -0
- package/dist/kadaikodi/components/viz/lib/CartesianFrame.js +119 -0
- package/dist/kadaikodi/components/viz/lib/CartesianFrame.js.map +1 -0
- package/dist/kadaikodi/components/viz/lib/ResponsiveSvg.js +35 -0
- package/dist/kadaikodi/components/viz/lib/ResponsiveSvg.js.map +1 -0
- package/dist/kadaikodi/components/viz/lib/format.js +21 -0
- package/dist/kadaikodi/components/viz/lib/format.js.map +1 -0
- package/dist/kadaikodi/components/viz/lib/geometry.js +61 -0
- package/dist/kadaikodi/components/viz/lib/geometry.js.map +1 -0
- package/dist/kadaikodi/components/viz/lib/hooks.js +39 -0
- package/dist/kadaikodi/components/viz/lib/hooks.js.map +1 -0
- package/dist/kadaikodi/components/viz/lib/palette.js +27 -0
- package/dist/kadaikodi/components/viz/lib/palette.js.map +1 -0
- package/dist/kadaikodi/hooks/useKadaikodiApi.js +84 -6
- package/dist/kadaikodi/hooks/useKadaikodiApi.js.map +1 -1
- package/dist/kadaikodi/pages/HomePage.js +373 -631
- package/dist/kadaikodi/pages/HomePage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js +304 -169
- package/dist/kadaikodi/pages/admin/AdminAnalyticsPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminDashboard.js +255 -271
- package/dist/kadaikodi/pages/admin/AdminDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminFinancialPage.js +185 -125
- package/dist/kadaikodi/pages/admin/AdminFinancialPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminOrdersPage.js +141 -102
- package/dist/kadaikodi/pages/admin/AdminOrdersPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/AdminSettingsPage.js +332 -276
- package/dist/kadaikodi/pages/admin/AdminSettingsPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/CartManagementPage.js +564 -729
- package/dist/kadaikodi/pages/admin/CartManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/admin/UserManagementPage.js +310 -366
- package/dist/kadaikodi/pages/admin/UserManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js +201 -120
- package/dist/kadaikodi/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.js +290 -257
- package/dist/kadaikodi/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js +173 -194
- package/dist/kadaikodi/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/CartOwnerProfilePage.js +270 -228
- package/dist/kadaikodi/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/CartServiceConfigPage.js +194 -173
- package/dist/kadaikodi/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js +428 -347
- package/dist/kadaikodi/pages/cart-owner/InventoryManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/InvestmentListingPage.js +332 -0
- package/dist/kadaikodi/pages/cart-owner/InvestmentListingPage.js.map +1 -0
- package/dist/kadaikodi/pages/cart-owner/MerchantOnboardingPage.js +373 -0
- package/dist/kadaikodi/pages/cart-owner/MerchantOnboardingPage.js.map +1 -0
- package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js +294 -162
- package/dist/kadaikodi/pages/cart-owner/OrderManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.js +180 -181
- package/dist/kadaikodi/pages/cart-owner/StaffManagementPage.js.map +1 -1
- package/dist/kadaikodi/pages/common/HelpSupportPage.js +310 -317
- package/dist/kadaikodi/pages/common/HelpSupportPage.js.map +1 -1
- package/dist/kadaikodi/pages/common/NotificationCenterPage.js.map +1 -1
- package/dist/kadaikodi/pages/common/SettingsPage.js +502 -586
- package/dist/kadaikodi/pages/common/SettingsPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/BookingDetailsPage.js +239 -156
- package/dist/kadaikodi/pages/customer/BookingDetailsPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CartDetailPage.js +405 -248
- package/dist/kadaikodi/pages/customer/CartDetailPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CartDiscoveryPage.js +258 -232
- package/dist/kadaikodi/pages/customer/CartDiscoveryPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CheckoutPage.js +254 -205
- package/dist/kadaikodi/pages/customer/CheckoutPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CustomerDashboard.js +5 -5
- package/dist/kadaikodi/pages/customer/CustomerDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/customer/CustomerProfilePage.js +189 -199
- package/dist/kadaikodi/pages/customer/CustomerProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.js +272 -230
- package/dist/kadaikodi/pages/customer/DirectServiceBookingPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/FavoritesPage.js +150 -413
- package/dist/kadaikodi/pages/customer/FavoritesPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/OrderHistoryPage.js +173 -134
- package/dist/kadaikodi/pages/customer/OrderHistoryPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/OrderTrackingPage.js +411 -305
- package/dist/kadaikodi/pages/customer/OrderTrackingPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/ReviewsPage.js +310 -406
- package/dist/kadaikodi/pages/customer/ReviewsPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/SavedAddressesPage.js.map +1 -1
- package/dist/kadaikodi/pages/customer/shared.js +181 -0
- package/dist/kadaikodi/pages/customer/shared.js.map +1 -0
- package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js +438 -311
- package/dist/kadaikodi/pages/investor/InvestmentDetailsPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js +320 -293
- package/dist/kadaikodi/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.js +159 -91
- package/dist/kadaikodi/pages/investor/InvestorAnalyticsPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorDashboard.js +137 -107
- package/dist/kadaikodi/pages/investor/InvestorDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorInvestmentsPage.js +157 -135
- package/dist/kadaikodi/pages/investor/InvestorInvestmentsPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorPortfolioPage.js +280 -206
- package/dist/kadaikodi/pages/investor/InvestorPortfolioPage.js.map +1 -1
- package/dist/kadaikodi/pages/investor/InvestorProfilePage.js +441 -514
- package/dist/kadaikodi/pages/investor/InvestorProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/TaskDetailsPage.js +428 -431
- package/dist/kadaikodi/pages/worker/TaskDetailsPage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerDashboard.js +328 -445
- package/dist/kadaikodi/pages/worker/WorkerDashboard.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerOrdersPage.js +141 -164
- package/dist/kadaikodi/pages/worker/WorkerOrdersPage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerProfilePage.js +360 -288
- package/dist/kadaikodi/pages/worker/WorkerProfilePage.js.map +1 -1
- package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js +303 -281
- package/dist/kadaikodi/pages/worker/WorkerSchedulePage.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
import { cn as e } from "../../utils/cn.js";
|
|
2
2
|
import { PageLayout as t } from "../../components/PageLayout.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import
|
|
3
|
+
import { EmptyState as n } from "../../components/EmptyState.js";
|
|
4
|
+
import { useDashboardStats as r, useOrders as i, useUpdateOrderStatus as a } from "../../hooks/useKadaikodiApi.js";
|
|
5
|
+
import { formatCurrency as o } from "../../utils/formatters.js";
|
|
6
|
+
import { DonutChart as s } from "../../components/viz/DonutChart.js";
|
|
7
|
+
import { StatCard as c } from "../../components/viz/StatCard.js";
|
|
8
|
+
import "../../components/viz/index.js";
|
|
9
|
+
import { useMemo as l, useState as u } from "react";
|
|
10
|
+
import { AlertCircle as d, CheckCircle2 as f, Clock as ee, Eye as p, IndianRupee as m, Loader2 as h, MapPin as g, RefreshCw as _, Search as v, ShoppingBag as y, Store as b, TrendingUp as x, X as S, XCircle as C } from "lucide-react";
|
|
9
11
|
import { jsx as w, jsxs as T } from "react/jsx-runtime";
|
|
10
|
-
import {
|
|
12
|
+
import { GlassCard as E, PagePurpose as D } from "@burdenoff/fe-libs/ui";
|
|
11
13
|
//#region src/kadaikodi/pages/admin/AdminOrdersPage.tsx
|
|
12
|
-
var O =
|
|
14
|
+
var O = 1440 * 60 * 1e3, k = (e) => {
|
|
15
|
+
let t = new Date(e);
|
|
16
|
+
return t.setHours(0, 0, 0, 0), t.getTime();
|
|
17
|
+
}, A = [
|
|
13
18
|
"pending",
|
|
14
19
|
"confirmed",
|
|
15
20
|
"preparing",
|
|
@@ -19,13 +24,31 @@ var O = [
|
|
|
19
24
|
"delivered",
|
|
20
25
|
"cancelled"
|
|
21
26
|
];
|
|
22
|
-
function
|
|
23
|
-
let { data:
|
|
27
|
+
function j() {
|
|
28
|
+
let { data: j = [], isLoading: M } = i({}), { data: N } = r(), P = a(), [F, I] = u(""), [L, R] = u("all"), [z, B] = u(null), [V, H] = u(!1), U = (e) => o(e, { minimumFractionDigits: 0 }), W = (e) => e ? new Date(e).toLocaleString("en-IN", {
|
|
24
29
|
day: "2-digit",
|
|
25
30
|
month: "short",
|
|
26
31
|
hour: "2-digit",
|
|
27
32
|
minute: "2-digit"
|
|
28
|
-
}) : "—",
|
|
33
|
+
}) : "—", G = l(() => N && N.totalOrders > 0 ? N.totalRevenue / N.totalOrders : j.length === 0 ? 0 : j.reduce((e, t) => e + t.total, 0) / j.length, [N, j]), { ordersPerDay: K, gmvPerDay: q } = l(() => {
|
|
34
|
+
let e = k(/* @__PURE__ */ new Date()), t = e - 29 * O, n = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map();
|
|
35
|
+
for (let i = t; i <= e; i += O) n.set(i, 0), r.set(i, 0);
|
|
36
|
+
for (let e of j) {
|
|
37
|
+
let t = k(new Date(e.orderDate));
|
|
38
|
+
n.has(t) && (n.set(t, (n.get(t) ?? 0) + 1), r.set(t, (r.get(t) ?? 0) + (e.total ?? 0)));
|
|
39
|
+
}
|
|
40
|
+
return {
|
|
41
|
+
ordersPerDay: [...n.values()],
|
|
42
|
+
gmvPerDay: [...r.values()]
|
|
43
|
+
};
|
|
44
|
+
}, [j]), J = l(() => {
|
|
45
|
+
let e = /* @__PURE__ */ new Map();
|
|
46
|
+
for (let t of j) e.set(t.status, (e.get(t.status) ?? 0) + 1);
|
|
47
|
+
return [...e.entries()].sort((e, t) => t[1] - e[1]).map(([e, t]) => ({
|
|
48
|
+
label: e.replace(/_/g, " ").replace(/\b\w/g, (e) => e.toUpperCase()),
|
|
49
|
+
value: t
|
|
50
|
+
}));
|
|
51
|
+
}, [j]), Y = (e) => ({
|
|
29
52
|
delivered: "bg-status-success-bg-subtle text-status-success-text",
|
|
30
53
|
preparing: "bg-status-warning-bg-subtle text-status-warning-text",
|
|
31
54
|
ready: "bg-status-warning-bg-subtle text-status-warning-text",
|
|
@@ -33,31 +56,31 @@ function k() {
|
|
|
33
56
|
out_for_delivery: "bg-[var(--color-accent-soft)] text-text-primary",
|
|
34
57
|
cancelled: "bg-status-error-bg-subtle text-status-error-text",
|
|
35
58
|
confirmed: "bg-[var(--color-accent-soft)] text-text-primary"
|
|
36
|
-
})[e] ?? "bg-bg-sunken text-text-secondary",
|
|
59
|
+
})[e] ?? "bg-bg-sunken text-text-secondary", X = (e) => {
|
|
37
60
|
switch (e) {
|
|
38
|
-
case "completed": return /* @__PURE__ */ w(
|
|
61
|
+
case "completed": return /* @__PURE__ */ w(f, { className: "h-4 w-4 text-status-success-text" });
|
|
39
62
|
case "failed": return /* @__PURE__ */ w(C, { className: "h-4 w-4 text-status-error-text" });
|
|
40
63
|
case "refunded": return /* @__PURE__ */ w(_, { className: "h-4 w-4 text-text-primary" });
|
|
41
|
-
default: return /* @__PURE__ */ w(
|
|
64
|
+
default: return /* @__PURE__ */ w(d, { className: "h-4 w-4 text-status-warning-text" });
|
|
42
65
|
}
|
|
43
|
-
},
|
|
44
|
-
let t = !
|
|
66
|
+
}, Z = l(() => j.filter((e) => {
|
|
67
|
+
let t = !F || e.id.toLowerCase().includes(F.toLowerCase()) || e.cartName.toLowerCase().includes(F.toLowerCase()), n = L === "all" || e.status === L;
|
|
45
68
|
return t && n;
|
|
46
69
|
}), [
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
]),
|
|
51
|
-
|
|
70
|
+
j,
|
|
71
|
+
F,
|
|
72
|
+
L
|
|
73
|
+
]), Q = (e, t) => {
|
|
74
|
+
P.mutate({
|
|
52
75
|
id: e,
|
|
53
76
|
status: t.toUpperCase()
|
|
54
77
|
}, { onSuccess: () => {
|
|
55
|
-
|
|
78
|
+
B((e) => e && {
|
|
56
79
|
...e,
|
|
57
80
|
status: t
|
|
58
81
|
});
|
|
59
82
|
} });
|
|
60
|
-
},
|
|
83
|
+
}, $ = (e) => {
|
|
61
84
|
let t = e.deliveryAddress, n = [
|
|
62
85
|
t.street,
|
|
63
86
|
t.area,
|
|
@@ -66,7 +89,7 @@ function k() {
|
|
|
66
89
|
].filter(Boolean);
|
|
67
90
|
return n.length > 0 ? n.join(", ") : "—";
|
|
68
91
|
};
|
|
69
|
-
return
|
|
92
|
+
return M ? /* @__PURE__ */ w(t, {
|
|
70
93
|
title: "Order Management",
|
|
71
94
|
description: "Loading orders...",
|
|
72
95
|
children: /* @__PURE__ */ T("div", {
|
|
@@ -78,42 +101,58 @@ function k() {
|
|
|
78
101
|
})
|
|
79
102
|
}) : /* @__PURE__ */ T(t, {
|
|
80
103
|
title: "Order Management",
|
|
81
|
-
description: `${
|
|
104
|
+
description: `${N?.totalOrders ?? j.length} total orders on the platform`,
|
|
82
105
|
children: [
|
|
83
106
|
/* @__PURE__ */ w(D, {
|
|
84
107
|
className: "mb-6",
|
|
85
108
|
children: "Every order placed across Kadaikodi in one queue. Use this page to keep operations running smoothly — search and filter orders, spot anything pending or stuck, open an order to see its full details, and step in when a customer or cart needs help. The metrics up top give you a live read on volume, revenue and what's awaiting action."
|
|
86
109
|
}),
|
|
87
|
-
|
|
88
|
-
className: "mb-6",
|
|
89
|
-
children: [/* @__PURE__ */
|
|
90
|
-
className: "
|
|
91
|
-
children: "Orders at a Glance"
|
|
92
|
-
}), /* @__PURE__ */ T("div", {
|
|
93
|
-
className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4",
|
|
110
|
+
N && /* @__PURE__ */ T("div", {
|
|
111
|
+
className: "mb-6 grid grid-cols-1 gap-4 lg:grid-cols-3",
|
|
112
|
+
children: [/* @__PURE__ */ T("div", {
|
|
113
|
+
className: "grid grid-cols-2 gap-4 lg:col-span-2",
|
|
94
114
|
children: [
|
|
95
|
-
/* @__PURE__ */ w(
|
|
96
|
-
|
|
97
|
-
value: (
|
|
98
|
-
|
|
115
|
+
/* @__PURE__ */ w(c, {
|
|
116
|
+
label: "Total Orders",
|
|
117
|
+
value: (N.totalOrders ?? 0).toLocaleString("en-IN"),
|
|
118
|
+
icon: /* @__PURE__ */ w(y, { className: "h-4 w-4" }),
|
|
119
|
+
sparkline: K,
|
|
120
|
+
sparklineVariant: "area"
|
|
99
121
|
}),
|
|
100
|
-
/* @__PURE__ */ w(
|
|
101
|
-
|
|
102
|
-
value:
|
|
103
|
-
|
|
122
|
+
/* @__PURE__ */ w(c, {
|
|
123
|
+
label: "Total Revenue",
|
|
124
|
+
value: U(N.totalRevenue),
|
|
125
|
+
icon: /* @__PURE__ */ w(m, { className: "h-4 w-4" }),
|
|
126
|
+
sparkline: q,
|
|
127
|
+
sparklineVariant: "area"
|
|
104
128
|
}),
|
|
105
|
-
/* @__PURE__ */ w(
|
|
106
|
-
|
|
107
|
-
value:
|
|
108
|
-
|
|
129
|
+
/* @__PURE__ */ w(c, {
|
|
130
|
+
label: "Avg Order Value",
|
|
131
|
+
value: U(G),
|
|
132
|
+
icon: /* @__PURE__ */ w(x, { className: "h-4 w-4" })
|
|
109
133
|
}),
|
|
110
|
-
/* @__PURE__ */ w(
|
|
111
|
-
icon: /* @__PURE__ */ w(f, { className: "h-5 w-5" }),
|
|
112
|
-
value: (j.pendingOrders ?? 0).toLocaleString("en-IN"),
|
|
134
|
+
/* @__PURE__ */ w(c, {
|
|
113
135
|
label: "Pending Orders",
|
|
114
|
-
|
|
136
|
+
value: (N.pendingOrders ?? 0).toLocaleString("en-IN"),
|
|
137
|
+
icon: /* @__PURE__ */ w(ee, { className: "h-4 w-4" })
|
|
115
138
|
})
|
|
116
139
|
]
|
|
140
|
+
}), /* @__PURE__ */ T(E, {
|
|
141
|
+
treatment: "plain",
|
|
142
|
+
className: "p-6",
|
|
143
|
+
children: [/* @__PURE__ */ w("h3", {
|
|
144
|
+
className: "mb-4 text-base font-semibold text-text-primary",
|
|
145
|
+
children: "Order Status"
|
|
146
|
+
}), J.length > 0 ? /* @__PURE__ */ w(s, {
|
|
147
|
+
segments: J,
|
|
148
|
+
size: 140,
|
|
149
|
+
centerLabel: j.length.toLocaleString("en-IN"),
|
|
150
|
+
centerCaption: "orders",
|
|
151
|
+
valueFormatter: (e) => e.toLocaleString("en-IN")
|
|
152
|
+
}) : /* @__PURE__ */ w("p", {
|
|
153
|
+
className: "text-sm text-text-secondary",
|
|
154
|
+
children: "Status mix will appear here."
|
|
155
|
+
})]
|
|
117
156
|
})]
|
|
118
157
|
}),
|
|
119
158
|
/* @__PURE__ */ w("div", {
|
|
@@ -125,18 +164,18 @@ function k() {
|
|
|
125
164
|
children: [/* @__PURE__ */ w(v, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-secondary" }), /* @__PURE__ */ w("input", {
|
|
126
165
|
type: "text",
|
|
127
166
|
placeholder: "Search by order ID or cart name...",
|
|
128
|
-
value:
|
|
129
|
-
onChange: (e) =>
|
|
167
|
+
value: F,
|
|
168
|
+
onChange: (e) => I(e.target.value),
|
|
130
169
|
className: "w-full rounded-lg border border-border-subtle bg-bg-surface py-2 pl-10 pr-4 text-sm text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]"
|
|
131
170
|
})]
|
|
132
171
|
}), /* @__PURE__ */ T("select", {
|
|
133
|
-
value:
|
|
134
|
-
onChange: (e) =>
|
|
172
|
+
value: L,
|
|
173
|
+
onChange: (e) => R(e.target.value),
|
|
135
174
|
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)]",
|
|
136
175
|
children: [/* @__PURE__ */ w("option", {
|
|
137
176
|
value: "all",
|
|
138
177
|
children: "All Status"
|
|
139
|
-
}),
|
|
178
|
+
}), A.map((e) => /* @__PURE__ */ w("option", {
|
|
140
179
|
value: e,
|
|
141
180
|
children: e.replace(/_/g, " ").replace(/\b\w/g, (e) => e.toUpperCase())
|
|
142
181
|
}, e))]
|
|
@@ -148,7 +187,7 @@ function k() {
|
|
|
148
187
|
children: [
|
|
149
188
|
/* @__PURE__ */ w("div", {
|
|
150
189
|
className: "block md:hidden space-y-4 p-4",
|
|
151
|
-
children:
|
|
190
|
+
children: Z.map((t) => /* @__PURE__ */ T("div", {
|
|
152
191
|
className: "rounded-lg border border-border-subtle bg-bg-sunken/30 p-4",
|
|
153
192
|
children: [
|
|
154
193
|
/* @__PURE__ */ T("div", {
|
|
@@ -158,9 +197,9 @@ function k() {
|
|
|
158
197
|
children: t.cartName
|
|
159
198
|
}), /* @__PURE__ */ w("p", {
|
|
160
199
|
className: "text-sm text-text-secondary",
|
|
161
|
-
children:
|
|
200
|
+
children: W(t.orderDate)
|
|
162
201
|
})] }), /* @__PURE__ */ w("span", {
|
|
163
|
-
className: e("inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium capitalize",
|
|
202
|
+
className: e("inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium capitalize", Y(t.status)),
|
|
164
203
|
children: t.status.replace(/_/g, " ")
|
|
165
204
|
})]
|
|
166
205
|
}),
|
|
@@ -187,10 +226,10 @@ function k() {
|
|
|
187
226
|
children: "Amount"
|
|
188
227
|
}), /* @__PURE__ */ w("p", {
|
|
189
228
|
className: "text-text-primary font-semibold text-lg",
|
|
190
|
-
children:
|
|
229
|
+
children: U(t.total)
|
|
191
230
|
})] }), /* @__PURE__ */ T("div", {
|
|
192
231
|
className: "flex items-center gap-2",
|
|
193
|
-
children: [
|
|
232
|
+
children: [X(t.paymentStatus), /* @__PURE__ */ T("div", {
|
|
194
233
|
className: "text-right",
|
|
195
234
|
children: [/* @__PURE__ */ w("p", {
|
|
196
235
|
className: "text-sm text-text-primary",
|
|
@@ -205,7 +244,7 @@ function k() {
|
|
|
205
244
|
/* @__PURE__ */ T("button", {
|
|
206
245
|
type: "button",
|
|
207
246
|
onClick: () => {
|
|
208
|
-
|
|
247
|
+
B(t), H(!0);
|
|
209
248
|
},
|
|
210
249
|
className: "w-full rounded-lg border border-border-subtle py-2 text-sm font-medium text-text-primary hover:bg-accent transition-colors flex items-center justify-center gap-2",
|
|
211
250
|
children: [/* @__PURE__ */ w(p, { className: "h-4 w-4" }), " View Details"]
|
|
@@ -255,7 +294,7 @@ function k() {
|
|
|
255
294
|
]
|
|
256
295
|
}) }), /* @__PURE__ */ w("tbody", {
|
|
257
296
|
className: "divide-y divide-border",
|
|
258
|
-
children:
|
|
297
|
+
children: Z.map((t) => /* @__PURE__ */ T("tr", {
|
|
259
298
|
className: "hover:bg-accent/50 transition-colors",
|
|
260
299
|
children: [
|
|
261
300
|
/* @__PURE__ */ w("td", {
|
|
@@ -275,12 +314,12 @@ function k() {
|
|
|
275
314
|
}),
|
|
276
315
|
/* @__PURE__ */ w("td", {
|
|
277
316
|
className: "px-4 py-3 text-sm font-semibold text-text-primary",
|
|
278
|
-
children:
|
|
317
|
+
children: U(t.total)
|
|
279
318
|
}),
|
|
280
319
|
/* @__PURE__ */ w("td", {
|
|
281
320
|
className: "px-4 py-3",
|
|
282
321
|
children: /* @__PURE__ */ w("span", {
|
|
283
|
-
className: e("inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium capitalize",
|
|
322
|
+
className: e("inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium capitalize", Y(t.status)),
|
|
284
323
|
children: t.status.replace(/_/g, " ")
|
|
285
324
|
})
|
|
286
325
|
}),
|
|
@@ -288,7 +327,7 @@ function k() {
|
|
|
288
327
|
className: "px-4 py-3",
|
|
289
328
|
children: /* @__PURE__ */ T("div", {
|
|
290
329
|
className: "flex items-center gap-2",
|
|
291
|
-
children: [
|
|
330
|
+
children: [X(t.paymentStatus), /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("div", {
|
|
292
331
|
className: "text-sm text-text-primary",
|
|
293
332
|
children: t.paymentMethod
|
|
294
333
|
}), /* @__PURE__ */ w("div", {
|
|
@@ -299,14 +338,14 @@ function k() {
|
|
|
299
338
|
}),
|
|
300
339
|
/* @__PURE__ */ w("td", {
|
|
301
340
|
className: "px-4 py-3 text-sm text-text-secondary",
|
|
302
|
-
children:
|
|
341
|
+
children: W(t.orderDate)
|
|
303
342
|
}),
|
|
304
343
|
/* @__PURE__ */ w("td", {
|
|
305
344
|
className: "px-4 py-3",
|
|
306
345
|
children: /* @__PURE__ */ w("button", {
|
|
307
346
|
type: "button",
|
|
308
347
|
onClick: () => {
|
|
309
|
-
|
|
348
|
+
B(t), H(!0);
|
|
310
349
|
},
|
|
311
350
|
className: "rounded p-1.5 text-text-secondary hover:text-text-primary hover:bg-accent transition-colors",
|
|
312
351
|
children: /* @__PURE__ */ w(p, { className: "h-4 w-4" })
|
|
@@ -317,14 +356,14 @@ function k() {
|
|
|
317
356
|
})]
|
|
318
357
|
})
|
|
319
358
|
}),
|
|
320
|
-
|
|
359
|
+
Z.length === 0 && /* @__PURE__ */ w(n, {
|
|
321
360
|
illustration: "empty-search",
|
|
322
|
-
title:
|
|
323
|
-
description:
|
|
324
|
-
action:
|
|
361
|
+
title: j.length === 0 ? "No orders yet" : "No orders found",
|
|
362
|
+
description: j.length === 0 ? "Orders placed across the platform will appear here as they come in." : "No orders match your current search and filters. Try a different status or search term.",
|
|
363
|
+
action: j.length > 0 ? /* @__PURE__ */ w("button", {
|
|
325
364
|
type: "button",
|
|
326
365
|
onClick: () => {
|
|
327
|
-
|
|
366
|
+
I(""), R("all");
|
|
328
367
|
},
|
|
329
368
|
className: "rounded-lg border border-border-subtle px-4 py-2 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
|
|
330
369
|
children: "Clear filters"
|
|
@@ -332,7 +371,7 @@ function k() {
|
|
|
332
371
|
})
|
|
333
372
|
]
|
|
334
373
|
}),
|
|
335
|
-
|
|
374
|
+
V && z && /* @__PURE__ */ w("div", {
|
|
336
375
|
className: "fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4",
|
|
337
376
|
children: /* @__PURE__ */ T("div", {
|
|
338
377
|
className: "w-full max-w-2xl rounded-lg border border-border-subtle bg-bg-surface shadow-lg max-h-[90vh] overflow-y-auto",
|
|
@@ -343,7 +382,7 @@ function k() {
|
|
|
343
382
|
children: "Order Details"
|
|
344
383
|
}), /* @__PURE__ */ w("button", {
|
|
345
384
|
type: "button",
|
|
346
|
-
onClick: () =>
|
|
385
|
+
onClick: () => H(!1),
|
|
347
386
|
className: "rounded p-1.5 text-text-secondary hover:text-text-primary hover:bg-accent transition-colors",
|
|
348
387
|
children: /* @__PURE__ */ w(S, { className: "h-5 w-5" })
|
|
349
388
|
})]
|
|
@@ -361,28 +400,28 @@ function k() {
|
|
|
361
400
|
children: "Order ID"
|
|
362
401
|
}), /* @__PURE__ */ w("p", {
|
|
363
402
|
className: "font-medium text-text-primary font-mono text-sm break-all",
|
|
364
|
-
children:
|
|
403
|
+
children: z.id
|
|
365
404
|
})] }),
|
|
366
405
|
/* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("p", {
|
|
367
406
|
className: "text-sm text-text-secondary",
|
|
368
407
|
children: "Status"
|
|
369
408
|
}), /* @__PURE__ */ w("span", {
|
|
370
|
-
className: e("inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium capitalize",
|
|
371
|
-
children:
|
|
409
|
+
className: e("inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium capitalize", Y(z.status)),
|
|
410
|
+
children: z.status.replace(/_/g, " ")
|
|
372
411
|
})] }),
|
|
373
412
|
/* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("p", {
|
|
374
413
|
className: "text-sm text-text-secondary",
|
|
375
414
|
children: "Order Date"
|
|
376
415
|
}), /* @__PURE__ */ w("p", {
|
|
377
416
|
className: "font-medium text-text-primary",
|
|
378
|
-
children:
|
|
417
|
+
children: W(z.orderDate)
|
|
379
418
|
})] }),
|
|
380
|
-
|
|
419
|
+
z.estimatedDeliveryTime && /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("p", {
|
|
381
420
|
className: "text-sm text-text-secondary",
|
|
382
421
|
children: "Estimated Delivery"
|
|
383
422
|
}), /* @__PURE__ */ w("p", {
|
|
384
423
|
className: "font-medium text-text-primary",
|
|
385
|
-
children:
|
|
424
|
+
children: W(z.estimatedDeliveryTime)
|
|
386
425
|
})] })
|
|
387
426
|
]
|
|
388
427
|
})] }),
|
|
@@ -391,23 +430,23 @@ function k() {
|
|
|
391
430
|
children: [/* @__PURE__ */ w(b, { className: "h-4 w-4" }), " Cart"]
|
|
392
431
|
}), /* @__PURE__ */ w("p", {
|
|
393
432
|
className: "font-medium text-text-primary",
|
|
394
|
-
children:
|
|
433
|
+
children: z.cartName
|
|
395
434
|
})] }),
|
|
396
|
-
|
|
435
|
+
$(z) !== "—" && /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("h3", {
|
|
397
436
|
className: "font-semibold text-text-primary mb-3",
|
|
398
437
|
children: "Delivery Address"
|
|
399
438
|
}), /* @__PURE__ */ T("p", {
|
|
400
439
|
className: "font-medium text-text-primary flex items-start gap-1",
|
|
401
|
-
children: [/* @__PURE__ */ w(g, { className: "h-3 w-3 mt-1 shrink-0" }),
|
|
440
|
+
children: [/* @__PURE__ */ w(g, { className: "h-3 w-3 mt-1 shrink-0" }), $(z)]
|
|
402
441
|
})] }),
|
|
403
442
|
/* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("h3", {
|
|
404
443
|
className: "font-semibold text-text-primary mb-3",
|
|
405
444
|
children: "Order Items"
|
|
406
445
|
}), /* @__PURE__ */ T("div", {
|
|
407
446
|
className: "rounded-lg bg-bg-sunken/50 p-4",
|
|
408
|
-
children: [
|
|
447
|
+
children: [z.items.length > 0 ? /* @__PURE__ */ w("ul", {
|
|
409
448
|
className: "space-y-2",
|
|
410
|
-
children:
|
|
449
|
+
children: z.items.map((e) => /* @__PURE__ */ T("li", {
|
|
411
450
|
className: "flex justify-between text-sm text-text-primary",
|
|
412
451
|
children: [/* @__PURE__ */ T("span", { children: [
|
|
413
452
|
e.name,
|
|
@@ -415,7 +454,7 @@ function k() {
|
|
|
415
454
|
e.quantity
|
|
416
455
|
] }), /* @__PURE__ */ w("span", {
|
|
417
456
|
className: "font-medium",
|
|
418
|
-
children:
|
|
457
|
+
children: U(e.price * e.quantity)
|
|
419
458
|
})]
|
|
420
459
|
}, e.id))
|
|
421
460
|
}) : /* @__PURE__ */ w("p", {
|
|
@@ -426,23 +465,23 @@ function k() {
|
|
|
426
465
|
children: [
|
|
427
466
|
/* @__PURE__ */ T("div", {
|
|
428
467
|
className: "flex justify-between text-text-secondary",
|
|
429
|
-
children: [/* @__PURE__ */ w("span", { children: "Subtotal" }), /* @__PURE__ */ w("span", { children:
|
|
468
|
+
children: [/* @__PURE__ */ w("span", { children: "Subtotal" }), /* @__PURE__ */ w("span", { children: U(z.subtotal) })]
|
|
430
469
|
}),
|
|
431
470
|
/* @__PURE__ */ T("div", {
|
|
432
471
|
className: "flex justify-between text-text-secondary",
|
|
433
|
-
children: [/* @__PURE__ */ w("span", { children: "Taxes" }), /* @__PURE__ */ w("span", { children:
|
|
472
|
+
children: [/* @__PURE__ */ w("span", { children: "Taxes" }), /* @__PURE__ */ w("span", { children: U(z.taxes) })]
|
|
434
473
|
}),
|
|
435
474
|
/* @__PURE__ */ T("div", {
|
|
436
475
|
className: "flex justify-between text-text-secondary",
|
|
437
|
-
children: [/* @__PURE__ */ w("span", { children: "Delivery Fee" }), /* @__PURE__ */ w("span", { children:
|
|
476
|
+
children: [/* @__PURE__ */ w("span", { children: "Delivery Fee" }), /* @__PURE__ */ w("span", { children: U(z.deliveryFee) })]
|
|
438
477
|
}),
|
|
439
|
-
|
|
478
|
+
z.discount ? /* @__PURE__ */ T("div", {
|
|
440
479
|
className: "flex justify-between text-text-secondary",
|
|
441
|
-
children: [/* @__PURE__ */ w("span", { children: "Discount" }), /* @__PURE__ */ T("span", { children: ["-",
|
|
480
|
+
children: [/* @__PURE__ */ w("span", { children: "Discount" }), /* @__PURE__ */ T("span", { children: ["-", U(z.discount)] })]
|
|
442
481
|
}) : null,
|
|
443
482
|
/* @__PURE__ */ T("div", {
|
|
444
483
|
className: "flex justify-between pt-2 border-t border-border-subtle font-semibold text-text-primary text-base",
|
|
445
|
-
children: [/* @__PURE__ */ w("span", { children: "Total" }), /* @__PURE__ */ w("span", { children:
|
|
484
|
+
children: [/* @__PURE__ */ w("span", { children: "Total" }), /* @__PURE__ */ w("span", { children: U(z.total) })]
|
|
446
485
|
})
|
|
447
486
|
]
|
|
448
487
|
})]
|
|
@@ -457,38 +496,38 @@ function k() {
|
|
|
457
496
|
children: "Method"
|
|
458
497
|
}), /* @__PURE__ */ w("p", {
|
|
459
498
|
className: "font-medium text-text-primary",
|
|
460
|
-
children:
|
|
499
|
+
children: z.paymentMethod
|
|
461
500
|
})] }), /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("p", {
|
|
462
501
|
className: "text-sm text-text-secondary",
|
|
463
502
|
children: "Status"
|
|
464
503
|
}), /* @__PURE__ */ T("div", {
|
|
465
504
|
className: "flex items-center gap-2",
|
|
466
|
-
children: [
|
|
505
|
+
children: [X(z.paymentStatus), /* @__PURE__ */ w("span", {
|
|
467
506
|
className: "font-medium text-text-primary capitalize",
|
|
468
|
-
children:
|
|
507
|
+
children: z.paymentStatus
|
|
469
508
|
})]
|
|
470
509
|
})] })]
|
|
471
510
|
})] }),
|
|
472
|
-
|
|
511
|
+
z.customerNotes && /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("h3", {
|
|
473
512
|
className: "font-semibold text-text-primary mb-3",
|
|
474
513
|
children: "Special Instructions"
|
|
475
514
|
}), /* @__PURE__ */ w("p", {
|
|
476
515
|
className: "text-sm rounded-lg bg-bg-sunken/50 p-3 text-text-primary",
|
|
477
|
-
children:
|
|
516
|
+
children: z.customerNotes
|
|
478
517
|
})] }),
|
|
479
518
|
/* @__PURE__ */ T("div", {
|
|
480
519
|
className: "flex flex-col sm:flex-row sm:justify-end gap-3 pt-2",
|
|
481
520
|
children: [/* @__PURE__ */ w("button", {
|
|
482
521
|
type: "button",
|
|
483
|
-
onClick: () =>
|
|
522
|
+
onClick: () => H(!1),
|
|
484
523
|
className: "rounded-lg border border-border-subtle py-2 px-4 text-sm font-medium text-text-primary hover:bg-accent transition-colors",
|
|
485
524
|
children: "Close"
|
|
486
|
-
}),
|
|
487
|
-
disabled:
|
|
525
|
+
}), z.status !== "delivered" && z.status !== "cancelled" && /* @__PURE__ */ w("select", {
|
|
526
|
+
disabled: P.isPending,
|
|
488
527
|
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)] disabled:opacity-50",
|
|
489
|
-
value:
|
|
490
|
-
onChange: (e) =>
|
|
491
|
-
children:
|
|
528
|
+
value: z.status,
|
|
529
|
+
onChange: (e) => Q(z.id, e.target.value),
|
|
530
|
+
children: A.map((e) => /* @__PURE__ */ w("option", {
|
|
492
531
|
value: e,
|
|
493
532
|
children: e.replace(/_/g, " ").replace(/\b\w/g, (e) => e.toUpperCase())
|
|
494
533
|
}, e))
|
|
@@ -502,6 +541,6 @@ function k() {
|
|
|
502
541
|
});
|
|
503
542
|
}
|
|
504
543
|
//#endregion
|
|
505
|
-
export {
|
|
544
|
+
export { j as AdminOrdersPage };
|
|
506
545
|
|
|
507
546
|
//# sourceMappingURL=AdminOrdersPage.js.map
|