@burdenoff/microfe-movethewheels 2026.624.1 → 2026.626.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/dist/{AIAssistantPage-BrHX2lQn.js → AIAssistantPage-AvsMbunM.js} +39 -33
  2. package/dist/{AnalyticsPage-DI6Wcaw5.js → AnalyticsPage-CCLfHgQZ.js} +44 -33
  3. package/dist/CreateOrderPage-CjlnEtk3.js +510 -0
  4. package/dist/CustomerDetailsPage-I6cdDHUi.js +265 -0
  5. package/dist/CustomersPage-CGGfD4ki.js +163 -0
  6. package/dist/{DashboardPage-3ZOnwg1a.js → DashboardPage-D2HRqwg9.js} +122 -111
  7. package/dist/DataTable-CD9ZhpLB.js +249 -0
  8. package/dist/DriverDetailsPage-rg_pGNuP.js +330 -0
  9. package/dist/DriversPage-DKiynISH.js +167 -0
  10. package/dist/FinancePage-Vg8WPs38.js +158 -0
  11. package/dist/{FleetPage-CPS7r4J3.js → FleetPage-DddXt8r8.js} +124 -85
  12. package/dist/ImportExportPage-BW6qO3kc.js +248 -0
  13. package/dist/InventoryPage-rMGuaJN-.js +222 -0
  14. package/dist/LiveTrackingPage-DQ1q4Id3.js +375 -0
  15. package/dist/MarketplacePage-DKrXAv62.js +219 -0
  16. package/dist/MetricCard-B7yMyvMX.js +146 -0
  17. package/dist/OrderDetailsPage-CFASgsYX.js +431 -0
  18. package/dist/OrdersListPage-BHeT8S5o.js +309 -0
  19. package/dist/{PageLayout-xDTiBTDS.js → PageLayout-D3N8MCTm.js} +213 -195
  20. package/dist/ProductDetailsPage-CFGcbaHo.js +195 -0
  21. package/dist/ProductsPage--xEpbQ8A.js +171 -0
  22. package/dist/{ReportsPage-B8OyWGzl.js → ReportsPage-Bb7_90rK.js} +57 -49
  23. package/dist/RouteDetailsPage-CVtDVb1N.js +282 -0
  24. package/dist/RoutesPage-s57PtgcQ.js +163 -0
  25. package/dist/SettingsPage-BYNCBOpN.js +298 -0
  26. package/dist/{StatusBadge-C--7NhoW.js → StatusBadge-CijYQXtb.js} +5 -2
  27. package/dist/{TrackingPage-BldUm_g7.js → TrackingPage-CcRc_dva.js} +88 -83
  28. package/dist/VehicleDetailsPage-3YDMPsPs.js +220 -0
  29. package/dist/VehiclesPage-UlxPWP9K.js +167 -0
  30. package/dist/WarehouseDetailsPage-Db7KeN-d.js +238 -0
  31. package/dist/WarehousesPage-CuTO-OPp.js +164 -0
  32. package/dist/{arrow-left-Bk5GsGNk.js → arrow-left-CBpZKkpq.js} +1 -1
  33. package/dist/{box-BAMv2-7M.js → box-CAaiElsb.js} +1 -1
  34. package/dist/{chart-column-CAfkf4o6.js → chart-column-D1Ym15-S.js} +1 -1
  35. package/dist/{chevron-right-Czrt_Qew.js → chevron-right-BIFGi0UA.js} +1 -1
  36. package/dist/{circle-alert-CEuV9Pij.js → circle-alert-DjmNo5_L.js} +1 -1
  37. package/dist/{circle-check-big-Cx8aO6B-.js → circle-check-big-CjuPVo3_.js} +1 -1
  38. package/dist/{clock-Be95bq7_.js → clock-BjkdnddD.js} +1 -1
  39. package/dist/{dollar-sign-kJqItPli.js → dollar-sign-IB4O0wuQ.js} +1 -1
  40. package/dist/{download-caab0D3V.js → download-Dpa9vqoG.js} +1 -1
  41. package/dist/{file-text-b1qhrJn1.js → file-text-C8Uioy11.js} +1 -1
  42. package/dist/{filter-BWmLTZB-.js → filter-Da5OZaHI.js} +1 -1
  43. package/dist/index.js +16 -16
  44. package/dist/{map-CS2aFgyO.js → map-_Per4sT9.js} +1 -1
  45. package/dist/{map-pin-96FeqL7H.js → map-pin-BSaf5IDL.js} +1 -1
  46. package/dist/{navigation-i6UXEjTC.js → navigation-DaTbrhw2.js} +1 -1
  47. package/dist/{package-KhSi3xaT.js → package-BE7U0wQE.js} +1 -1
  48. package/dist/{phone-B-h3tbsr.js → phone-DV4StZiA.js} +1 -1
  49. package/dist/{plus-D2BYAzMn.js → plus-Dl1rLeJR.js} +1 -1
  50. package/dist/{refresh-cw-D5Sy01s-.js → refresh-cw-CWfERAit.js} +1 -1
  51. package/dist/{route-CBDXuwH9.js → route-Dp9JiN_E.js} +1 -1
  52. package/dist/{save-CMc7h-Vi.js → save-XH8vydOn.js} +1 -1
  53. package/dist/{search-DVrUQbOg.js → search-OxoIiL_C.js} +1 -1
  54. package/dist/{settings-BwzIRYv3.js → settings-3Rw5NwFF.js} +1 -1
  55. package/dist/{square-pen-DmW36Bau.js → square-pen-hLIbFQFV.js} +1 -1
  56. package/dist/{star-Cv2MzxZL.js → star-YsVV3MNQ.js} +1 -1
  57. package/dist/{store-CLH957vl.js → store-RCBl7HB-.js} +1 -1
  58. package/dist/{trending-up-l8M0BO_w.js → trending-up-C-85AwGT.js} +1 -1
  59. package/dist/{triangle-alert-BI45s6bH.js → triangle-alert-BOhfGgmh.js} +1 -1
  60. package/dist/{truck-DX3lNQkz.js → truck-CtDjNFbi.js} +1 -1
  61. package/dist/{user-D8EY1uvt.js → user-Dz5TJZFs.js} +1 -1
  62. package/dist/{users-CfG0J8wP.js → users-g2N0eL-Z.js} +1 -1
  63. package/dist/{warehouse-Dt_bAr82.js → warehouse-D3WWDeTX.js} +1 -1
  64. package/dist/{wrench-C50eI_Iy.js → wrench-CmxY1n4I.js} +1 -1
  65. package/package.json +2 -2
  66. package/src/movethewheels/components/DataTable.tsx +41 -6
  67. package/src/movethewheels/components/MetricCard.tsx +51 -20
  68. package/src/movethewheels/components/PageLayout.tsx +60 -5
  69. package/src/movethewheels/components/StatusBadge.tsx +2 -1
  70. package/src/movethewheels/pages/AIAssistantPage.tsx +11 -3
  71. package/src/movethewheels/pages/AnalyticsPage.tsx +31 -25
  72. package/src/movethewheels/pages/CreateOrderPage.tsx +56 -17
  73. package/src/movethewheels/pages/CustomerDetailsPage.tsx +63 -38
  74. package/src/movethewheels/pages/CustomersPage.tsx +51 -12
  75. package/src/movethewheels/pages/DashboardPage.tsx +62 -48
  76. package/src/movethewheels/pages/DriverDetailsPage.tsx +57 -26
  77. package/src/movethewheels/pages/DriversPage.tsx +45 -12
  78. package/src/movethewheels/pages/FinancePage.tsx +45 -41
  79. package/src/movethewheels/pages/FleetPage.tsx +82 -34
  80. package/src/movethewheels/pages/ImportExportPage.tsx +46 -29
  81. package/src/movethewheels/pages/InventoryPage.tsx +37 -33
  82. package/src/movethewheels/pages/LiveTrackingPage.tsx +58 -20
  83. package/src/movethewheels/pages/MarketplacePage.tsx +37 -3
  84. package/src/movethewheels/pages/OrderDetailsPage.tsx +74 -46
  85. package/src/movethewheels/pages/OrdersListPage.tsx +81 -14
  86. package/src/movethewheels/pages/ProductDetailsPage.tsx +36 -11
  87. package/src/movethewheels/pages/ProductsPage.tsx +41 -12
  88. package/src/movethewheels/pages/ReportsPage.tsx +23 -19
  89. package/src/movethewheels/pages/RouteDetailsPage.tsx +71 -31
  90. package/src/movethewheels/pages/RoutesPage.tsx +48 -9
  91. package/src/movethewheels/pages/SettingsPage.tsx +68 -26
  92. package/src/movethewheels/pages/TrackingPage.tsx +52 -49
  93. package/src/movethewheels/pages/VehicleDetailsPage.tsx +49 -24
  94. package/src/movethewheels/pages/VehiclesPage.tsx +41 -15
  95. package/src/movethewheels/pages/WarehouseDetailsPage.tsx +55 -30
  96. package/src/movethewheels/pages/WarehousesPage.tsx +46 -9
  97. package/dist/CreateOrderPage-DfkSi6JF.js +0 -471
  98. package/dist/CustomerDetailsPage-DzAIu_tH.js +0 -239
  99. package/dist/CustomersPage-d21ixOYa.js +0 -119
  100. package/dist/DataTable-CZGz3SJu.js +0 -239
  101. package/dist/DriverDetailsPage-YuZSlPSV.js +0 -297
  102. package/dist/DriversPage-BOhqEBTv.js +0 -127
  103. package/dist/FinancePage-CnjUNXOb.js +0 -154
  104. package/dist/ImportExportPage-zNjs7xsV.js +0 -232
  105. package/dist/InventoryPage-C9g5d3SW.js +0 -223
  106. package/dist/LiveTrackingPage-DoBvtdBG.js +0 -332
  107. package/dist/MarketplacePage-BEj5hcBF.js +0 -192
  108. package/dist/MetricCard-DeHVeVwl.js +0 -135
  109. package/dist/OrderDetailsPage-D-9lDZYU.js +0 -398
  110. package/dist/OrdersListPage-CJzHbgY3.js +0 -257
  111. package/dist/ProductDetailsPage-3rKtzXpy.js +0 -168
  112. package/dist/ProductsPage-B0P_wjBJ.js +0 -131
  113. package/dist/RouteDetailsPage-DGjKTUMj.js +0 -240
  114. package/dist/RoutesPage-CpopY8xN.js +0 -116
  115. package/dist/SettingsPage-BvXSa3gi.js +0 -247
  116. package/dist/VehicleDetailsPage-Dqv--MVW.js +0 -194
  117. package/dist/VehiclesPage-CCBHRDHu.js +0 -127
  118. package/dist/WarehouseDetailsPage-ZObC_c7W.js +0 -215
  119. package/dist/WarehousesPage-CpgZEVW9.js +0 -121
@@ -1,168 +0,0 @@
1
- import { d as e, f as t, g as n, h as r, i, it as a, l as o, n as s, r as c, u as l } from "./PageLayout-xDTiBTDS.js";
2
- import { t as u } from "./arrow-left-Bk5GsGNk.js";
3
- import { t as d } from "./box-BAMv2-7M.js";
4
- import { t as f } from "./dollar-sign-kJqItPli.js";
5
- import { t as p } from "./package-KhSi3xaT.js";
6
- import { t as m } from "./square-pen-DmW36Bau.js";
7
- import { r as h } from "./graphqlClient-CdJyR_ed.js";
8
- import { r as g } from "./useInventory-Dwn18FPz.js";
9
- import { n as _ } from "./formatters-_vJlC-47.js";
10
- import { t as v } from "./navigation-BgnOfsVd.js";
11
- import { useParams as y } from "react-router-dom";
12
- import { jsx as b, jsxs as x } from "react/jsx-runtime";
13
- //#region node_modules/lucide-react/dist/esm/icons/tag.js
14
- var S = a("Tag", [["path", {
15
- d: "M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",
16
- key: "vktsd0"
17
- }], ["circle", {
18
- cx: "7.5",
19
- cy: "7.5",
20
- r: ".5",
21
- fill: "currentColor",
22
- key: "kqv944"
23
- }]]);
24
- //#endregion
25
- //#region src/movethewheels/pages/ProductDetailsPage.tsx
26
- function C() {
27
- let { productId: a } = y(), { basePath: C, navigate: w } = h(), { product: T, isLoading: E, error: D, refetch: O } = g(a);
28
- return E ? /* @__PURE__ */ b(c, { message: "Loading product details..." }) : D || !T ? /* @__PURE__ */ b(s, {
29
- title: "Product not found",
30
- onRetry: O
31
- }) : /* @__PURE__ */ b(i, {
32
- title: T.name,
33
- subtitle: `SKU: ${T.sku}`,
34
- icon: /* @__PURE__ */ b(p, { size: 24 }),
35
- headerActions: /* @__PURE__ */ x("div", {
36
- className: "flex gap-2",
37
- children: [/* @__PURE__ */ x(l, {
38
- variant: "outline",
39
- onClick: () => w?.(v(C, "inventory/products")),
40
- children: [/* @__PURE__ */ b(u, { size: 16 }), " Back"]
41
- }), /* @__PURE__ */ x(l, { children: [/* @__PURE__ */ b(m, { size: 16 }), " Edit"] })]
42
- }),
43
- headerContent: /* @__PURE__ */ x("div", {
44
- className: "flex gap-2",
45
- children: [
46
- /* @__PURE__ */ b(o, {
47
- variant: "outline",
48
- children: T.category
49
- }),
50
- T.brand && /* @__PURE__ */ b(o, {
51
- variant: "secondary",
52
- children: T.brand
53
- }),
54
- T.fragile && /* @__PURE__ */ b(o, {
55
- variant: "destructive",
56
- children: "Fragile"
57
- }),
58
- T.hazardous && /* @__PURE__ */ b(o, {
59
- variant: "destructive",
60
- children: "Hazardous"
61
- }),
62
- T.temperatureControlled && /* @__PURE__ */ b(o, {
63
- variant: "secondary",
64
- children: "Temp Controlled"
65
- })
66
- ]
67
- }),
68
- children: /* @__PURE__ */ x("div", {
69
- className: "grid grid-cols-1 lg:grid-cols-3 gap-6",
70
- children: [/* @__PURE__ */ x("div", {
71
- className: "lg:col-span-2 space-y-6",
72
- children: [
73
- /* @__PURE__ */ x(e, { children: [/* @__PURE__ */ b(r, { children: /* @__PURE__ */ b(n, { children: "Description" }) }), /* @__PURE__ */ b(t, { children: /* @__PURE__ */ b("p", { children: T.description }) })] }),
74
- /* @__PURE__ */ x(e, { children: [/* @__PURE__ */ b(r, { children: /* @__PURE__ */ x(n, {
75
- className: "flex items-center gap-2",
76
- children: [/* @__PURE__ */ b(d, { size: 18 }), " Dimensions & Weight"]
77
- }) }), /* @__PURE__ */ b(t, { children: /* @__PURE__ */ x("div", {
78
- className: "grid grid-cols-2 md:grid-cols-4 gap-4",
79
- children: [
80
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
81
- className: "text-sm text-text-secondary",
82
- children: "Length"
83
- }), /* @__PURE__ */ x("p", {
84
- className: "text-2xl font-bold",
85
- children: [T.dimensions.length, /* @__PURE__ */ x("span", {
86
- className: "text-sm font-normal",
87
- children: [" ", T.dimensions.unit]
88
- })]
89
- })] }),
90
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
91
- className: "text-sm text-text-secondary",
92
- children: "Width"
93
- }), /* @__PURE__ */ x("p", {
94
- className: "text-2xl font-bold",
95
- children: [T.dimensions.width, /* @__PURE__ */ x("span", {
96
- className: "text-sm font-normal",
97
- children: [" ", T.dimensions.unit]
98
- })]
99
- })] }),
100
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
101
- className: "text-sm text-text-secondary",
102
- children: "Height"
103
- }), /* @__PURE__ */ x("p", {
104
- className: "text-2xl font-bold",
105
- children: [T.dimensions.height, /* @__PURE__ */ x("span", {
106
- className: "text-sm font-normal",
107
- children: [" ", T.dimensions.unit]
108
- })]
109
- })] }),
110
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
111
- className: "text-sm text-text-secondary",
112
- children: "Weight"
113
- }), /* @__PURE__ */ x("p", {
114
- className: "text-2xl font-bold",
115
- children: [T.weight, /* @__PURE__ */ b("span", {
116
- className: "text-sm font-normal",
117
- children: " kg"
118
- })]
119
- })] })
120
- ]
121
- }) })] }),
122
- T.attributes.length > 0 && /* @__PURE__ */ x(e, { children: [/* @__PURE__ */ b(r, { children: /* @__PURE__ */ x(n, {
123
- className: "flex items-center gap-2",
124
- children: [/* @__PURE__ */ b(S, { size: 18 }), " Attributes"]
125
- }) }), /* @__PURE__ */ b(t, { children: /* @__PURE__ */ b("div", {
126
- className: "grid grid-cols-2 md:grid-cols-3 gap-4",
127
- children: T.attributes.map((e, t) => /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
128
- className: "text-sm text-text-secondary",
129
- children: e.name
130
- }), /* @__PURE__ */ b("p", {
131
- className: "font-medium",
132
- children: e.value
133
- })] }, t))
134
- }) })] })
135
- ]
136
- }), /* @__PURE__ */ x("div", {
137
- className: "space-y-6",
138
- children: [/* @__PURE__ */ x(e, { children: [/* @__PURE__ */ b(r, { children: /* @__PURE__ */ x(n, {
139
- className: "flex items-center gap-2",
140
- children: [/* @__PURE__ */ b(f, { size: 18 }), " Pricing"]
141
- }) }), /* @__PURE__ */ x(t, { children: [/* @__PURE__ */ b("p", {
142
- className: "text-3xl font-bold",
143
- children: _(T.value)
144
- }), /* @__PURE__ */ b("p", {
145
- className: "text-sm text-text-secondary",
146
- children: "Unit price"
147
- })] })] }), /* @__PURE__ */ x(e, { children: [/* @__PURE__ */ b(r, { children: /* @__PURE__ */ b(n, { children: "Identifiers" }) }), /* @__PURE__ */ x(t, {
148
- className: "space-y-3",
149
- children: [/* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
150
- className: "text-sm text-text-secondary",
151
- children: "SKU"
152
- }), /* @__PURE__ */ b("p", {
153
- className: "font-mono",
154
- children: T.sku
155
- })] }), T.barcode && /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("p", {
156
- className: "text-sm text-text-secondary",
157
- children: "Barcode"
158
- }), /* @__PURE__ */ b("p", {
159
- className: "font-mono",
160
- children: T.barcode
161
- })] })]
162
- })] })]
163
- })]
164
- })
165
- });
166
- }
167
- //#endregion
168
- export { C as default };
@@ -1,131 +0,0 @@
1
- import { i as e, l as t, u as n } from "./PageLayout-xDTiBTDS.js";
2
- import { t as r } from "./DataTable-CZGz3SJu.js";
3
- import { t as i } from "./download-caab0D3V.js";
4
- import { t as a } from "./package-KhSi3xaT.js";
5
- import { t as o } from "./plus-D2BYAzMn.js";
6
- import { t as s } from "./refresh-cw-D5Sy01s-.js";
7
- import { r as c } from "./graphqlClient-CdJyR_ed.js";
8
- import { i as l } from "./useInventory-Dwn18FPz.js";
9
- import { n as u } from "./formatters-_vJlC-47.js";
10
- import { t as d } from "./navigation-BgnOfsVd.js";
11
- import { jsx as f, jsxs as p } from "react/jsx-runtime";
12
- //#region src/movethewheels/pages/ProductsPage.tsx
13
- function m() {
14
- let { basePath: m, navigate: h } = c(), { products: g, totalProducts: _, isLoading: v, refetch: y } = l(), b = (e) => h?.(d(m, e));
15
- return /* @__PURE__ */ f(e, {
16
- title: "Products",
17
- subtitle: `${_} products`,
18
- icon: /* @__PURE__ */ f(a, { size: 24 }),
19
- headerActions: /* @__PURE__ */ p("div", {
20
- className: "flex gap-2",
21
- children: [
22
- /* @__PURE__ */ p(n, {
23
- variant: "outline",
24
- onClick: y,
25
- children: [/* @__PURE__ */ f(s, { size: 16 }), " Refresh"]
26
- }),
27
- /* @__PURE__ */ p(n, {
28
- variant: "outline",
29
- children: [/* @__PURE__ */ f(i, { size: 16 }), " Export"]
30
- }),
31
- /* @__PURE__ */ p(n, { children: [/* @__PURE__ */ f(o, { size: 16 }), " Add Product"] })
32
- ]
33
- }),
34
- children: /* @__PURE__ */ f(r, {
35
- columns: [
36
- {
37
- id: "sku",
38
- header: "SKU",
39
- accessorKey: "sku",
40
- sortable: !0,
41
- cell: (e) => /* @__PURE__ */ f("span", {
42
- className: "font-mono",
43
- children: e.sku
44
- })
45
- },
46
- {
47
- id: "name",
48
- header: "Product Name",
49
- accessorKey: "name",
50
- sortable: !0,
51
- cell: (e) => /* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("p", {
52
- className: "font-medium",
53
- children: e.name
54
- }), /* @__PURE__ */ f("p", {
55
- className: "text-sm text-text-secondary line-clamp-1",
56
- children: e.description
57
- })] })
58
- },
59
- {
60
- id: "category",
61
- header: "Category",
62
- accessorKey: "category",
63
- sortable: !0,
64
- cell: (e) => /* @__PURE__ */ f(t, {
65
- variant: "outline",
66
- children: e.category
67
- })
68
- },
69
- {
70
- id: "dimensions",
71
- header: "Dimensions",
72
- cell: (e) => `${e.dimensions.length}x${e.dimensions.width}x${e.dimensions.height} ${e.dimensions.unit}`
73
- },
74
- {
75
- id: "weight",
76
- header: "Weight",
77
- accessorKey: "weight",
78
- sortable: !0,
79
- cell: (e) => `${e.weight} kg`
80
- },
81
- {
82
- id: "value",
83
- header: "Value",
84
- accessorKey: "value",
85
- sortable: !0,
86
- cell: (e) => /* @__PURE__ */ f("span", {
87
- className: "font-medium",
88
- children: u(e.value)
89
- })
90
- },
91
- {
92
- id: "flags",
93
- header: "Flags",
94
- cell: (e) => /* @__PURE__ */ p("div", {
95
- className: "flex gap-1",
96
- children: [
97
- e.fragile && /* @__PURE__ */ f(t, {
98
- variant: "destructive",
99
- className: "text-xs",
100
- children: "Fragile"
101
- }),
102
- e.hazardous && /* @__PURE__ */ f(t, {
103
- variant: "destructive",
104
- className: "text-xs",
105
- children: "Hazardous"
106
- }),
107
- e.temperatureControlled && /* @__PURE__ */ f(t, {
108
- variant: "secondary",
109
- className: "text-xs",
110
- children: "Temp Control"
111
- })
112
- ]
113
- })
114
- }
115
- ],
116
- data: g,
117
- isLoading: v,
118
- searchable: !0,
119
- searchPlaceholder: "Search products...",
120
- searchFields: [
121
- "name",
122
- "sku",
123
- "category"
124
- ],
125
- onRowClick: (e) => b(`inventory/products/${e.id}`),
126
- getRowId: (e) => e.id
127
- })
128
- });
129
- }
130
- //#endregion
131
- export { m as default };
@@ -1,240 +0,0 @@
1
- import { d as e, f as t, g as n, h as r, i, it as a, l as o, n as s, r as c, u as l } from "./PageLayout-xDTiBTDS.js";
2
- import { t as u } from "./arrow-left-Bk5GsGNk.js";
3
- import { t as d } from "./circle-check-big-Cx8aO6B-.js";
4
- import { t as f } from "./clock-Be95bq7_.js";
5
- import { t as p } from "./map-pin-96FeqL7H.js";
6
- import { t as m } from "./navigation-i6UXEjTC.js";
7
- import { t as h } from "./square-pen-DmW36Bau.js";
8
- import { r as g } from "./graphqlClient-CdJyR_ed.js";
9
- import { r as _, t as v } from "./useRoutes-v4aBaS-E.js";
10
- import { r as y } from "./StatusBadge-C--7NhoW.js";
11
- import { r as b, t as x } from "./formatters-_vJlC-47.js";
12
- import { t as S } from "./navigation-BgnOfsVd.js";
13
- import { useParams as C } from "react-router-dom";
14
- import { jsx as w, jsxs as T } from "react/jsx-runtime";
15
- //#region node_modules/lucide-react/dist/esm/icons/zap.js
16
- var E = a("Zap", [["path", {
17
- d: "M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",
18
- key: "1xq2db"
19
- }]]);
20
- //#endregion
21
- //#region src/movethewheels/pages/RouteDetailsPage.tsx
22
- function D() {
23
- let { routeId: a } = C(), { basePath: D, navigate: O } = g(), { route: k, isLoading: A, error: j, refetch: M } = v(a), { optimizeRoute: N } = _(), P = () => O?.(S(D, "routes"));
24
- return a ? A ? /* @__PURE__ */ w(c, { message: "Loading route details..." }) : j || !k ? /* @__PURE__ */ w(s, {
25
- title: "Route not found",
26
- onRetry: M
27
- }) : /* @__PURE__ */ w(i, {
28
- title: k.name,
29
- subtitle: `${k.stops.length} stops - ${k.distance.toFixed(1)} km`,
30
- icon: /* @__PURE__ */ w(m, { size: 24 }),
31
- headerActions: /* @__PURE__ */ T("div", {
32
- className: "flex gap-2",
33
- children: [
34
- /* @__PURE__ */ T(l, {
35
- variant: "outline",
36
- onClick: P,
37
- children: [/* @__PURE__ */ w(u, { size: 16 }), " Back"]
38
- }),
39
- !k.optimized && /* @__PURE__ */ T(l, {
40
- variant: "outline",
41
- onClick: async () => {
42
- try {
43
- await N(k.id), M();
44
- } catch (e) {
45
- console.error(e);
46
- }
47
- },
48
- children: [/* @__PURE__ */ w(E, { size: 16 }), " Optimize"]
49
- }),
50
- /* @__PURE__ */ T(l, { children: [/* @__PURE__ */ w(h, { size: 16 }), " Edit"] })
51
- ]
52
- }),
53
- headerContent: /* @__PURE__ */ T("div", {
54
- className: "flex gap-2",
55
- children: [/* @__PURE__ */ w(y, {
56
- status: k.status,
57
- customColors: {
58
- planned: {
59
- bg: "bg-blue-100",
60
- text: "text-blue-700"
61
- },
62
- in_progress: {
63
- bg: "bg-yellow-100",
64
- text: "text-yellow-700"
65
- },
66
- completed: {
67
- bg: "bg-green-100",
68
- text: "text-green-700"
69
- },
70
- cancelled: {
71
- bg: "bg-red-100",
72
- text: "text-red-700"
73
- }
74
- }[k.status]
75
- }), /* @__PURE__ */ w(o, {
76
- variant: k.optimized ? "default" : "secondary",
77
- children: k.optimized ? "Optimized" : "Not Optimized"
78
- })]
79
- }),
80
- children: /* @__PURE__ */ T("div", {
81
- className: "grid grid-cols-1 lg:grid-cols-3 gap-6",
82
- children: [/* @__PURE__ */ T("div", {
83
- className: "lg:col-span-2 space-y-6",
84
- children: [/* @__PURE__ */ T(e, { children: [/* @__PURE__ */ w(r, { children: /* @__PURE__ */ w(n, { children: "Route Map" }) }), /* @__PURE__ */ w(t, { children: /* @__PURE__ */ w("div", {
85
- className: "aspect-video bg-bg-sunken rounded-lg flex items-center justify-center",
86
- children: /* @__PURE__ */ T("div", {
87
- className: "text-center text-text-secondary",
88
- children: [/* @__PURE__ */ w(p, {
89
- size: 48,
90
- className: "mx-auto mb-2 opacity-50"
91
- }), /* @__PURE__ */ w("p", { children: "Route map visualization" })]
92
- })
93
- }) })] }), /* @__PURE__ */ T(e, { children: [/* @__PURE__ */ w(r, { children: /* @__PURE__ */ T(n, { children: [
94
- "Stops (",
95
- k.stops.length,
96
- ")"
97
- ] }) }), /* @__PURE__ */ w(t, { children: /* @__PURE__ */ w("div", {
98
- className: "space-y-4",
99
- children: k.stops.map((e, t) => /* @__PURE__ */ T("div", {
100
- className: "flex gap-4",
101
- children: [/* @__PURE__ */ T("div", {
102
- className: "relative",
103
- children: [/* @__PURE__ */ w("div", {
104
- className: `w-8 h-8 rounded-full flex items-center justify-center ${e.status === "completed" ? "bg-green-500 text-white" : "bg-bg-sunken"}`,
105
- children: e.status === "completed" ? /* @__PURE__ */ w(d, { size: 16 }) : e.sequence
106
- }), t < k.stops.length - 1 && /* @__PURE__ */ w("div", { className: "absolute top-8 left-4 w-px h-12 bg-border" })]
107
- }), /* @__PURE__ */ w("div", {
108
- className: "flex-1 pb-4",
109
- children: /* @__PURE__ */ T("div", {
110
- className: "flex items-center justify-between",
111
- children: [/* @__PURE__ */ T("div", { children: [/* @__PURE__ */ T("div", {
112
- className: "flex items-center gap-2",
113
- children: [/* @__PURE__ */ w(o, {
114
- variant: e.type === "pickup" ? "secondary" : "default",
115
- className: "capitalize",
116
- children: e.type
117
- }), /* @__PURE__ */ T("span", {
118
- className: "font-medium",
119
- children: ["Order #", e.orderId]
120
- })]
121
- }), /* @__PURE__ */ w("p", {
122
- className: "text-sm text-text-secondary mt-1",
123
- children: x(e.address)
124
- })] }), /* @__PURE__ */ T("div", {
125
- className: "text-right",
126
- children: [
127
- /* @__PURE__ */ T("p", {
128
- className: "text-sm",
129
- children: ["Scheduled: ", b(e.scheduledTime, "time")]
130
- }),
131
- e.actualTime && /* @__PURE__ */ T("p", {
132
- className: "text-sm text-green-600",
133
- children: ["Actual: ", b(e.actualTime, "time")]
134
- }),
135
- /* @__PURE__ */ T("p", {
136
- className: "text-xs text-text-secondary",
137
- children: [e.duration, " min stop"]
138
- })
139
- ]
140
- })]
141
- })
142
- })]
143
- }, e.id))
144
- }) })] })]
145
- }), /* @__PURE__ */ T("div", {
146
- className: "space-y-6",
147
- children: [
148
- /* @__PURE__ */ T(e, { children: [/* @__PURE__ */ w(r, { children: /* @__PURE__ */ w(n, { children: "Route Info" }) }), /* @__PURE__ */ T(t, {
149
- className: "space-y-4",
150
- children: [
151
- /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("p", {
152
- className: "text-sm text-text-secondary",
153
- children: "Total Distance"
154
- }), /* @__PURE__ */ T("p", {
155
- className: "text-2xl font-bold",
156
- children: [k.distance.toFixed(1), /* @__PURE__ */ w("span", {
157
- className: "text-sm font-normal",
158
- children: " km"
159
- })]
160
- })] }),
161
- /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("p", {
162
- className: "text-sm text-text-secondary",
163
- children: "Est. Duration"
164
- }), /* @__PURE__ */ T("p", {
165
- className: "text-2xl font-bold",
166
- children: [k.estimatedDuration, /* @__PURE__ */ w("span", {
167
- className: "text-sm font-normal",
168
- children: " min"
169
- })]
170
- })] }),
171
- k.actualDuration && /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("p", {
172
- className: "text-sm text-text-secondary",
173
- children: "Actual Duration"
174
- }), /* @__PURE__ */ T("p", {
175
- className: "text-2xl font-bold",
176
- children: [k.actualDuration, /* @__PURE__ */ w("span", {
177
- className: "text-sm font-normal",
178
- children: " min"
179
- })]
180
- })] })
181
- ]
182
- })] }),
183
- /* @__PURE__ */ T(e, { children: [/* @__PURE__ */ w(r, { children: /* @__PURE__ */ T(n, {
184
- className: "flex items-center gap-2",
185
- children: [/* @__PURE__ */ w(f, { size: 18 }), " Timeline"]
186
- }) }), /* @__PURE__ */ T(t, {
187
- className: "space-y-3",
188
- children: [
189
- k.startTime && /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("p", {
190
- className: "text-sm text-text-secondary",
191
- children: "Started"
192
- }), /* @__PURE__ */ w("p", { children: b(k.startTime, "full") })] }),
193
- k.endTime && /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("p", {
194
- className: "text-sm text-text-secondary",
195
- children: "Completed"
196
- }), /* @__PURE__ */ w("p", { children: b(k.endTime, "full") })] }),
197
- /* @__PURE__ */ T("div", { children: [/* @__PURE__ */ w("p", {
198
- className: "text-sm text-text-secondary",
199
- children: "Created"
200
- }), /* @__PURE__ */ w("p", { children: b(k.createdAt, "full") })] })
201
- ]
202
- })] }),
203
- k.trafficConditions.length > 0 && /* @__PURE__ */ T(e, { children: [/* @__PURE__ */ w(r, { children: /* @__PURE__ */ w(n, { children: "Traffic Conditions" }) }), /* @__PURE__ */ w(t, { children: k.trafficConditions.map((e, t) => /* @__PURE__ */ T("div", {
204
- className: `p-2 rounded mb-2 ${e.condition === "severe" ? "bg-red-50" : e.condition === "heavy" ? "bg-orange-50" : "bg-yellow-50"}`,
205
- children: [/* @__PURE__ */ T("p", {
206
- className: "text-sm font-medium capitalize",
207
- children: [e.condition, " traffic"]
208
- }), /* @__PURE__ */ T("p", {
209
- className: "text-xs text-text-secondary",
210
- children: [
211
- e.location,
212
- " - +",
213
- e.delay,
214
- " min delay"
215
- ]
216
- })]
217
- }, t)) })] })
218
- ]
219
- })]
220
- })
221
- }) : /* @__PURE__ */ w(i, {
222
- title: "Create Route",
223
- subtitle: "Plan a new delivery route",
224
- icon: /* @__PURE__ */ w(m, { size: 24 }),
225
- headerActions: /* @__PURE__ */ T(l, {
226
- variant: "outline",
227
- onClick: P,
228
- children: [/* @__PURE__ */ w(u, { size: 16 }), " Back"]
229
- }),
230
- children: /* @__PURE__ */ w(e, { children: /* @__PURE__ */ w(t, {
231
- className: "p-8 text-center",
232
- children: /* @__PURE__ */ w("p", {
233
- className: "text-text-secondary",
234
- children: "Route creation form would go here"
235
- })
236
- }) })
237
- });
238
- }
239
- //#endregion
240
- export { D as default };
@@ -1,116 +0,0 @@
1
- import { i as e, l as t, u as n } from "./PageLayout-xDTiBTDS.js";
2
- import { t as r } from "./DataTable-CZGz3SJu.js";
3
- import { t as i } from "./navigation-i6UXEjTC.js";
4
- import { t as a } from "./plus-D2BYAzMn.js";
5
- import { t as o } from "./refresh-cw-D5Sy01s-.js";
6
- import { r as s } from "./graphqlClient-CdJyR_ed.js";
7
- import { r as c } from "./useRoutes-v4aBaS-E.js";
8
- import { r as l } from "./StatusBadge-C--7NhoW.js";
9
- import { r as u } from "./formatters-_vJlC-47.js";
10
- import { t as d } from "./navigation-BgnOfsVd.js";
11
- import { jsx as f, jsxs as p } from "react/jsx-runtime";
12
- //#region src/movethewheels/pages/RoutesPage.tsx
13
- function m() {
14
- let { basePath: m, navigate: h } = s(), { routes: g, totalRoutes: _, isLoading: v, refetch: y } = c(), b = (e) => h?.(d(m, e));
15
- return /* @__PURE__ */ f(e, {
16
- title: "Routes",
17
- subtitle: `${_} routes`,
18
- icon: /* @__PURE__ */ f(i, { size: 24 }),
19
- headerActions: /* @__PURE__ */ p("div", {
20
- className: "flex gap-2",
21
- children: [/* @__PURE__ */ p(n, {
22
- variant: "outline",
23
- onClick: y,
24
- children: [/* @__PURE__ */ f(o, { size: 16 }), " Refresh"]
25
- }), /* @__PURE__ */ p(n, {
26
- onClick: () => b("routes/new"),
27
- children: [/* @__PURE__ */ f(a, { size: 16 }), " Create Route"]
28
- })]
29
- }),
30
- children: /* @__PURE__ */ f(r, {
31
- columns: [
32
- {
33
- id: "name",
34
- header: "Route Name",
35
- accessorKey: "name",
36
- sortable: !0,
37
- cell: (e) => /* @__PURE__ */ f("span", {
38
- className: "font-medium",
39
- children: e.name
40
- })
41
- },
42
- {
43
- id: "status",
44
- header: "Status",
45
- accessorKey: "status",
46
- sortable: !0,
47
- cell: (e) => /* @__PURE__ */ f(l, {
48
- status: e.status,
49
- customColors: {
50
- planned: {
51
- bg: "bg-blue-100",
52
- text: "text-blue-700"
53
- },
54
- in_progress: {
55
- bg: "bg-yellow-100",
56
- text: "text-yellow-700"
57
- },
58
- completed: {
59
- bg: "bg-green-100",
60
- text: "text-green-700"
61
- },
62
- cancelled: {
63
- bg: "bg-red-100",
64
- text: "text-red-700"
65
- }
66
- }[e.status]
67
- })
68
- },
69
- {
70
- id: "stops",
71
- header: "Stops",
72
- cell: (e) => /* @__PURE__ */ p(t, {
73
- variant: "secondary",
74
- children: [e.stops.length, " stops"]
75
- })
76
- },
77
- {
78
- id: "distance",
79
- header: "Distance",
80
- accessorKey: "distance",
81
- sortable: !0,
82
- cell: (e) => `${e.distance.toFixed(1)} km`
83
- },
84
- {
85
- id: "duration",
86
- header: "Est. Duration",
87
- cell: (e) => `${e.estimatedDuration} min`
88
- },
89
- {
90
- id: "optimized",
91
- header: "Optimized",
92
- cell: (e) => /* @__PURE__ */ f(t, {
93
- variant: e.optimized ? "default" : "outline",
94
- children: e.optimized ? "Yes" : "No"
95
- })
96
- },
97
- {
98
- id: "created",
99
- header: "Created",
100
- accessorKey: "createdAt",
101
- sortable: !0,
102
- cell: (e) => u(e.createdAt, "short")
103
- }
104
- ],
105
- data: g,
106
- isLoading: v,
107
- searchable: !0,
108
- searchPlaceholder: "Search routes...",
109
- searchFields: ["name"],
110
- onRowClick: (e) => b(`routes/${e.id}`),
111
- getRowId: (e) => e.id
112
- })
113
- });
114
- }
115
- //#endregion
116
- export { m as default };