@burdenoff/microfe-atheletebridge 2026.625.1 → 2026.625.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/atheletebridge/pages/HomePage.js +272 -268
- package/dist/atheletebridge/pages/HomePage.js.map +1 -1
- package/dist/atheletebridge/pages/admin/AdminAnalyticsPage.js +90 -82
- package/dist/atheletebridge/pages/admin/AdminAnalyticsPage.js.map +1 -1
- package/dist/atheletebridge/pages/admin/AdminDashboard.js +76 -44
- package/dist/atheletebridge/pages/admin/AdminDashboard.js.map +1 -1
- package/dist/atheletebridge/pages/admin/AdminFinancialPage.js +63 -55
- package/dist/atheletebridge/pages/admin/AdminFinancialPage.js.map +1 -1
- package/dist/atheletebridge/pages/admin/AdminOrdersPage.js +244 -237
- package/dist/atheletebridge/pages/admin/AdminOrdersPage.js.map +1 -1
- package/dist/atheletebridge/pages/admin/AdminProfilePage.js +59 -57
- package/dist/atheletebridge/pages/admin/AdminProfilePage.js.map +1 -1
- package/dist/atheletebridge/pages/admin/AdminSettingsPage.js +110 -106
- package/dist/atheletebridge/pages/admin/AdminSettingsPage.js.map +1 -1
- package/dist/atheletebridge/pages/admin/CartManagementPage.js +166 -159
- package/dist/atheletebridge/pages/admin/CartManagementPage.js.map +1 -1
- package/dist/atheletebridge/pages/admin/UserManagementPage.js +310 -303
- package/dist/atheletebridge/pages/admin/UserManagementPage.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/AnalyticsDashboard.js +86 -81
- package/dist/atheletebridge/pages/cart-owner/AnalyticsDashboard.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/BusinessSettingsPage.js +170 -166
- package/dist/atheletebridge/pages/cart-owner/BusinessSettingsPage.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/CartOwnerDashboard.js +141 -109
- package/dist/atheletebridge/pages/cart-owner/CartOwnerDashboard.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/CartOwnerProfilePage.js +139 -134
- package/dist/atheletebridge/pages/cart-owner/CartOwnerProfilePage.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/CartServiceConfigPage.js +109 -107
- package/dist/atheletebridge/pages/cart-owner/CartServiceConfigPage.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/InventoryManagementPage.js +318 -318
- package/dist/atheletebridge/pages/cart-owner/InventoryManagementPage.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/OrderManagementPage.js +262 -262
- package/dist/atheletebridge/pages/cart-owner/OrderManagementPage.js.map +1 -1
- package/dist/atheletebridge/pages/cart-owner/StaffManagementPage.js +170 -162
- package/dist/atheletebridge/pages/cart-owner/StaffManagementPage.js.map +1 -1
- package/dist/atheletebridge/pages/common/HelpSupportPage.js +292 -298
- package/dist/atheletebridge/pages/common/HelpSupportPage.js.map +1 -1
- package/dist/atheletebridge/pages/common/NotificationCenterPage.js +99 -91
- package/dist/atheletebridge/pages/common/NotificationCenterPage.js.map +1 -1
- package/dist/atheletebridge/pages/common/SettingsPage.js +742 -734
- package/dist/atheletebridge/pages/common/SettingsPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/BookingDetailsPage.js +364 -356
- package/dist/atheletebridge/pages/customer/BookingDetailsPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/CartDetailPage.js +276 -241
- package/dist/atheletebridge/pages/customer/CartDetailPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/CartDiscoveryPage.js +260 -250
- package/dist/atheletebridge/pages/customer/CartDiscoveryPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/CheckoutPage.js +93 -89
- package/dist/atheletebridge/pages/customer/CheckoutPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/CustomerDashboard.js +430 -387
- package/dist/atheletebridge/pages/customer/CustomerDashboard.js.map +1 -1
- package/dist/atheletebridge/pages/customer/CustomerProfilePage.js +526 -490
- package/dist/atheletebridge/pages/customer/CustomerProfilePage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/DirectServiceBookingPage.js +523 -512
- package/dist/atheletebridge/pages/customer/DirectServiceBookingPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/FavoritesPage.js +83 -75
- package/dist/atheletebridge/pages/customer/FavoritesPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/OrderHistoryPage.js +116 -108
- package/dist/atheletebridge/pages/customer/OrderHistoryPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/OrderTrackingPage.js +65 -61
- package/dist/atheletebridge/pages/customer/OrderTrackingPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/PaymentMethodsPage.js +80 -75
- package/dist/atheletebridge/pages/customer/PaymentMethodsPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/ReviewsPage.js +80 -72
- package/dist/atheletebridge/pages/customer/ReviewsPage.js.map +1 -1
- package/dist/atheletebridge/pages/customer/SavedAddressesPage.js +62 -55
- package/dist/atheletebridge/pages/customer/SavedAddressesPage.js.map +1 -1
- package/dist/atheletebridge/pages/investor/InvestmentDetailsPage.js +93 -61
- package/dist/atheletebridge/pages/investor/InvestmentDetailsPage.js.map +1 -1
- package/dist/atheletebridge/pages/investor/InvestmentOpportunitiesPage.js +89 -84
- package/dist/atheletebridge/pages/investor/InvestmentOpportunitiesPage.js.map +1 -1
- package/dist/atheletebridge/pages/investor/InvestorAnalyticsPage.js +60 -55
- package/dist/atheletebridge/pages/investor/InvestorAnalyticsPage.js.map +1 -1
- package/dist/atheletebridge/pages/investor/InvestorDashboard.js +345 -311
- package/dist/atheletebridge/pages/investor/InvestorDashboard.js.map +1 -1
- package/dist/atheletebridge/pages/investor/InvestorInvestmentsPage.js +37 -32
- package/dist/atheletebridge/pages/investor/InvestorInvestmentsPage.js.map +1 -1
- package/dist/atheletebridge/pages/investor/InvestorPortfolioPage.js +75 -67
- package/dist/atheletebridge/pages/investor/InvestorPortfolioPage.js.map +1 -1
- package/dist/atheletebridge/pages/investor/InvestorProfilePage.js +385 -381
- package/dist/atheletebridge/pages/investor/InvestorProfilePage.js.map +1 -1
- package/dist/atheletebridge/pages/worker/TaskDetailsPage.js +352 -319
- package/dist/atheletebridge/pages/worker/TaskDetailsPage.js.map +1 -1
- package/dist/atheletebridge/pages/worker/WorkerDashboard.js +353 -318
- package/dist/atheletebridge/pages/worker/WorkerDashboard.js.map +1 -1
- package/dist/atheletebridge/pages/worker/WorkerOrdersPage.js +133 -128
- package/dist/atheletebridge/pages/worker/WorkerOrdersPage.js.map +1 -1
- package/dist/atheletebridge/pages/worker/WorkerProfilePage.js +81 -77
- package/dist/atheletebridge/pages/worker/WorkerProfilePage.js.map +1 -1
- package/dist/atheletebridge/pages/worker/WorkerSchedulePage.js +352 -344
- package/dist/atheletebridge/pages/worker/WorkerSchedulePage.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { useAthleteBridge as e } from "../../context/AthleteBridgeContext.js";
|
|
2
2
|
import { cn as t } from "../../utils/cn.js";
|
|
3
3
|
import { PageLayout as n } from "../../components/PageLayout.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
4
|
+
import { EmptyState as r } from "../../components/EmptyState.js";
|
|
5
|
+
import { formatCurrency as i } from "../../utils/formatters.js";
|
|
6
|
+
import { mockOrders as a } from "../../mocks/data.js";
|
|
7
|
+
import { useMemo as o, useState as s } from "react";
|
|
8
|
+
import { AlertCircle as c, CheckCircle2 as l, ChefHat as u, MapPin as d, PackageCheck as f, Phone as p, RefreshCw as m, Search as h, ShoppingBag as g, Truck as _, X as v, XCircle as y } from "lucide-react";
|
|
9
|
+
import { Fragment as b, jsx as x, jsxs as S } from "react/jsx-runtime";
|
|
10
|
+
import { EmphasisPanel as C, PagePurpose as w } from "@burdenoff/fe-libs/ui";
|
|
9
11
|
//#region src/atheletebridge/pages/cart-owner/OrderManagementPage.tsx
|
|
10
|
-
var
|
|
11
|
-
...
|
|
12
|
+
var T = [
|
|
13
|
+
...a,
|
|
12
14
|
{
|
|
13
15
|
id: "ORD-010",
|
|
14
16
|
cartId: "FOOD-001",
|
|
@@ -240,7 +242,7 @@ var S = [
|
|
|
240
242
|
customerPhone: "+91-9876543224",
|
|
241
243
|
fulfillmentType: "delivery"
|
|
242
244
|
}
|
|
243
|
-
],
|
|
245
|
+
], E = {
|
|
244
246
|
pending: {
|
|
245
247
|
color: "bg-yellow-500/20 text-yellow-600 dark:text-yellow-400",
|
|
246
248
|
label: "New Order"
|
|
@@ -269,54 +271,54 @@ var S = [
|
|
|
269
271
|
color: "bg-red-500/20 text-red-600 dark:text-red-400",
|
|
270
272
|
label: "Cancelled"
|
|
271
273
|
}
|
|
272
|
-
},
|
|
274
|
+
}, D = {
|
|
273
275
|
delivery: {
|
|
274
|
-
icon:
|
|
276
|
+
icon: _,
|
|
275
277
|
label: "Delivery",
|
|
276
278
|
color: "bg-purple-500/20 text-purple-600 dark:text-purple-400"
|
|
277
279
|
},
|
|
278
280
|
pickup: {
|
|
279
|
-
icon:
|
|
281
|
+
icon: g,
|
|
280
282
|
label: "Pickup",
|
|
281
283
|
color: "bg-blue-500/20 text-blue-600 dark:text-blue-400"
|
|
282
284
|
},
|
|
283
285
|
cart_dispatch: {
|
|
284
|
-
icon:
|
|
286
|
+
icon: d,
|
|
285
287
|
label: "Cart Dispatch",
|
|
286
288
|
color: "bg-bg-sunken text-text-secondary"
|
|
287
289
|
}
|
|
288
|
-
},
|
|
290
|
+
}, O = (e) => {
|
|
289
291
|
let t = new Date(e), n = Math.floor(((/* @__PURE__ */ new Date()).getTime() - t.getTime()) / (1e3 * 60));
|
|
290
292
|
return n < 1 ? "Just now" : n < 60 ? `${n} min ago` : n < 1440 ? `${Math.floor(n / 60)} hours ago` : t.toLocaleDateString("en-IN", {
|
|
291
293
|
day: "2-digit",
|
|
292
294
|
month: "short"
|
|
293
295
|
});
|
|
294
|
-
},
|
|
296
|
+
}, k = (e) => new Date(e).toLocaleTimeString("en-IN", {
|
|
295
297
|
hour: "numeric",
|
|
296
298
|
minute: "2-digit",
|
|
297
299
|
hour12: !0
|
|
298
|
-
}),
|
|
300
|
+
}), A = (e) => {
|
|
299
301
|
let t = ((/* @__PURE__ */ new Date()).getTime() - new Date(e.orderDate).getTime()) / (1e3 * 60);
|
|
300
302
|
return e.status === "pending" && t > 10 ? "border-red-500/50 bg-red-500/5" : e.status === "preparing" && t > 30 ? "border-yellow-500/50 bg-yellow-500/5" : "border-border-subtle";
|
|
301
|
-
},
|
|
302
|
-
let { navigateTo:
|
|
303
|
+
}, j = () => {
|
|
304
|
+
let { navigateTo: a } = e(), [g, _] = s(T), [j, M] = s({
|
|
303
305
|
status: "",
|
|
304
306
|
dateRange: "all",
|
|
305
307
|
searchQuery: "",
|
|
306
308
|
sortBy: "recent",
|
|
307
309
|
fulfillmentType: ""
|
|
308
|
-
}), [
|
|
309
|
-
|
|
310
|
+
}), [N, P] = s(null), [F, I] = s(!1), [L, R] = s(null), z = (e, t) => {
|
|
311
|
+
R({
|
|
310
312
|
text: e,
|
|
311
313
|
type: t
|
|
312
|
-
}), setTimeout(() =>
|
|
313
|
-
},
|
|
314
|
-
let e =
|
|
314
|
+
}), setTimeout(() => R(null), 3e3);
|
|
315
|
+
}, B = o(() => {
|
|
316
|
+
let e = g.length, t = g.filter((e) => e.status === "pending").length, n = g.filter((e) => [
|
|
315
317
|
"confirmed",
|
|
316
318
|
"preparing",
|
|
317
319
|
"ready",
|
|
318
320
|
"out_for_delivery"
|
|
319
|
-
].includes(e.status)).length, r =
|
|
321
|
+
].includes(e.status)).length, r = g.filter((e) => e.status === "delivered").length, i = g.filter((e) => e.status === "delivered").reduce((e, t) => e + t.total, 0);
|
|
320
322
|
return {
|
|
321
323
|
total: e,
|
|
322
324
|
pending: t,
|
|
@@ -325,17 +327,17 @@ var S = [
|
|
|
325
327
|
totalRevenue: i,
|
|
326
328
|
avgOrder: r > 0 ? Math.round(i / r) : 0
|
|
327
329
|
};
|
|
328
|
-
}, [
|
|
329
|
-
let e = [...
|
|
330
|
-
if (
|
|
331
|
-
let t =
|
|
330
|
+
}, [g]), V = o(() => {
|
|
331
|
+
let e = [...g];
|
|
332
|
+
if (j.status && (e = e.filter((e) => e.status === j.status)), j.fulfillmentType && (e = e.filter((e) => e.fulfillmentType === j.fulfillmentType)), j.searchQuery) {
|
|
333
|
+
let t = j.searchQuery.toLowerCase();
|
|
332
334
|
e = e.filter((e) => e.id.toLowerCase().includes(t) || (e.customerName || "").toLowerCase().includes(t) || e.items.some((e) => e.name.toLowerCase().includes(t)));
|
|
333
335
|
}
|
|
334
|
-
if (
|
|
336
|
+
if (j.dateRange !== "all") {
|
|
335
337
|
let t = /* @__PURE__ */ new Date(), n = /* @__PURE__ */ new Date();
|
|
336
|
-
|
|
338
|
+
j.dateRange === "today" ? n.setHours(0, 0, 0, 0) : j.dateRange === "7days" ? n.setDate(t.getDate() - 7) : j.dateRange === "30days" && n.setDate(t.getDate() - 30), e = e.filter((e) => new Date(e.orderDate) >= n);
|
|
337
339
|
}
|
|
338
|
-
switch (
|
|
340
|
+
switch (j.sortBy) {
|
|
339
341
|
case "recent":
|
|
340
342
|
e.sort((e, t) => new Date(t.orderDate).getTime() - new Date(e.orderDate).getTime());
|
|
341
343
|
break;
|
|
@@ -350,236 +352,240 @@ var S = [
|
|
|
350
352
|
break;
|
|
351
353
|
}
|
|
352
354
|
return e;
|
|
353
|
-
}, [
|
|
355
|
+
}, [g, j]), H = (e, t) => {
|
|
354
356
|
let n = {
|
|
355
357
|
accept: "confirmed",
|
|
356
358
|
reject: "cancelled",
|
|
357
359
|
ready: "ready",
|
|
358
360
|
complete: "delivered"
|
|
359
361
|
};
|
|
360
|
-
|
|
362
|
+
_((r) => r.map((r) => r.id === e ? {
|
|
361
363
|
...r,
|
|
362
364
|
status: n[t]
|
|
363
|
-
} : r)),
|
|
365
|
+
} : r)), z({
|
|
364
366
|
accept: "Order accepted",
|
|
365
367
|
reject: "Order rejected",
|
|
366
368
|
ready: "Order marked as ready",
|
|
367
369
|
complete: "Order completed"
|
|
368
|
-
}[t], "success"),
|
|
370
|
+
}[t], "success"), F && N?.id === e && I(!1);
|
|
369
371
|
};
|
|
370
|
-
return /* @__PURE__ */
|
|
372
|
+
return /* @__PURE__ */ S(n, {
|
|
371
373
|
title: "Order Management",
|
|
372
374
|
description: "Manage incoming and active orders",
|
|
373
|
-
actions: /* @__PURE__ */
|
|
375
|
+
actions: /* @__PURE__ */ S("button", {
|
|
374
376
|
type: "button",
|
|
375
|
-
onClick: () =>
|
|
377
|
+
onClick: () => z("Orders refreshed", "success"),
|
|
376
378
|
className: "inline-flex items-center gap-2 rounded-md border border-border-subtle px-4 py-2 text-sm font-medium text-text-primary hover:bg-bg-sunken transition-colors",
|
|
377
|
-
children: [/* @__PURE__ */
|
|
379
|
+
children: [/* @__PURE__ */ x(m, { className: "h-4 w-4" }), "Refresh"]
|
|
378
380
|
}),
|
|
379
|
-
children: [/* @__PURE__ */
|
|
381
|
+
children: [/* @__PURE__ */ S("div", {
|
|
380
382
|
className: "space-y-4",
|
|
381
383
|
children: [
|
|
382
|
-
|
|
383
|
-
className: t("flex items-center gap-2 rounded-lg border p-3",
|
|
384
|
-
children: [
|
|
385
|
-
className: t("text-sm font-medium",
|
|
386
|
-
children:
|
|
384
|
+
L && /* @__PURE__ */ S("div", {
|
|
385
|
+
className: t("flex items-center gap-2 rounded-lg border p-3", L.type === "success" ? "border-green-500/30 bg-green-500/10" : "border-red-500/30 bg-red-500/10"),
|
|
386
|
+
children: [L.type === "success" ? /* @__PURE__ */ x(l, { className: "h-4 w-4 text-green-600 dark:text-green-400" }) : /* @__PURE__ */ x(c, { className: "h-4 w-4 text-red-600 dark:text-red-400" }), /* @__PURE__ */ x("span", {
|
|
387
|
+
className: t("text-sm font-medium", L.type === "success" ? "text-green-600 dark:text-green-400" : "text-red-600 dark:text-red-400"),
|
|
388
|
+
children: L.text
|
|
387
389
|
})]
|
|
388
390
|
}),
|
|
389
|
-
/* @__PURE__ */ x("
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
391
|
+
/* @__PURE__ */ x(w, { children: "The order queue for your service. Accept incoming orders, move them through preparing and ready, and keep an eye on revenue and average order value. Filter and search to find a specific order fast. This is where you turn orders into happy customers." }),
|
|
392
|
+
/* @__PURE__ */ x(C, {
|
|
393
|
+
className: "p-5",
|
|
394
|
+
children: /* @__PURE__ */ S("div", {
|
|
395
|
+
className: "grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-6 gap-3",
|
|
396
|
+
children: [
|
|
397
|
+
/* @__PURE__ */ S("div", {
|
|
398
|
+
className: "rounded-lg border border-border-subtle bg-bg-surface p-4 shadow-sm",
|
|
399
|
+
children: [/* @__PURE__ */ x("p", {
|
|
400
|
+
className: "text-xs text-text-secondary",
|
|
401
|
+
children: "Total Orders"
|
|
402
|
+
}), /* @__PURE__ */ x("p", {
|
|
403
|
+
className: "text-2xl font-bold text-text-primary",
|
|
404
|
+
children: B.total
|
|
405
|
+
})]
|
|
406
|
+
}),
|
|
407
|
+
/* @__PURE__ */ S("div", {
|
|
408
|
+
className: "rounded-lg border border-yellow-500/30 bg-yellow-500/5 p-4 shadow-sm",
|
|
409
|
+
children: [/* @__PURE__ */ x("p", {
|
|
410
|
+
className: "text-xs text-yellow-600 dark:text-yellow-400",
|
|
411
|
+
children: "Pending"
|
|
412
|
+
}), /* @__PURE__ */ x("p", {
|
|
413
|
+
className: "text-2xl font-bold text-yellow-600 dark:text-yellow-400",
|
|
414
|
+
children: B.pending
|
|
415
|
+
})]
|
|
416
|
+
}),
|
|
417
|
+
/* @__PURE__ */ S("div", {
|
|
418
|
+
className: "rounded-lg border border-blue-500/30 bg-blue-500/5 p-4 shadow-sm",
|
|
419
|
+
children: [/* @__PURE__ */ x("p", {
|
|
420
|
+
className: "text-xs text-blue-600 dark:text-blue-400",
|
|
421
|
+
children: "Active"
|
|
422
|
+
}), /* @__PURE__ */ x("p", {
|
|
423
|
+
className: "text-2xl font-bold text-blue-600 dark:text-blue-400",
|
|
424
|
+
children: B.active
|
|
425
|
+
})]
|
|
426
|
+
}),
|
|
427
|
+
/* @__PURE__ */ S("div", {
|
|
428
|
+
className: "rounded-lg border border-green-500/30 bg-green-500/5 p-4 shadow-sm",
|
|
429
|
+
children: [/* @__PURE__ */ x("p", {
|
|
430
|
+
className: "text-xs text-green-600 dark:text-green-400",
|
|
431
|
+
children: "Completed"
|
|
432
|
+
}), /* @__PURE__ */ x("p", {
|
|
433
|
+
className: "text-2xl font-bold text-green-600 dark:text-green-400",
|
|
434
|
+
children: B.completed
|
|
435
|
+
})]
|
|
436
|
+
}),
|
|
437
|
+
/* @__PURE__ */ S("div", {
|
|
438
|
+
className: "rounded-lg border border-border-subtle bg-bg-surface p-4 shadow-sm",
|
|
439
|
+
children: [/* @__PURE__ */ x("p", {
|
|
440
|
+
className: "text-xs text-text-secondary",
|
|
441
|
+
children: "Total Revenue"
|
|
442
|
+
}), /* @__PURE__ */ x("p", {
|
|
443
|
+
className: "text-2xl font-bold text-text-primary",
|
|
444
|
+
children: i(B.totalRevenue, { minimumFractionDigits: 0 })
|
|
445
|
+
})]
|
|
446
|
+
}),
|
|
447
|
+
/* @__PURE__ */ S("div", {
|
|
448
|
+
className: "rounded-lg border border-border-subtle bg-bg-surface p-4 shadow-sm",
|
|
449
|
+
children: [/* @__PURE__ */ x("p", {
|
|
450
|
+
className: "text-xs text-text-secondary",
|
|
451
|
+
children: "Avg Order"
|
|
452
|
+
}), /* @__PURE__ */ x("p", {
|
|
453
|
+
className: "text-2xl font-bold text-text-primary",
|
|
454
|
+
children: i(B.avgOrder, { minimumFractionDigits: 0 })
|
|
455
|
+
})]
|
|
456
|
+
})
|
|
457
|
+
]
|
|
458
|
+
})
|
|
453
459
|
}),
|
|
454
|
-
/* @__PURE__ */
|
|
460
|
+
/* @__PURE__ */ x("div", {
|
|
455
461
|
className: "rounded-lg border border-border-subtle bg-bg-surface p-4 shadow-sm",
|
|
456
|
-
children: /* @__PURE__ */
|
|
462
|
+
children: /* @__PURE__ */ S("div", {
|
|
457
463
|
className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-5 gap-3",
|
|
458
464
|
children: [
|
|
459
|
-
/* @__PURE__ */
|
|
465
|
+
/* @__PURE__ */ S("div", {
|
|
460
466
|
className: "relative sm:col-span-2 lg:col-span-1",
|
|
461
|
-
children: [/* @__PURE__ */
|
|
467
|
+
children: [/* @__PURE__ */ x(h, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-text-secondary" }), /* @__PURE__ */ x("input", {
|
|
462
468
|
type: "text",
|
|
463
469
|
placeholder: "Search orders...",
|
|
464
|
-
value:
|
|
465
|
-
onChange: (e) =>
|
|
470
|
+
value: j.searchQuery,
|
|
471
|
+
onChange: (e) => M((t) => ({
|
|
466
472
|
...t,
|
|
467
473
|
searchQuery: e.target.value
|
|
468
474
|
})),
|
|
469
475
|
className: "w-full rounded-md border border-border-subtle bg-bg-surface pl-10 pr-4 py-2 text-sm text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-[var(--color-focus-ring)]"
|
|
470
476
|
})]
|
|
471
477
|
}),
|
|
472
|
-
/* @__PURE__ */
|
|
473
|
-
value:
|
|
474
|
-
onChange: (e) =>
|
|
478
|
+
/* @__PURE__ */ S("select", {
|
|
479
|
+
value: j.status,
|
|
480
|
+
onChange: (e) => M((t) => ({
|
|
475
481
|
...t,
|
|
476
482
|
status: e.target.value
|
|
477
483
|
})),
|
|
478
484
|
className: "rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary",
|
|
479
485
|
children: [
|
|
480
|
-
/* @__PURE__ */
|
|
486
|
+
/* @__PURE__ */ x("option", {
|
|
481
487
|
value: "",
|
|
482
488
|
children: "All Orders"
|
|
483
489
|
}),
|
|
484
|
-
/* @__PURE__ */
|
|
490
|
+
/* @__PURE__ */ x("option", {
|
|
485
491
|
value: "pending",
|
|
486
492
|
children: "New Orders"
|
|
487
493
|
}),
|
|
488
|
-
/* @__PURE__ */
|
|
494
|
+
/* @__PURE__ */ x("option", {
|
|
489
495
|
value: "confirmed",
|
|
490
496
|
children: "Confirmed"
|
|
491
497
|
}),
|
|
492
|
-
/* @__PURE__ */
|
|
498
|
+
/* @__PURE__ */ x("option", {
|
|
493
499
|
value: "preparing",
|
|
494
500
|
children: "Preparing"
|
|
495
501
|
}),
|
|
496
|
-
/* @__PURE__ */
|
|
502
|
+
/* @__PURE__ */ x("option", {
|
|
497
503
|
value: "ready",
|
|
498
504
|
children: "Ready"
|
|
499
505
|
}),
|
|
500
|
-
/* @__PURE__ */
|
|
506
|
+
/* @__PURE__ */ x("option", {
|
|
501
507
|
value: "delivered",
|
|
502
508
|
children: "Completed"
|
|
503
509
|
}),
|
|
504
|
-
/* @__PURE__ */
|
|
510
|
+
/* @__PURE__ */ x("option", {
|
|
505
511
|
value: "cancelled",
|
|
506
512
|
children: "Cancelled"
|
|
507
513
|
})
|
|
508
514
|
]
|
|
509
515
|
}),
|
|
510
|
-
/* @__PURE__ */
|
|
511
|
-
value:
|
|
512
|
-
onChange: (e) =>
|
|
516
|
+
/* @__PURE__ */ S("select", {
|
|
517
|
+
value: j.fulfillmentType,
|
|
518
|
+
onChange: (e) => M((t) => ({
|
|
513
519
|
...t,
|
|
514
520
|
fulfillmentType: e.target.value
|
|
515
521
|
})),
|
|
516
522
|
className: "rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary",
|
|
517
523
|
children: [
|
|
518
|
-
/* @__PURE__ */
|
|
524
|
+
/* @__PURE__ */ x("option", {
|
|
519
525
|
value: "",
|
|
520
526
|
children: "All Types"
|
|
521
527
|
}),
|
|
522
|
-
/* @__PURE__ */
|
|
528
|
+
/* @__PURE__ */ x("option", {
|
|
523
529
|
value: "pickup",
|
|
524
530
|
children: "Pickup"
|
|
525
531
|
}),
|
|
526
|
-
/* @__PURE__ */
|
|
532
|
+
/* @__PURE__ */ x("option", {
|
|
527
533
|
value: "delivery",
|
|
528
534
|
children: "Delivery"
|
|
529
535
|
}),
|
|
530
|
-
/* @__PURE__ */
|
|
536
|
+
/* @__PURE__ */ x("option", {
|
|
531
537
|
value: "cart_dispatch",
|
|
532
538
|
children: "Cart Dispatch"
|
|
533
539
|
})
|
|
534
540
|
]
|
|
535
541
|
}),
|
|
536
|
-
/* @__PURE__ */
|
|
537
|
-
value:
|
|
538
|
-
onChange: (e) =>
|
|
542
|
+
/* @__PURE__ */ S("select", {
|
|
543
|
+
value: j.dateRange,
|
|
544
|
+
onChange: (e) => M((t) => ({
|
|
539
545
|
...t,
|
|
540
546
|
dateRange: e.target.value
|
|
541
547
|
})),
|
|
542
548
|
className: "rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary",
|
|
543
549
|
children: [
|
|
544
|
-
/* @__PURE__ */
|
|
550
|
+
/* @__PURE__ */ x("option", {
|
|
545
551
|
value: "today",
|
|
546
552
|
children: "Today"
|
|
547
553
|
}),
|
|
548
|
-
/* @__PURE__ */
|
|
554
|
+
/* @__PURE__ */ x("option", {
|
|
549
555
|
value: "7days",
|
|
550
556
|
children: "Last 7 Days"
|
|
551
557
|
}),
|
|
552
|
-
/* @__PURE__ */
|
|
558
|
+
/* @__PURE__ */ x("option", {
|
|
553
559
|
value: "30days",
|
|
554
560
|
children: "Last 30 Days"
|
|
555
561
|
}),
|
|
556
|
-
/* @__PURE__ */
|
|
562
|
+
/* @__PURE__ */ x("option", {
|
|
557
563
|
value: "all",
|
|
558
564
|
children: "All Time"
|
|
559
565
|
})
|
|
560
566
|
]
|
|
561
567
|
}),
|
|
562
|
-
/* @__PURE__ */
|
|
563
|
-
value:
|
|
564
|
-
onChange: (e) =>
|
|
568
|
+
/* @__PURE__ */ S("select", {
|
|
569
|
+
value: j.sortBy,
|
|
570
|
+
onChange: (e) => M((t) => ({
|
|
565
571
|
...t,
|
|
566
572
|
sortBy: e.target.value
|
|
567
573
|
})),
|
|
568
574
|
className: "rounded-md border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary",
|
|
569
575
|
children: [
|
|
570
|
-
/* @__PURE__ */
|
|
576
|
+
/* @__PURE__ */ x("option", {
|
|
571
577
|
value: "recent",
|
|
572
578
|
children: "Most Recent"
|
|
573
579
|
}),
|
|
574
|
-
/* @__PURE__ */
|
|
580
|
+
/* @__PURE__ */ x("option", {
|
|
575
581
|
value: "oldest",
|
|
576
582
|
children: "Oldest First"
|
|
577
583
|
}),
|
|
578
|
-
/* @__PURE__ */
|
|
584
|
+
/* @__PURE__ */ x("option", {
|
|
579
585
|
value: "amount_high",
|
|
580
586
|
children: "Amount: High to Low"
|
|
581
587
|
}),
|
|
582
|
-
/* @__PURE__ */
|
|
588
|
+
/* @__PURE__ */ x("option", {
|
|
583
589
|
value: "amount_low",
|
|
584
590
|
children: "Amount: Low to High"
|
|
585
591
|
})
|
|
@@ -588,79 +594,73 @@ var S = [
|
|
|
588
594
|
]
|
|
589
595
|
})
|
|
590
596
|
}),
|
|
591
|
-
|
|
592
|
-
className: "
|
|
593
|
-
children:
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
/* @__PURE__ */ b("p", {
|
|
600
|
-
className: "text-sm text-text-secondary",
|
|
601
|
-
children: O.searchQuery || O.status ? "Try adjusting your filters" : "No orders to display"
|
|
602
|
-
})
|
|
603
|
-
]
|
|
604
|
-
}) : /* @__PURE__ */ b("div", {
|
|
597
|
+
V.length === 0 ? /* @__PURE__ */ x("div", {
|
|
598
|
+
className: "rounded-lg border border-border-subtle bg-bg-surface shadow-sm",
|
|
599
|
+
children: /* @__PURE__ */ x(r, {
|
|
600
|
+
illustration: j.searchQuery || j.status ? "empty-search" : "empty-data",
|
|
601
|
+
title: "No orders found",
|
|
602
|
+
description: j.searchQuery || j.status ? "No orders match your current filters. Try adjusting your search or status filter." : "New orders from customers will appear here. Make sure your service is open to receive them."
|
|
603
|
+
})
|
|
604
|
+
}) : /* @__PURE__ */ x("div", {
|
|
605
605
|
className: "space-y-4",
|
|
606
|
-
children:
|
|
607
|
-
let n =
|
|
606
|
+
children: V.map((e) => {
|
|
607
|
+
let n = E[e.status] || {
|
|
608
608
|
color: "bg-bg-sunken text-text-secondary",
|
|
609
609
|
label: e.status
|
|
610
|
-
},
|
|
611
|
-
return /* @__PURE__ */
|
|
612
|
-
className: t("rounded-lg border bg-bg-surface shadow-sm transition-shadow hover:shadow-md",
|
|
613
|
-
children: /* @__PURE__ */
|
|
610
|
+
}, r = D[e.fulfillmentType || "delivery"] || D.delivery, a = r.icon;
|
|
611
|
+
return /* @__PURE__ */ x("div", {
|
|
612
|
+
className: t("rounded-lg border bg-bg-surface shadow-sm transition-shadow hover:shadow-md", A(e)),
|
|
613
|
+
children: /* @__PURE__ */ S("div", {
|
|
614
614
|
className: "p-4 sm:p-5",
|
|
615
615
|
children: [
|
|
616
|
-
/* @__PURE__ */
|
|
616
|
+
/* @__PURE__ */ S("div", {
|
|
617
617
|
className: "flex flex-col lg:flex-row lg:items-center lg:justify-between gap-3 mb-3",
|
|
618
|
-
children: [/* @__PURE__ */
|
|
618
|
+
children: [/* @__PURE__ */ S("div", {
|
|
619
619
|
className: "min-w-0 flex-1",
|
|
620
|
-
children: [/* @__PURE__ */
|
|
620
|
+
children: [/* @__PURE__ */ S("div", {
|
|
621
621
|
className: "flex flex-wrap items-center gap-2 mb-1",
|
|
622
622
|
children: [
|
|
623
|
-
/* @__PURE__ */
|
|
623
|
+
/* @__PURE__ */ S("h3", {
|
|
624
624
|
className: "text-sm sm:text-base font-semibold text-text-primary",
|
|
625
625
|
children: ["Order #", e.id]
|
|
626
626
|
}),
|
|
627
|
-
/* @__PURE__ */
|
|
627
|
+
/* @__PURE__ */ x("span", {
|
|
628
628
|
className: t("inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium", n.color),
|
|
629
629
|
children: n.label
|
|
630
630
|
}),
|
|
631
|
-
/* @__PURE__ */
|
|
632
|
-
className: t("inline-flex items-center gap-1 rounded-full px-2.5 py-0.5 text-xs font-medium",
|
|
633
|
-
children: [/* @__PURE__ */
|
|
631
|
+
/* @__PURE__ */ S("span", {
|
|
632
|
+
className: t("inline-flex items-center gap-1 rounded-full px-2.5 py-0.5 text-xs font-medium", r.color),
|
|
633
|
+
children: [/* @__PURE__ */ x(a, { className: "h-3 w-3" }), r.label]
|
|
634
634
|
})
|
|
635
635
|
]
|
|
636
|
-
}), /* @__PURE__ */
|
|
636
|
+
}), /* @__PURE__ */ S("p", {
|
|
637
637
|
className: "text-xs text-text-secondary",
|
|
638
638
|
children: [
|
|
639
639
|
e.customerName || "Customer",
|
|
640
640
|
" | ",
|
|
641
|
-
|
|
641
|
+
O(e.orderDate)
|
|
642
642
|
]
|
|
643
643
|
})]
|
|
644
|
-
}), /* @__PURE__ */
|
|
644
|
+
}), /* @__PURE__ */ S("div", {
|
|
645
645
|
className: "flex items-center gap-3",
|
|
646
|
-
children: [/* @__PURE__ */
|
|
646
|
+
children: [/* @__PURE__ */ x("p", {
|
|
647
647
|
className: "text-lg font-bold text-text-primary",
|
|
648
|
-
children:
|
|
649
|
-
}), /* @__PURE__ */
|
|
648
|
+
children: i(e.total, { minimumFractionDigits: 0 })
|
|
649
|
+
}), /* @__PURE__ */ x("button", {
|
|
650
650
|
type: "button",
|
|
651
651
|
onClick: () => {
|
|
652
|
-
|
|
652
|
+
P(e), I(!0);
|
|
653
653
|
},
|
|
654
654
|
className: "rounded-md border border-border-subtle px-3 py-1.5 text-xs font-medium text-text-primary hover:bg-bg-sunken transition-colors",
|
|
655
655
|
children: "View Details"
|
|
656
656
|
})]
|
|
657
657
|
})]
|
|
658
658
|
}),
|
|
659
|
-
/* @__PURE__ */
|
|
659
|
+
/* @__PURE__ */ x("div", {
|
|
660
660
|
className: "border-t border-border-subtle pt-3 mb-3",
|
|
661
|
-
children: /* @__PURE__ */
|
|
661
|
+
children: /* @__PURE__ */ x("div", {
|
|
662
662
|
className: "flex flex-wrap gap-2",
|
|
663
|
-
children: e.items.map((e, t) => /* @__PURE__ */
|
|
663
|
+
children: e.items.map((e, t) => /* @__PURE__ */ S("span", {
|
|
664
664
|
className: "inline-flex items-center rounded bg-bg-sunken px-2 py-1 text-xs text-text-primary",
|
|
665
665
|
children: [
|
|
666
666
|
e.quantity,
|
|
@@ -670,56 +670,56 @@ var S = [
|
|
|
670
670
|
}, t))
|
|
671
671
|
})
|
|
672
672
|
}),
|
|
673
|
-
/* @__PURE__ */
|
|
673
|
+
/* @__PURE__ */ S("div", {
|
|
674
674
|
className: "flex flex-wrap gap-2",
|
|
675
675
|
children: [
|
|
676
|
-
e.status === "pending" && /* @__PURE__ */
|
|
676
|
+
e.status === "pending" && /* @__PURE__ */ S(b, { children: [/* @__PURE__ */ S("button", {
|
|
677
677
|
type: "button",
|
|
678
|
-
onClick: () =>
|
|
678
|
+
onClick: () => H(e.id, "accept"),
|
|
679
679
|
className: "inline-flex items-center gap-1.5 rounded-md bg-green-500/10 px-3 py-2 text-xs font-medium text-green-600 dark:text-green-400 hover:bg-green-500/20 transition-colors",
|
|
680
|
-
children: [/* @__PURE__ */
|
|
681
|
-
}), /* @__PURE__ */
|
|
680
|
+
children: [/* @__PURE__ */ x(l, { className: "h-3.5 w-3.5" }), "Accept Order"]
|
|
681
|
+
}), /* @__PURE__ */ S("button", {
|
|
682
682
|
type: "button",
|
|
683
|
-
onClick: () =>
|
|
683
|
+
onClick: () => H(e.id, "reject"),
|
|
684
684
|
className: "inline-flex items-center gap-1.5 rounded-md bg-red-500/10 px-3 py-2 text-xs font-medium text-red-600 dark:text-red-400 hover:bg-red-500/20 transition-colors",
|
|
685
|
-
children: [/* @__PURE__ */
|
|
685
|
+
children: [/* @__PURE__ */ x(y, { className: "h-3.5 w-3.5" }), "Reject"]
|
|
686
686
|
})] }),
|
|
687
|
-
e.status === "confirmed" && /* @__PURE__ */
|
|
687
|
+
e.status === "confirmed" && /* @__PURE__ */ S("button", {
|
|
688
688
|
type: "button",
|
|
689
|
-
onClick: () =>
|
|
689
|
+
onClick: () => H(e.id, "ready"),
|
|
690
690
|
className: "inline-flex items-center gap-1.5 rounded-md bg-orange-500/10 px-3 py-2 text-xs font-medium text-orange-600 dark:text-orange-400 hover:bg-orange-500/20 transition-colors",
|
|
691
|
-
children: [/* @__PURE__ */
|
|
691
|
+
children: [/* @__PURE__ */ x(u, { className: "h-3.5 w-3.5" }), "Start Preparing"]
|
|
692
692
|
}),
|
|
693
|
-
e.status === "preparing" && /* @__PURE__ */
|
|
693
|
+
e.status === "preparing" && /* @__PURE__ */ S("button", {
|
|
694
694
|
type: "button",
|
|
695
|
-
onClick: () =>
|
|
695
|
+
onClick: () => H(e.id, "ready"),
|
|
696
696
|
className: "inline-flex items-center gap-1.5 rounded-md bg-green-500/10 px-3 py-2 text-xs font-medium text-green-600 dark:text-green-400 hover:bg-green-500/20 transition-colors",
|
|
697
|
-
children: [/* @__PURE__ */
|
|
697
|
+
children: [/* @__PURE__ */ x(f, { className: "h-3.5 w-3.5" }), "Mark as Ready"]
|
|
698
698
|
}),
|
|
699
|
-
e.status === "ready" && e.fulfillmentType === "pickup" && /* @__PURE__ */
|
|
699
|
+
e.status === "ready" && e.fulfillmentType === "pickup" && /* @__PURE__ */ S("button", {
|
|
700
700
|
type: "button",
|
|
701
|
-
onClick: () =>
|
|
701
|
+
onClick: () => H(e.id, "complete"),
|
|
702
702
|
className: "inline-flex items-center gap-1.5 rounded-md bg-green-500/10 px-3 py-2 text-xs font-medium text-green-600 dark:text-green-400 hover:bg-green-500/20 transition-colors",
|
|
703
|
-
children: [/* @__PURE__ */
|
|
703
|
+
children: [/* @__PURE__ */ x(l, { className: "h-3.5 w-3.5" }), "Complete Order"]
|
|
704
704
|
}),
|
|
705
705
|
[
|
|
706
706
|
"confirmed",
|
|
707
707
|
"preparing",
|
|
708
708
|
"ready"
|
|
709
|
-
].includes(e.status) && /* @__PURE__ */
|
|
709
|
+
].includes(e.status) && /* @__PURE__ */ S("button", {
|
|
710
710
|
type: "button",
|
|
711
711
|
onClick: () => alert("Contact feature coming soon!"),
|
|
712
712
|
className: "inline-flex items-center gap-1.5 rounded-md border border-border-subtle px-3 py-2 text-xs font-medium text-text-primary hover:bg-bg-sunken transition-colors",
|
|
713
|
-
children: [/* @__PURE__ */
|
|
713
|
+
children: [/* @__PURE__ */ x(p, { className: "h-3.5 w-3.5" }), "Contact Customer"]
|
|
714
714
|
})
|
|
715
715
|
]
|
|
716
716
|
}),
|
|
717
|
-
e.specialInstructions && /* @__PURE__ */
|
|
717
|
+
e.specialInstructions && /* @__PURE__ */ S("div", {
|
|
718
718
|
className: "mt-3 rounded-md border border-yellow-500/30 bg-yellow-500/10 p-3",
|
|
719
|
-
children: [/* @__PURE__ */
|
|
719
|
+
children: [/* @__PURE__ */ x("p", {
|
|
720
720
|
className: "text-xs font-medium text-yellow-600 dark:text-yellow-400",
|
|
721
721
|
children: "Special Instructions:"
|
|
722
|
-
}), /* @__PURE__ */
|
|
722
|
+
}), /* @__PURE__ */ x("p", {
|
|
723
723
|
className: "text-xs text-yellow-600 dark:text-yellow-400 mt-0.5",
|
|
724
724
|
children: e.specialInstructions
|
|
725
725
|
})]
|
|
@@ -730,140 +730,140 @@ var S = [
|
|
|
730
730
|
})
|
|
731
731
|
})
|
|
732
732
|
]
|
|
733
|
-
}),
|
|
733
|
+
}), F && N && /* @__PURE__ */ x("div", {
|
|
734
734
|
className: "fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4",
|
|
735
|
-
children: /* @__PURE__ */
|
|
735
|
+
children: /* @__PURE__ */ x("div", {
|
|
736
736
|
className: "w-full max-w-2xl max-h-[90vh] overflow-y-auto rounded-lg border border-border-subtle bg-bg-surface shadow-xl",
|
|
737
|
-
children: /* @__PURE__ */
|
|
737
|
+
children: /* @__PURE__ */ S("div", {
|
|
738
738
|
className: "p-6",
|
|
739
|
-
children: [/* @__PURE__ */
|
|
739
|
+
children: [/* @__PURE__ */ S("div", {
|
|
740
740
|
className: "flex items-center justify-between mb-4",
|
|
741
|
-
children: [/* @__PURE__ */
|
|
741
|
+
children: [/* @__PURE__ */ x("h3", {
|
|
742
742
|
className: "text-lg font-semibold text-text-primary",
|
|
743
743
|
children: "Order Details"
|
|
744
|
-
}), /* @__PURE__ */
|
|
744
|
+
}), /* @__PURE__ */ x("button", {
|
|
745
745
|
type: "button",
|
|
746
|
-
onClick: () =>
|
|
746
|
+
onClick: () => I(!1),
|
|
747
747
|
className: "rounded p-1.5 text-text-secondary hover:text-text-primary hover:bg-bg-sunken transition-colors",
|
|
748
|
-
children: /* @__PURE__ */
|
|
748
|
+
children: /* @__PURE__ */ x(v, { className: "h-5 w-5" })
|
|
749
749
|
})]
|
|
750
|
-
}), /* @__PURE__ */
|
|
750
|
+
}), /* @__PURE__ */ S("div", {
|
|
751
751
|
className: "space-y-4",
|
|
752
752
|
children: [
|
|
753
|
-
/* @__PURE__ */
|
|
753
|
+
/* @__PURE__ */ S("div", {
|
|
754
754
|
className: "grid grid-cols-2 gap-4",
|
|
755
755
|
children: [
|
|
756
|
-
/* @__PURE__ */
|
|
756
|
+
/* @__PURE__ */ S("div", { children: [/* @__PURE__ */ x("p", {
|
|
757
757
|
className: "text-xs text-text-secondary",
|
|
758
758
|
children: "Order ID"
|
|
759
|
-
}), /* @__PURE__ */
|
|
759
|
+
}), /* @__PURE__ */ S("p", {
|
|
760
760
|
className: "text-sm font-medium text-text-primary",
|
|
761
|
-
children: ["#",
|
|
761
|
+
children: ["#", N.id]
|
|
762
762
|
})] }),
|
|
763
|
-
/* @__PURE__ */
|
|
763
|
+
/* @__PURE__ */ S("div", { children: [/* @__PURE__ */ x("p", {
|
|
764
764
|
className: "text-xs text-text-secondary",
|
|
765
765
|
children: "Status"
|
|
766
|
-
}), /* @__PURE__ */
|
|
767
|
-
className: t("inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium mt-0.5", (
|
|
768
|
-
children: (
|
|
766
|
+
}), /* @__PURE__ */ x("span", {
|
|
767
|
+
className: t("inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium mt-0.5", (E[N.status] || E.pending).color),
|
|
768
|
+
children: (E[N.status] || E.pending).label
|
|
769
769
|
})] }),
|
|
770
|
-
/* @__PURE__ */
|
|
770
|
+
/* @__PURE__ */ S("div", { children: [/* @__PURE__ */ x("p", {
|
|
771
771
|
className: "text-xs text-text-secondary",
|
|
772
772
|
children: "Customer"
|
|
773
|
-
}), /* @__PURE__ */
|
|
773
|
+
}), /* @__PURE__ */ x("p", {
|
|
774
774
|
className: "text-sm font-medium text-text-primary",
|
|
775
|
-
children:
|
|
775
|
+
children: N.customerName || "N/A"
|
|
776
776
|
})] }),
|
|
777
|
-
/* @__PURE__ */
|
|
777
|
+
/* @__PURE__ */ S("div", { children: [/* @__PURE__ */ x("p", {
|
|
778
778
|
className: "text-xs text-text-secondary",
|
|
779
779
|
children: "Order Time"
|
|
780
|
-
}), /* @__PURE__ */
|
|
780
|
+
}), /* @__PURE__ */ x("p", {
|
|
781
781
|
className: "text-sm font-medium text-text-primary",
|
|
782
|
-
children:
|
|
782
|
+
children: k(N.orderDate)
|
|
783
783
|
})] })
|
|
784
784
|
]
|
|
785
785
|
}),
|
|
786
|
-
/* @__PURE__ */
|
|
786
|
+
/* @__PURE__ */ S("div", {
|
|
787
787
|
className: "border-t border-border-subtle pt-4",
|
|
788
|
-
children: [/* @__PURE__ */
|
|
788
|
+
children: [/* @__PURE__ */ x("h4", {
|
|
789
789
|
className: "text-sm font-medium text-text-primary mb-3",
|
|
790
790
|
children: "Order Items"
|
|
791
|
-
}), /* @__PURE__ */
|
|
791
|
+
}), /* @__PURE__ */ x("div", {
|
|
792
792
|
className: "space-y-2",
|
|
793
|
-
children:
|
|
793
|
+
children: N.items.map((e, t) => /* @__PURE__ */ S("div", {
|
|
794
794
|
className: "flex justify-between items-start",
|
|
795
|
-
children: [/* @__PURE__ */
|
|
795
|
+
children: [/* @__PURE__ */ S("div", { children: [/* @__PURE__ */ x("p", {
|
|
796
796
|
className: "text-sm font-medium text-text-primary",
|
|
797
797
|
children: e.name
|
|
798
|
-
}), /* @__PURE__ */
|
|
798
|
+
}), /* @__PURE__ */ S("p", {
|
|
799
799
|
className: "text-xs text-text-secondary",
|
|
800
800
|
children: [
|
|
801
|
-
|
|
801
|
+
i(e.price, { minimumFractionDigits: 0 }),
|
|
802
802
|
" x",
|
|
803
803
|
" ",
|
|
804
804
|
e.quantity
|
|
805
805
|
]
|
|
806
|
-
})] }), /* @__PURE__ */
|
|
806
|
+
})] }), /* @__PURE__ */ x("p", {
|
|
807
807
|
className: "text-sm font-medium text-text-primary",
|
|
808
|
-
children:
|
|
808
|
+
children: i(e.price * e.quantity, { minimumFractionDigits: 0 })
|
|
809
809
|
})]
|
|
810
810
|
}, t))
|
|
811
811
|
})]
|
|
812
812
|
}),
|
|
813
|
-
/* @__PURE__ */
|
|
813
|
+
/* @__PURE__ */ S("div", {
|
|
814
814
|
className: "border-t border-border-subtle pt-4 space-y-2",
|
|
815
815
|
children: [
|
|
816
|
-
/* @__PURE__ */
|
|
816
|
+
/* @__PURE__ */ S("div", {
|
|
817
817
|
className: "flex justify-between text-sm text-text-secondary",
|
|
818
|
-
children: [/* @__PURE__ */
|
|
818
|
+
children: [/* @__PURE__ */ x("span", { children: "Subtotal" }), /* @__PURE__ */ x("span", { children: i(N.subtotal, { minimumFractionDigits: 0 }) })]
|
|
819
819
|
}),
|
|
820
|
-
/* @__PURE__ */
|
|
820
|
+
/* @__PURE__ */ S("div", {
|
|
821
821
|
className: "flex justify-between text-sm text-text-secondary",
|
|
822
|
-
children: [/* @__PURE__ */
|
|
822
|
+
children: [/* @__PURE__ */ x("span", { children: "Delivery Fee" }), /* @__PURE__ */ x("span", { children: i(N.deliveryFee, { minimumFractionDigits: 0 }) })]
|
|
823
823
|
}),
|
|
824
|
-
/* @__PURE__ */
|
|
824
|
+
/* @__PURE__ */ S("div", {
|
|
825
825
|
className: "flex justify-between text-sm text-text-secondary",
|
|
826
|
-
children: [/* @__PURE__ */
|
|
826
|
+
children: [/* @__PURE__ */ x("span", { children: "Tax" }), /* @__PURE__ */ x("span", { children: i(N.taxes, { minimumFractionDigits: 0 }) })]
|
|
827
827
|
}),
|
|
828
|
-
/* @__PURE__ */
|
|
828
|
+
/* @__PURE__ */ S("div", {
|
|
829
829
|
className: "flex justify-between font-semibold text-text-primary pt-2 border-t border-border-subtle",
|
|
830
|
-
children: [/* @__PURE__ */
|
|
830
|
+
children: [/* @__PURE__ */ x("span", { children: "Total" }), /* @__PURE__ */ x("span", { children: i(N.total, { minimumFractionDigits: 0 }) })]
|
|
831
831
|
})
|
|
832
832
|
]
|
|
833
833
|
}),
|
|
834
|
-
|
|
834
|
+
N.fulfillmentType === "delivery" && N.deliveryAddress && /* @__PURE__ */ S("div", {
|
|
835
835
|
className: "border-t border-border-subtle pt-4",
|
|
836
|
-
children: [/* @__PURE__ */
|
|
836
|
+
children: [/* @__PURE__ */ S("h4", {
|
|
837
837
|
className: "text-sm font-medium text-text-primary mb-2 flex items-center gap-1.5",
|
|
838
|
-
children: [/* @__PURE__ */
|
|
839
|
-
}), /* @__PURE__ */
|
|
838
|
+
children: [/* @__PURE__ */ x(d, { className: "h-4 w-4 text-text-secondary" }), "Delivery Address"]
|
|
839
|
+
}), /* @__PURE__ */ S("p", {
|
|
840
840
|
className: "text-sm text-text-secondary",
|
|
841
841
|
children: [
|
|
842
|
-
|
|
842
|
+
N.deliveryAddress.street,
|
|
843
843
|
", ",
|
|
844
|
-
|
|
845
|
-
/* @__PURE__ */
|
|
846
|
-
|
|
844
|
+
N.deliveryAddress.area,
|
|
845
|
+
/* @__PURE__ */ x("br", {}),
|
|
846
|
+
N.deliveryAddress.city,
|
|
847
847
|
" - ",
|
|
848
|
-
|
|
848
|
+
N.deliveryAddress.pincode
|
|
849
849
|
]
|
|
850
850
|
})]
|
|
851
851
|
}),
|
|
852
|
-
/* @__PURE__ */
|
|
852
|
+
/* @__PURE__ */ S("div", {
|
|
853
853
|
className: "flex gap-3 mt-6",
|
|
854
|
-
children: [/* @__PURE__ */
|
|
854
|
+
children: [/* @__PURE__ */ x("button", {
|
|
855
855
|
type: "button",
|
|
856
|
-
onClick: () =>
|
|
856
|
+
onClick: () => I(!1),
|
|
857
857
|
className: "flex-1 rounded-md border border-border-subtle px-4 py-2 text-sm font-medium text-text-primary hover:bg-bg-sunken transition-colors",
|
|
858
858
|
children: "Close"
|
|
859
|
-
}),
|
|
859
|
+
}), N.status === "pending" && /* @__PURE__ */ S(b, { children: [/* @__PURE__ */ x("button", {
|
|
860
860
|
type: "button",
|
|
861
|
-
onClick: () =>
|
|
861
|
+
onClick: () => H(N.id, "accept"),
|
|
862
862
|
className: "flex-1 rounded-md bg-green-500/10 px-4 py-2 text-sm font-medium text-green-600 dark:text-green-400 hover:bg-green-500/20 transition-colors",
|
|
863
863
|
children: "Accept Order"
|
|
864
|
-
}), /* @__PURE__ */
|
|
864
|
+
}), /* @__PURE__ */ x("button", {
|
|
865
865
|
type: "button",
|
|
866
|
-
onClick: () =>
|
|
866
|
+
onClick: () => H(N.id, "reject"),
|
|
867
867
|
className: "flex-1 rounded-md bg-red-500/10 px-4 py-2 text-sm font-medium text-red-600 dark:text-red-400 hover:bg-red-500/20 transition-colors",
|
|
868
868
|
children: "Reject Order"
|
|
869
869
|
})] })]
|
|
@@ -876,6 +876,6 @@ var S = [
|
|
|
876
876
|
});
|
|
877
877
|
};
|
|
878
878
|
//#endregion
|
|
879
|
-
export {
|
|
879
|
+
export { j as OrderManagementPage };
|
|
880
880
|
|
|
881
881
|
//# sourceMappingURL=OrderManagementPage.js.map
|