@burdenoff/microfe-coolandlovely 2026.624.1 → 2026.625.2

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