@burdenoff/microfe-movethewheels 2026.510.105

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 (208) hide show
  1. package/README.md +82 -0
  2. package/dist/AIAssistantPage-hD0VYJdH.js +210 -0
  3. package/dist/AnalyticsPage-DHTHCUtr.js +201 -0
  4. package/dist/CreateOrderPage-Cprg4Y9V.js +471 -0
  5. package/dist/CustomerDetailsPage-DNDEw7IW.js +239 -0
  6. package/dist/CustomersPage-CDjjeCEL.js +119 -0
  7. package/dist/DashboardPage-8iTPXRAG.js +374 -0
  8. package/dist/DataTable-CRIKfdIN.js +239 -0
  9. package/dist/DriverDetailsPage-CRyRCno7.js +297 -0
  10. package/dist/DriversPage-16O8fVmf.js +127 -0
  11. package/dist/FinancePage-BYUxK5dR.js +154 -0
  12. package/dist/FleetPage-CHYETCWT.js +293 -0
  13. package/dist/ImportExportPage-C3MKKxfc.js +232 -0
  14. package/dist/InventoryPage--822AxZM.js +223 -0
  15. package/dist/LiveTrackingPage-Dp3rTJDr.js +332 -0
  16. package/dist/MarketplacePage-DjEqudfM.js +192 -0
  17. package/dist/MetricCard-GTbxAk1a.js +135 -0
  18. package/dist/OrderDetailsPage-BIuYG0ub.js +398 -0
  19. package/dist/OrdersListPage-CW5V0Uvh.js +257 -0
  20. package/dist/PageLayout-B7b0vl0R.js +1894 -0
  21. package/dist/ProductDetailsPage-Q3X7AT-7.js +168 -0
  22. package/dist/ProductsPage-CUj9JpnW.js +131 -0
  23. package/dist/ReportsPage-DblO5CdJ.js +227 -0
  24. package/dist/RouteDetailsPage-CLctgk6A.js +240 -0
  25. package/dist/RoutesPage-8hrv6RWT.js +116 -0
  26. package/dist/SettingsPage-BJ5BQeqn.js +247 -0
  27. package/dist/StatusBadge-BrrwraIA.js +206 -0
  28. package/dist/TrackingPage-BGqHDh-w.js +322 -0
  29. package/dist/VehicleDetailsPage-XnDH4iQR.js +194 -0
  30. package/dist/VehiclesPage-Cs4XxHkA.js +127 -0
  31. package/dist/WarehouseDetailsPage-GemdMvr_.js +215 -0
  32. package/dist/WarehousesPage-QTiuDuXy.js +121 -0
  33. package/dist/arrow-left-6CiLhqVp.js +11 -0
  34. package/dist/box-BunB_4UH.js +18 -0
  35. package/dist/chart-column-DWwVEVQ-.js +22 -0
  36. package/dist/chevron-right-DhZVf20o.js +8 -0
  37. package/dist/circle-alert-D5f6RZxt.js +26 -0
  38. package/dist/circle-check-big-D-JMHcTe.js +11 -0
  39. package/dist/clock-CvwBKbQP.js +13 -0
  40. package/dist/dev/main.d.ts +1 -0
  41. package/dist/dollar-sign-CP9qeU5d.js +14 -0
  42. package/dist/download-CIuG04pJ.js +21 -0
  43. package/dist/file-text-Dd_thxkn.js +26 -0
  44. package/dist/filter-DyRMX9CU.js +8 -0
  45. package/dist/formatters-_vJlC-47.js +50 -0
  46. package/dist/generated/global-operations.d.ts +1 -0
  47. package/dist/generated/global-types.d.ts +20715 -0
  48. package/dist/generated/wspace-operations.d.ts +3704 -0
  49. package/dist/generated/wspace-types.d.ts +53362 -0
  50. package/dist/graphqlClient-CdJyR_ed.js +55 -0
  51. package/dist/index.d.ts +4 -0
  52. package/dist/index.js +772 -0
  53. package/dist/map-BqH1cBJi.js +18 -0
  54. package/dist/map-pin-CFBOmh-A.js +13 -0
  55. package/dist/movethewheels/MoveTheWheelsRoot.d.ts +25 -0
  56. package/dist/movethewheels/MoveTheWheelsRoutes.d.ts +7 -0
  57. package/dist/movethewheels/components/DataTable.d.ts +32 -0
  58. package/dist/movethewheels/components/MetricCard.d.ts +43 -0
  59. package/dist/movethewheels/components/PageLayout.d.ts +68 -0
  60. package/dist/movethewheels/components/StatusBadge.d.ts +49 -0
  61. package/dist/movethewheels/components/index.d.ts +10 -0
  62. package/dist/movethewheels/components/ui.d.ts +22 -0
  63. package/dist/movethewheels/constants/index.d.ts +24 -0
  64. package/dist/movethewheels/constants/mockData.d.ts +33 -0
  65. package/dist/movethewheels/hooks/index.d.ts +12 -0
  66. package/dist/movethewheels/hooks/useAnalytics.d.ts +118 -0
  67. package/dist/movethewheels/hooks/useCustomers.d.ts +37 -0
  68. package/dist/movethewheels/hooks/useFleet.d.ts +71 -0
  69. package/dist/movethewheels/hooks/useInventory.d.ts +60 -0
  70. package/dist/movethewheels/hooks/useOrders.d.ts +47 -0
  71. package/dist/movethewheels/hooks/useRoutes.d.ts +41 -0
  72. package/dist/movethewheels/hooks/useTracking.d.ts +69 -0
  73. package/dist/movethewheels/index.d.ts +30 -0
  74. package/dist/movethewheels/pages/AIAssistantPage.d.ts +4 -0
  75. package/dist/movethewheels/pages/AnalyticsPage.d.ts +4 -0
  76. package/dist/movethewheels/pages/CreateOrderPage.d.ts +6 -0
  77. package/dist/movethewheels/pages/CustomerDetailsPage.d.ts +4 -0
  78. package/dist/movethewheels/pages/CustomersPage.d.ts +4 -0
  79. package/dist/movethewheels/pages/DashboardPage.d.ts +6 -0
  80. package/dist/movethewheels/pages/DriverDetailsPage.d.ts +4 -0
  81. package/dist/movethewheels/pages/DriversPage.d.ts +4 -0
  82. package/dist/movethewheels/pages/FinancePage.d.ts +4 -0
  83. package/dist/movethewheels/pages/FleetPage.d.ts +6 -0
  84. package/dist/movethewheels/pages/ImportExportPage.d.ts +4 -0
  85. package/dist/movethewheels/pages/InventoryPage.d.ts +4 -0
  86. package/dist/movethewheels/pages/LiveTrackingPage.d.ts +6 -0
  87. package/dist/movethewheels/pages/MarketplacePage.d.ts +4 -0
  88. package/dist/movethewheels/pages/OrderDetailsPage.d.ts +6 -0
  89. package/dist/movethewheels/pages/OrdersListPage.d.ts +6 -0
  90. package/dist/movethewheels/pages/ProductDetailsPage.d.ts +4 -0
  91. package/dist/movethewheels/pages/ProductsPage.d.ts +4 -0
  92. package/dist/movethewheels/pages/ReportsPage.d.ts +4 -0
  93. package/dist/movethewheels/pages/RouteDetailsPage.d.ts +4 -0
  94. package/dist/movethewheels/pages/RoutesPage.d.ts +4 -0
  95. package/dist/movethewheels/pages/SettingsPage.d.ts +4 -0
  96. package/dist/movethewheels/pages/TrackingPage.d.ts +6 -0
  97. package/dist/movethewheels/pages/VehicleDetailsPage.d.ts +4 -0
  98. package/dist/movethewheels/pages/VehiclesPage.d.ts +4 -0
  99. package/dist/movethewheels/pages/WarehouseDetailsPage.d.ts +4 -0
  100. package/dist/movethewheels/pages/WarehousesPage.d.ts +4 -0
  101. package/dist/movethewheels/providers/MoveTheWheelsProvider.d.ts +16 -0
  102. package/dist/movethewheels/store/movethewheelsStore.d.ts +73 -0
  103. package/dist/movethewheels/types/index.d.ts +655 -0
  104. package/dist/movethewheels/utils/cn.d.ts +6 -0
  105. package/dist/movethewheels/utils/formatters.d.ts +60 -0
  106. package/dist/movethewheels/utils/graphqlClient.d.ts +11 -0
  107. package/dist/movethewheels/utils/index.d.ts +7 -0
  108. package/dist/movethewheels/utils/navigation.d.ts +23 -0
  109. package/dist/navigation-BgnOfsVd.js +6 -0
  110. package/dist/navigation-C2fY_aS9.js +8 -0
  111. package/dist/package-DVZbDRcV.js +22 -0
  112. package/dist/phone-KdwpVmC4.js +18 -0
  113. package/dist/plus-Bl7uX6Ji.js +11 -0
  114. package/dist/refresh-cw-BYjl3K-8.js +22 -0
  115. package/dist/route-Ce_poKFi.js +51 -0
  116. package/dist/save-C-qDVat-.js +18 -0
  117. package/dist/search-5pdn5eOO.js +13 -0
  118. package/dist/settings-C4kIDsYg.js +28 -0
  119. package/dist/square-pen-BwQ67vLE.js +11 -0
  120. package/dist/star-BlVsC3Ad.js +8 -0
  121. package/dist/store-DTmQT5M0.js +26 -0
  122. package/dist/trending-up-C1faflCI.js +11 -0
  123. package/dist/triangle-alert-CUoVAA4L.js +18 -0
  124. package/dist/truck-BmDAzu05.js +30 -0
  125. package/dist/useAnalytics-ph7eTIK6.js +297 -0
  126. package/dist/useCustomers-bS3a4ytk.js +186 -0
  127. package/dist/useFleet-BdETplNE.js +398 -0
  128. package/dist/useInventory-Dwn18FPz.js +323 -0
  129. package/dist/useOrders-D_3_hGMp.js +324 -0
  130. package/dist/useRoutes-v4aBaS-E.js +224 -0
  131. package/dist/useTracking-De2KIUNu.js +261 -0
  132. package/dist/user-BplzDrLP.js +13 -0
  133. package/dist/users-i-igmsP4.js +24 -0
  134. package/dist/warehouse-DewG0PXh.js +25 -0
  135. package/dist/wrench-CoSDEIC7.js +31 -0
  136. package/package.json +107 -0
  137. package/src/dev/main.tsx +110 -0
  138. package/src/dev/styles.css +139 -0
  139. package/src/generated/global-operations.ts +2 -0
  140. package/src/generated/global-types.ts +24048 -0
  141. package/src/generated/wspace-operations.ts +3734 -0
  142. package/src/generated/wspace-types.ts +60715 -0
  143. package/src/index.ts +4 -0
  144. package/src/movethewheels/MoveTheWheelsRoot.tsx +258 -0
  145. package/src/movethewheels/MoveTheWheelsRoutes.tsx +119 -0
  146. package/src/movethewheels/components/DataTable.tsx +367 -0
  147. package/src/movethewheels/components/MetricCard.tsx +180 -0
  148. package/src/movethewheels/components/PageLayout.tsx +234 -0
  149. package/src/movethewheels/components/StatusBadge.tsx +243 -0
  150. package/src/movethewheels/components/index.ts +26 -0
  151. package/src/movethewheels/components/ui.tsx +124 -0
  152. package/src/movethewheels/constants/index.ts +65 -0
  153. package/src/movethewheels/constants/mockData.ts +1342 -0
  154. package/src/movethewheels/hooks/index.ts +55 -0
  155. package/src/movethewheels/hooks/useAnalytics.ts +476 -0
  156. package/src/movethewheels/hooks/useCustomers.ts +359 -0
  157. package/src/movethewheels/hooks/useFleet.ts +778 -0
  158. package/src/movethewheels/hooks/useInventory.ts +632 -0
  159. package/src/movethewheels/hooks/useOrders.ts +703 -0
  160. package/src/movethewheels/hooks/useRoutes.ts +453 -0
  161. package/src/movethewheels/hooks/useTracking.ts +505 -0
  162. package/src/movethewheels/index.ts +68 -0
  163. package/src/movethewheels/pages/AIAssistantPage.tsx +160 -0
  164. package/src/movethewheels/pages/AnalyticsPage.tsx +190 -0
  165. package/src/movethewheels/pages/CreateOrderPage.tsx +454 -0
  166. package/src/movethewheels/pages/CustomerDetailsPage.tsx +207 -0
  167. package/src/movethewheels/pages/CustomersPage.tsx +115 -0
  168. package/src/movethewheels/pages/DashboardPage.tsx +414 -0
  169. package/src/movethewheels/pages/DriverDetailsPage.tsx +261 -0
  170. package/src/movethewheels/pages/DriversPage.tsx +118 -0
  171. package/src/movethewheels/pages/FinancePage.tsx +141 -0
  172. package/src/movethewheels/pages/FleetPage.tsx +289 -0
  173. package/src/movethewheels/pages/ImportExportPage.tsx +165 -0
  174. package/src/movethewheels/pages/InventoryPage.tsx +212 -0
  175. package/src/movethewheels/pages/LiveTrackingPage.tsx +325 -0
  176. package/src/movethewheels/pages/MarketplacePage.tsx +235 -0
  177. package/src/movethewheels/pages/OrderDetailsPage.tsx +387 -0
  178. package/src/movethewheels/pages/OrdersListPage.tsx +241 -0
  179. package/src/movethewheels/pages/ProductDetailsPage.tsx +155 -0
  180. package/src/movethewheels/pages/ProductsPage.tsx +124 -0
  181. package/src/movethewheels/pages/ReportsPage.tsx +164 -0
  182. package/src/movethewheels/pages/RouteDetailsPage.tsx +245 -0
  183. package/src/movethewheels/pages/RoutesPage.tsx +104 -0
  184. package/src/movethewheels/pages/SettingsPage.tsx +242 -0
  185. package/src/movethewheels/pages/TrackingPage.tsx +419 -0
  186. package/src/movethewheels/pages/VehicleDetailsPage.tsx +218 -0
  187. package/src/movethewheels/pages/VehiclesPage.tsx +124 -0
  188. package/src/movethewheels/pages/WarehouseDetailsPage.tsx +216 -0
  189. package/src/movethewheels/pages/WarehousesPage.tsx +122 -0
  190. package/src/movethewheels/providers/MoveTheWheelsProvider.tsx +66 -0
  191. package/src/movethewheels/store/movethewheelsStore.ts +136 -0
  192. package/src/movethewheels/types/index.ts +744 -0
  193. package/src/movethewheels/utils/cn.ts +9 -0
  194. package/src/movethewheels/utils/formatters.ts +215 -0
  195. package/src/movethewheels/utils/graphqlClient.ts +63 -0
  196. package/src/movethewheels/utils/index.ts +8 -0
  197. package/src/movethewheels/utils/navigation.ts +70 -0
  198. package/src/operations/global/.gitkeep +0 -0
  199. package/src/operations/wspace/movethewheels/fragments/core.graphql +191 -0
  200. package/src/operations/wspace/movethewheels/mutations/entities.graphql +87 -0
  201. package/src/operations/wspace/movethewheels/mutations/logistics.graphql +86 -0
  202. package/src/operations/wspace/movethewheels/mutations/marketplace-reports.graphql +81 -0
  203. package/src/operations/wspace/movethewheels/mutations/orders.graphql +21 -0
  204. package/src/operations/wspace/movethewheels/queries/dashboard.graphql +61 -0
  205. package/src/operations/wspace/movethewheels/queries/entities.graphql +83 -0
  206. package/src/operations/wspace/movethewheels/queries/logistics.graphql +84 -0
  207. package/src/operations/wspace/movethewheels/queries/marketplace-reports.graphql +40 -0
  208. package/src/operations/wspace/movethewheels/queries/orders.graphql +43 -0
@@ -0,0 +1,186 @@
1
+ import { r as e, t } from "./graphqlClient-CdJyR_ed.js";
2
+ import { useCallback as n, useEffect as r, useMemo as i, useState as a } from "react";
3
+ //#region src/movethewheels/hooks/useCustomers.ts
4
+ var o = "\n query ListCustomers($filter: CustomerFilterInput, $pagination: PaginationInput) {\n customers(filter: $filter, pagination: $pagination) {\n id\n name\n email\n phone\n type\n company\n address\n businessLicense\n taxId\n rating\n createdAt\n updatedAt\n deletedAt\n }\n }\n", s = "\n query GetCustomer($id: ID!) {\n customer(id: $id) {\n id\n name\n email\n phone\n type\n company\n address\n businessLicense\n taxId\n rating\n createdAt\n updatedAt\n deletedAt\n }\n }\n", c = "\n mutation CreateCustomer($input: CreateCustomerInput!) {\n createCustomer(input: $input) {\n id\n name\n email\n phone\n type\n company\n address\n businessLicense\n taxId\n rating\n createdAt\n updatedAt\n deletedAt\n }\n }\n", l = "\n mutation UpdateCustomer($id: ID!, $input: UpdateCustomerInput!) {\n updateCustomer(id: $id, input: $input) {\n id\n name\n email\n phone\n type\n company\n address\n businessLicense\n taxId\n rating\n createdAt\n updatedAt\n deletedAt\n }\n }\n", u = "\n mutation DeleteCustomer($id: ID!) {\n deleteCustomer(id: $id)\n }\n";
5
+ function d(e) {
6
+ return {
7
+ id: e.id,
8
+ name: e.name,
9
+ email: e.email ?? "",
10
+ phone: e.phone ?? "",
11
+ type: e.type.toLowerCase() === "b2b" ? "b2b" : "b2c",
12
+ company: e.company ?? void 0,
13
+ address: {
14
+ street: "",
15
+ city: "",
16
+ state: "",
17
+ postalCode: "",
18
+ country: "",
19
+ ...e.address ?? {}
20
+ },
21
+ businessLicense: e.businessLicense ?? void 0,
22
+ taxId: e.taxId ?? void 0,
23
+ preferredContactMethod: "email",
24
+ marketingOptIn: !1,
25
+ isActive: !e.deletedAt,
26
+ rating: e.rating ?? 0,
27
+ createdAt: new Date(e.createdAt),
28
+ updatedAt: new Date(e.updatedAt)
29
+ };
30
+ }
31
+ function f(s = {}) {
32
+ let { filters: f, limit: p = 20, offset: m = 0 } = s, h = i(() => f, [
33
+ f?.isActive,
34
+ f?.search,
35
+ f?.type
36
+ ]), { apiGatewayUrl: g, authToken: _, workspaceToken: v, workspaceId: y, tenantId: b, currentUser: x } = e(), [S, C] = a([]), [w, T] = a(!1), [E, D] = a(null), O = i(() => ({
37
+ apiGatewayUrl: g,
38
+ authToken: _,
39
+ workspaceToken: v,
40
+ workspaceId: y,
41
+ tenantId: b,
42
+ actorId: x?.id
43
+ }), [
44
+ g,
45
+ _,
46
+ v,
47
+ y,
48
+ b,
49
+ x?.id
50
+ ]), k = n(async () => {
51
+ T(!0), D(null);
52
+ try {
53
+ let e = (await t(O, o, {
54
+ filter: {
55
+ type: h?.type,
56
+ search: h?.search
57
+ },
58
+ pagination: {
59
+ limit: p,
60
+ offset: m
61
+ }
62
+ })).customers.map(d);
63
+ h?.isActive !== void 0 && (e = e.filter((e) => e.isActive === h.isActive)), C(e);
64
+ } catch (e) {
65
+ D(e instanceof Error ? e : /* @__PURE__ */ Error("Failed to load customers"));
66
+ } finally {
67
+ T(!1);
68
+ }
69
+ }, [
70
+ h,
71
+ O,
72
+ p,
73
+ m
74
+ ]);
75
+ r(() => {
76
+ k();
77
+ }, [k]);
78
+ let A = n(() => {
79
+ k();
80
+ }, [k]), j = n(async (e) => {
81
+ let n = d((await t(O, c, { input: {
82
+ name: e.name,
83
+ email: e.email,
84
+ phone: e.phone,
85
+ type: e.type ?? "b2c",
86
+ company: e.company,
87
+ address: e.address,
88
+ businessLicense: e.businessLicense,
89
+ taxId: e.taxId,
90
+ rating: e.rating
91
+ } })).createCustomer);
92
+ return C((e) => [n, ...e]), n;
93
+ }, [O]), M = n(async (e, n) => {
94
+ let r = d((await t(O, l, {
95
+ id: e,
96
+ input: {
97
+ name: n.name,
98
+ email: n.email,
99
+ phone: n.phone,
100
+ type: n.type,
101
+ company: n.company,
102
+ address: n.address,
103
+ businessLicense: n.businessLicense,
104
+ taxId: n.taxId,
105
+ rating: n.rating
106
+ }
107
+ })).updateCustomer);
108
+ return C((t) => t.map((t) => t.id === e ? r : t)), r;
109
+ }, [O]), N = n(async (e) => {
110
+ await t(O, u, { id: e }), C((t) => t.filter((t) => t.id !== e));
111
+ }, [O]);
112
+ return {
113
+ customers: S,
114
+ totalCustomers: S.length,
115
+ isLoading: w,
116
+ error: E,
117
+ refetch: A,
118
+ createCustomer: j,
119
+ updateCustomer: M,
120
+ deleteCustomer: N
121
+ };
122
+ }
123
+ function p(o) {
124
+ let { apiGatewayUrl: c, authToken: l, workspaceToken: u, workspaceId: f, tenantId: p, currentUser: m } = e(), [h, g] = a(null), [_, v] = a(!1), [y, b] = a(null), x = i(() => ({
125
+ apiGatewayUrl: c,
126
+ authToken: l,
127
+ workspaceToken: u,
128
+ workspaceId: f,
129
+ tenantId: p,
130
+ actorId: m?.id
131
+ }), [
132
+ c,
133
+ l,
134
+ u,
135
+ f,
136
+ p,
137
+ m?.id
138
+ ]), S = n(async () => {
139
+ if (!o) {
140
+ g(null);
141
+ return;
142
+ }
143
+ v(!0), b(null);
144
+ try {
145
+ let e = await t(x, s, { id: o });
146
+ g(e.customer ? d(e.customer) : null);
147
+ } catch (e) {
148
+ b(e instanceof Error ? e : /* @__PURE__ */ Error("Failed to load customer"));
149
+ } finally {
150
+ v(!1);
151
+ }
152
+ }, [o, x]);
153
+ return r(() => {
154
+ S();
155
+ }, [S]), {
156
+ customer: h,
157
+ isLoading: _,
158
+ error: y,
159
+ refetch: n(() => {
160
+ S();
161
+ }, [S])
162
+ };
163
+ }
164
+ function m() {
165
+ let { customers: e, isLoading: t, error: n } = f({
166
+ limit: 500,
167
+ offset: 0
168
+ });
169
+ return {
170
+ stats: i(() => {
171
+ let t = e.length, n = e.filter((e) => e.type === "b2b").length, r = t - n, i = e.filter((e) => e.isActive).length, a = e.reduce((e, t) => e + t.rating, 0);
172
+ return {
173
+ total: t,
174
+ b2b: n,
175
+ b2c: r,
176
+ active: i,
177
+ inactive: t - i,
178
+ avgRating: t > 0 ? a / t : 0
179
+ };
180
+ }, [e]),
181
+ isLoading: t,
182
+ error: n
183
+ };
184
+ }
185
+ //#endregion
186
+ export { m as n, f as r, p as t };
@@ -0,0 +1,398 @@
1
+ import { r as e, t } from "./graphqlClient-CdJyR_ed.js";
2
+ import { useCallback as n, useEffect as r, useMemo as i, useState as a } from "react";
3
+ //#region src/movethewheels/hooks/useFleet.ts
4
+ var o = "\n query ListVehicles($filter: VehicleFilterInput, $pagination: PaginationInput) {\n vehicles(filter: $filter, pagination: $pagination) {\n id\n vehicleNumber\n type\n make\n model\n year\n capacity\n status\n currentLocation\n fuelLevel\n mileage\n createdAt\n updatedAt\n }\n }\n", s = "\n query ListDrivers($filter: DriverFilterInput, $pagination: PaginationInput) {\n drivers(filter: $filter, pagination: $pagination) {\n id\n userId\n firstName\n lastName\n employeeId\n licenseNumber\n licenseClass\n licenseExpiry\n status\n currentLocation\n rating\n vehicleId\n createdAt\n }\n }\n", c = "\n query GetVehicle($id: ID!) {\n vehicle(id: $id) {\n id\n vehicleNumber\n type\n make\n model\n year\n capacity\n status\n currentLocation\n fuelLevel\n mileage\n createdAt\n updatedAt\n }\n }\n", l = "\n query GetDriver($id: ID!) {\n driver(id: $id) {\n id\n userId\n firstName\n lastName\n employeeId\n licenseNumber\n licenseClass\n licenseExpiry\n status\n currentLocation\n rating\n vehicleId\n createdAt\n }\n }\n", u = "\n mutation UpdateVehicleStatus($id: ID!, $status: VehicleStatus!) {\n updateVehicleStatus(id: $id, status: $status) {\n id\n vehicleNumber\n type\n make\n model\n year\n capacity\n status\n currentLocation\n fuelLevel\n mileage\n createdAt\n updatedAt\n }\n }\n", d = "\n mutation AssignDriverVehicle($id: ID!, $vehicleId: ID) {\n assignDriverVehicle(id: $id, vehicleId: $vehicleId) {\n id\n userId\n firstName\n lastName\n employeeId\n licenseNumber\n licenseClass\n licenseExpiry\n status\n currentLocation\n rating\n vehicleId\n createdAt\n }\n }\n", f = "\n mutation UpdateDriverStatus($id: ID!, $status: DriverStatus!) {\n updateDriverStatus(id: $id, status: $status) {\n id\n userId\n firstName\n lastName\n employeeId\n licenseNumber\n licenseClass\n licenseExpiry\n status\n currentLocation\n rating\n vehicleId\n createdAt\n }\n }\n", p = "\n query GetFleetStats {\n fleetStats {\n totalVehicles\n activeVehicles\n inTransitVehicles\n maintenanceVehicles\n totalDrivers\n availableDrivers\n onDeliveryDrivers\n }\n }\n";
5
+ function m(e) {
6
+ switch (e) {
7
+ case "ACTIVE": return "available";
8
+ case "IN_TRANSIT": return "assigned";
9
+ case "MAINTENANCE": return "maintenance";
10
+ default: return "out_of_service";
11
+ }
12
+ }
13
+ function h(e) {
14
+ switch (e) {
15
+ case "available": return "ACTIVE";
16
+ case "assigned": return "IN_TRANSIT";
17
+ case "maintenance": return "MAINTENANCE";
18
+ default: return "INACTIVE";
19
+ }
20
+ }
21
+ function g(e) {
22
+ switch (e) {
23
+ case "AVAILABLE": return "available";
24
+ case "ON_DELIVERY": return "busy";
25
+ case "ON_BREAK": return "on_break";
26
+ default: return "offline";
27
+ }
28
+ }
29
+ function _(e) {
30
+ switch (e) {
31
+ case "available": return "AVAILABLE";
32
+ case "busy": return "ON_DELIVERY";
33
+ case "on_break": return "ON_BREAK";
34
+ default: return "OFF_DUTY";
35
+ }
36
+ }
37
+ function v(e) {
38
+ return {
39
+ id: e.id,
40
+ vehicleNumber: e.vehicleNumber,
41
+ type: e.type?.toLowerCase() ?? "van",
42
+ make: e.make ?? "",
43
+ model: e.model ?? "",
44
+ year: e.year ?? (/* @__PURE__ */ new Date()).getFullYear(),
45
+ capacity: {
46
+ weight: 0,
47
+ volume: 0,
48
+ ...e.capacity ?? {}
49
+ },
50
+ status: m(e.status),
51
+ driverId: void 0,
52
+ currentLocation: e.currentLocation ? {
53
+ latitude: Number(e.currentLocation.latitude ?? 0),
54
+ longitude: Number(e.currentLocation.longitude ?? 0),
55
+ address: e.currentLocation.address ?? void 0,
56
+ timestamp: /* @__PURE__ */ new Date()
57
+ } : void 0,
58
+ lastMaintenance: void 0,
59
+ nextMaintenance: void 0,
60
+ fuelLevel: e.fuelLevel ?? void 0,
61
+ mileage: e.mileage ?? void 0,
62
+ documents: [],
63
+ createdAt: new Date(e.createdAt)
64
+ };
65
+ }
66
+ function y(e) {
67
+ return {
68
+ id: e.id,
69
+ userId: e.userId ?? e.id,
70
+ fullName: `${e.firstName} ${e.lastName}`.trim(),
71
+ employeeId: e.employeeId,
72
+ licenseNumber: e.licenseNumber ?? "",
73
+ licenseType: e.licenseClass ?? "standard",
74
+ licenseExpiry: e.licenseExpiry ? new Date(e.licenseExpiry) : /* @__PURE__ */ new Date(),
75
+ vehicleIds: e.vehicleId ? [e.vehicleId] : [],
76
+ assignedVehicle: e.vehicleId ?? void 0,
77
+ status: g(e.status),
78
+ currentLocation: e.currentLocation ? {
79
+ latitude: Number(e.currentLocation.latitude ?? 0),
80
+ longitude: Number(e.currentLocation.longitude ?? 0),
81
+ address: e.currentLocation.address ?? void 0,
82
+ timestamp: /* @__PURE__ */ new Date()
83
+ } : void 0,
84
+ joinDate: new Date(e.createdAt),
85
+ baseSalary: 0,
86
+ completedOrders: 0,
87
+ todayOrders: 0,
88
+ specializations: [],
89
+ workingHours: {
90
+ startTime: "09:00",
91
+ endTime: "18:00",
92
+ workingDays: [
93
+ "Mon",
94
+ "Tue",
95
+ "Wed",
96
+ "Thu",
97
+ "Fri"
98
+ ],
99
+ maxHoursPerDay: 8,
100
+ maxHoursPerWeek: 40,
101
+ currentHoursToday: 0,
102
+ currentHoursThisWeek: 0
103
+ },
104
+ ratings: {
105
+ overall: e.rating ?? 0,
106
+ punctuality: e.rating ?? 0,
107
+ communication: e.rating ?? 0,
108
+ carefulHandling: e.rating ?? 0,
109
+ professionalism: e.rating ?? 0,
110
+ onTimeDelivery: e.rating ?? 0,
111
+ totalRatings: 0
112
+ },
113
+ documents: [],
114
+ earnings: {
115
+ totalEarnings: 0,
116
+ weeklyEarnings: 0,
117
+ monthlyEarnings: 0,
118
+ pendingPayments: 0,
119
+ completedDeliveries: 0,
120
+ bonuses: 0
121
+ },
122
+ compliance: {
123
+ hoursOfService: !0,
124
+ documentation: !0,
125
+ vehicleInspection: !0,
126
+ lastUpdate: /* @__PURE__ */ new Date()
127
+ },
128
+ createdAt: new Date(e.createdAt)
129
+ };
130
+ }
131
+ function b() {
132
+ let { apiGatewayUrl: t, authToken: n, workspaceToken: r, workspaceId: a, tenantId: o, currentUser: s } = e();
133
+ return i(() => ({
134
+ apiGatewayUrl: t,
135
+ authToken: n,
136
+ workspaceToken: r,
137
+ workspaceId: a,
138
+ tenantId: o,
139
+ actorId: s?.id
140
+ }), [
141
+ t,
142
+ n,
143
+ r,
144
+ a,
145
+ o,
146
+ s?.id
147
+ ]);
148
+ }
149
+ function x(e = {}) {
150
+ let { filters: c } = e, l = i(() => c, [
151
+ c?.driverId,
152
+ c?.status,
153
+ c?.vehicleType
154
+ ]), u = b(), [d, f] = a([]), [p, m] = a([]), [g, _] = a(!1), [x, S] = a(null), C = n(async () => {
155
+ _(!0), S(null);
156
+ try {
157
+ let [e, n] = await Promise.all([t(u, o, {
158
+ filter: {
159
+ type: l?.vehicleType?.toUpperCase(),
160
+ status: l?.status ? h(l.status) : void 0
161
+ },
162
+ pagination: {
163
+ limit: 200,
164
+ offset: 0
165
+ }
166
+ }), t(u, s, {
167
+ filter: { vehicleId: l?.driverId },
168
+ pagination: {
169
+ limit: 200,
170
+ offset: 0
171
+ }
172
+ })]);
173
+ f(e.vehicles.map(v)), m(n.drivers.map(y));
174
+ } catch (e) {
175
+ S(e instanceof Error ? e : /* @__PURE__ */ Error("Failed to load fleet data"));
176
+ } finally {
177
+ _(!1);
178
+ }
179
+ }, [l, u]);
180
+ r(() => {
181
+ C();
182
+ }, [C]);
183
+ let w = n(() => {
184
+ C();
185
+ }, [C]);
186
+ return {
187
+ vehicles: d,
188
+ drivers: p,
189
+ totalVehicles: d.length,
190
+ totalDrivers: p.length,
191
+ isLoading: g,
192
+ error: x,
193
+ refetch: w
194
+ };
195
+ }
196
+ function S() {
197
+ let e = b(), [i, s] = a([]), [c, l] = a(!1), [f, p] = a(null), m = n(async () => {
198
+ l(!0), p(null);
199
+ try {
200
+ s((await t(e, o, { pagination: {
201
+ limit: 200,
202
+ offset: 0
203
+ } })).vehicles.map(v));
204
+ } catch (e) {
205
+ p(e instanceof Error ? e : /* @__PURE__ */ Error("Failed to load vehicles"));
206
+ } finally {
207
+ l(!1);
208
+ }
209
+ }, [e]);
210
+ r(() => {
211
+ m();
212
+ }, [m]);
213
+ let g = n(() => {
214
+ m();
215
+ }, [m]), _ = n(async (n, r) => {
216
+ let i = v((await t(e, u, {
217
+ id: n,
218
+ status: h(r)
219
+ })).updateVehicleStatus);
220
+ return s((e) => e.map((e) => e.id === n ? i : e)), i;
221
+ }, [e]), y = n(async (n, r) => {
222
+ await t(e, d, {
223
+ id: r,
224
+ vehicleId: n
225
+ });
226
+ let a = i.find((e) => e.id === n);
227
+ if (!a) throw Error("Vehicle not found");
228
+ let o = {
229
+ ...a,
230
+ driverId: r,
231
+ status: "assigned"
232
+ };
233
+ return s((e) => e.map((e) => e.id === n ? o : e)), o;
234
+ }, [e, i]);
235
+ return {
236
+ vehicles: i,
237
+ totalVehicles: i.length,
238
+ isLoading: c,
239
+ error: f,
240
+ refetch: g,
241
+ updateVehicleStatus: _,
242
+ assignDriver: y
243
+ };
244
+ }
245
+ function C(e) {
246
+ let i = b(), [o, s] = a(null), [l, u] = a(!1), [d, f] = a(null), p = n(async () => {
247
+ if (!e) {
248
+ s(null);
249
+ return;
250
+ }
251
+ u(!0), f(null);
252
+ try {
253
+ let n = await t(i, c, { id: e });
254
+ s(n.vehicle ? v(n.vehicle) : null);
255
+ } catch (e) {
256
+ f(e instanceof Error ? e : /* @__PURE__ */ Error("Failed to load vehicle"));
257
+ } finally {
258
+ u(!1);
259
+ }
260
+ }, [i, e]);
261
+ return r(() => {
262
+ p();
263
+ }, [p]), {
264
+ vehicle: o,
265
+ isLoading: l,
266
+ error: d,
267
+ refetch: n(() => {
268
+ p();
269
+ }, [p])
270
+ };
271
+ }
272
+ function w() {
273
+ let e = b(), [i, o] = a([]), [c, l] = a(!1), [u, p] = a(null), m = n(async () => {
274
+ l(!0), p(null);
275
+ try {
276
+ o((await t(e, s, { pagination: {
277
+ limit: 200,
278
+ offset: 0
279
+ } })).drivers.map(y));
280
+ } catch (e) {
281
+ p(e instanceof Error ? e : /* @__PURE__ */ Error("Failed to load drivers"));
282
+ } finally {
283
+ l(!1);
284
+ }
285
+ }, [e]);
286
+ r(() => {
287
+ m();
288
+ }, [m]);
289
+ let h = n(() => {
290
+ m();
291
+ }, [m]), g = n(async (n, r) => {
292
+ let i = y((await t(e, f, {
293
+ id: n,
294
+ status: _(r)
295
+ })).updateDriverStatus);
296
+ return o((e) => e.map((e) => e.id === n ? i : e)), i;
297
+ }, [e]), v = n(async (n, r) => {
298
+ let i = y((await t(e, d, {
299
+ id: n,
300
+ vehicleId: r
301
+ })).assignDriverVehicle);
302
+ return o((e) => e.map((e) => e.id === n ? i : e)), i;
303
+ }, [e]);
304
+ return {
305
+ drivers: i,
306
+ totalDrivers: i.length,
307
+ isLoading: c,
308
+ error: u,
309
+ refetch: h,
310
+ updateDriverStatus: g,
311
+ assignVehicle: v
312
+ };
313
+ }
314
+ function T(e) {
315
+ let i = b(), [o, s] = a(null), [c, u] = a(!1), [d, f] = a(null), p = n(async () => {
316
+ if (!e) {
317
+ s(null);
318
+ return;
319
+ }
320
+ u(!0), f(null);
321
+ try {
322
+ let n = await t(i, l, { id: e });
323
+ s(n.driver ? y(n.driver) : null);
324
+ } catch (e) {
325
+ f(e instanceof Error ? e : /* @__PURE__ */ Error("Failed to load driver"));
326
+ } finally {
327
+ u(!1);
328
+ }
329
+ }, [e, i]);
330
+ return r(() => {
331
+ p();
332
+ }, [p]), {
333
+ driver: o,
334
+ isLoading: c,
335
+ error: d,
336
+ refetch: n(() => {
337
+ p();
338
+ }, [p])
339
+ };
340
+ }
341
+ function E() {
342
+ let e = b(), [n, i] = a({
343
+ totalVehicles: 0,
344
+ totalDrivers: 0,
345
+ vehiclesByStatus: {
346
+ available: 0,
347
+ assigned: 0,
348
+ maintenance: 0,
349
+ out_of_service: 0
350
+ },
351
+ driversByStatus: {
352
+ available: 0,
353
+ busy: 0,
354
+ offline: 0,
355
+ on_break: 0
356
+ },
357
+ avgFuelLevel: 0,
358
+ avgDriverRating: 0,
359
+ utilization: 0
360
+ }), [o, s] = a(!1), [c, l] = a(null);
361
+ return r(() => {
362
+ (async () => {
363
+ s(!0), l(null);
364
+ try {
365
+ let n = await t(e, p);
366
+ i({
367
+ totalVehicles: n.fleetStats.totalVehicles,
368
+ totalDrivers: n.fleetStats.totalDrivers,
369
+ vehiclesByStatus: {
370
+ available: n.fleetStats.activeVehicles,
371
+ assigned: n.fleetStats.inTransitVehicles,
372
+ maintenance: n.fleetStats.maintenanceVehicles,
373
+ out_of_service: Math.max(n.fleetStats.totalVehicles - n.fleetStats.activeVehicles - n.fleetStats.inTransitVehicles - n.fleetStats.maintenanceVehicles, 0)
374
+ },
375
+ driversByStatus: {
376
+ available: n.fleetStats.availableDrivers,
377
+ busy: n.fleetStats.onDeliveryDrivers,
378
+ offline: Math.max(n.fleetStats.totalDrivers - n.fleetStats.availableDrivers - n.fleetStats.onDeliveryDrivers, 0),
379
+ on_break: 0
380
+ },
381
+ avgFuelLevel: 0,
382
+ avgDriverRating: 0,
383
+ utilization: n.fleetStats.totalVehicles > 0 ? n.fleetStats.activeVehicles / n.fleetStats.totalVehicles * 100 : 0
384
+ });
385
+ } catch (e) {
386
+ l(e instanceof Error ? e : /* @__PURE__ */ Error("Failed to load fleet stats"));
387
+ } finally {
388
+ s(!1);
389
+ }
390
+ })();
391
+ }, [e]), {
392
+ stats: n,
393
+ isLoading: o,
394
+ error: c
395
+ };
396
+ }
397
+ //#endregion
398
+ export { C as a, E as i, w as n, S as o, x as r, T as t };