@burdenoff/microfe-movethewheels 2026.703.4 → 2026.703.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{AIAssistantPage-3YOnHO9Y.js → AIAssistantPage-BmILdHgO.js} +16 -15
- package/dist/AnalyticsPage-BSlsiSDE.js +194 -0
- package/dist/{CreateOrderPage-DRAgGo9i.js → CreateOrderPage-DaCgVaO3.js} +40 -40
- package/dist/{CustomerDetailsPage-BCeMmOFe.js → CustomerDetailsPage-DErpbafW.js} +71 -71
- package/dist/CustomersPage-C1lRU6xs.js +205 -0
- package/dist/DashboardPage-Q5-5EKAU.js +542 -0
- package/dist/{DataTable-XvUcTjwi.js → DataTable-KjzbwnRL.js} +31 -31
- package/dist/{DocumentsCard-U2lSe-cn.js → DocumentsCard-T9y6cv4-.js} +25 -25
- package/dist/{DriverDetailsPage-BQrYd_Lp.js → DriverDetailsPage-DnHGkDC7.js} +64 -64
- package/dist/DriversPage-C0ujWVOn.js +221 -0
- package/dist/FinancePage-CA2XEgsQ.js +175 -0
- package/dist/{FleetPage-3ZHsB-TN.js → FleetPage-DrvXW7wK.js} +22 -22
- package/dist/{FormError-cuLV2jVD.js → FormError-CRsMP7TQ.js} +1 -1
- package/dist/{ImportExportPage-C6f7DqhM.js → ImportExportPage-Cac9HjFx.js} +12 -12
- package/dist/InventoryPage-Ezf4gqKI.js +259 -0
- package/dist/LiveTrackingPage-CzbVwDqK.js +429 -0
- package/dist/{MarketplacePage-Bh_2ns4v.js → MarketplacePage-BHDmSQmo.js} +116 -116
- package/dist/MetricCard-DQlDNqmK.js +191 -0
- package/dist/{Notice-CSoDYKw9.js → Notice-GmA7JDR3.js} +2 -2
- package/dist/{OrderDetailsPage-zCj0lW0j.js → OrderDetailsPage-CR0Wc1aN.js} +58 -58
- package/dist/OrdersListPage-C8Bu6wXM.js +386 -0
- package/dist/{PageLayout-D4LDHJJq.js → PageLayout-DX1Ou6V6.js} +164 -134
- package/dist/{ProductDetailsPage-wsxAQkA0.js → ProductDetailsPage-B_ns2MOe.js} +55 -55
- package/dist/ProductsPage-c92BsEoA.js +186 -0
- package/dist/ReportsPage-CPLXtLT2.js +377 -0
- package/dist/{RouteDetailsPage-DyMJE9AS.js → RouteDetailsPage-DOfcRiFv.js} +208 -181
- package/dist/{RoutesPage-Dtc669yc.js → RoutesPage-BZGublby.js} +12 -12
- package/dist/{SettingsPage-CpH9xhQg.js → SettingsPage-5cweX_xh.js} +15 -15
- package/dist/Sparkline-zSXvG6vA.js +16729 -0
- package/dist/{StatusBadge-C87mDpDP.js → StatusBadge-oZjownr1.js} +7 -7
- package/dist/TrackingPage-Ln9qVflK.js +368 -0
- package/dist/{VehicleDetailsPage-DldYNsYV.js → VehicleDetailsPage-CrkzE0dN.js} +53 -53
- package/dist/VehiclesPage-CTQWH7af.js +184 -0
- package/dist/{WarehouseDetailsPage-CMG7or6G.js → WarehouseDetailsPage-CwDLaG65.js} +64 -64
- package/dist/WarehousesPage-KW02DvZg.js +182 -0
- package/dist/{arrow-left-n48Y-Wis.js → arrow-left-DJDw_Yqv.js} +1 -1
- package/dist/{arrow-right-Q3XQpTPR.js → arrow-right-Cb2fLTPJ.js} +1 -1
- package/dist/{arrow-up-xNF1zJUG.js → arrow-up-PxaOIyiT.js} +1 -1
- package/dist/{box-Eu05PXDh.js → box-hSJVtvGf.js} +1 -1
- package/dist/boxes-DDnxEkT5.js +54 -0
- package/dist/{chart-column-ouzgxIv_.js → chart-column-xXgAZvRl.js} +1 -1
- package/dist/charts-CfCwQg6o.js +2018 -0
- package/dist/{chevron-left-B2_r0Elx.js → chevron-left-dhEGJYdh.js} +1 -1
- package/dist/{chevron-right-eV4LjaSi.js → chevron-right-Cud2NDvm.js} +1 -1
- package/dist/chunk-BdsCSvBP.js +20 -0
- package/dist/{circle-alert-Bzh2DBSF.js → circle-alert-Rx0p3D5w.js} +1 -1
- package/dist/circle-check-BCxRFdFo.js +13 -0
- package/dist/{circle-check-big-CGMSpQmD.js → circle-check-big-BcIJ8xjx.js} +1 -1
- package/dist/{clock-Bl3ptexL.js → clock-B2_YxJgB.js} +1 -1
- package/dist/{dollar-sign-CAVU95SO.js → dollar-sign-CQmAICv4.js} +1 -1
- package/dist/{download-C5NbvVDc.js → download-CG4Tponq.js} +1 -1
- package/dist/{file-text-D-1uvLZG.js → file-text-CzH-zMub.js} +1 -1
- package/dist/{filter-DUfUg6BO.js → filter-C0u2Lwfn.js} +1 -1
- package/dist/{fuel-B6_lnKDs.js → fuel-C2KELcM-.js} +1 -1
- package/dist/index.css +2 -0
- package/dist/index.js +214 -225
- package/dist/{map-C-M-FQLR.js → map-FuPu5aTw.js} +1 -1
- package/dist/{map-pin-Dznl5l40.js → map-pin-czpLv9uy.js} +1 -1
- package/dist/mapMarkers-NCV9MRKR.js +28 -0
- package/dist/maps-D9m7PKrs.js +5070 -0
- package/dist/{navigation-BJSJl-VG.js → navigation-D5_pdCSS.js} +1 -1
- package/dist/{package-CcRttV2N.js → package-B0sdi6lU.js} +1 -1
- package/dist/{phone-DVSZHt_j.js → phone-V2nuzPu9.js} +1 -1
- package/dist/{plus-C_XZDwBz.js → plus-BqQxkfoU.js} +1 -1
- package/dist/{refresh-cw-CfgN67l3.js → refresh-cw-CEOAPEcV.js} +1 -1
- package/dist/route-CZWcW-Dw.js +22 -0
- package/dist/{save-DJE8Fpdv.js → save-DDFvrxWl.js} +1 -1
- package/dist/{search-D_VyGcZT.js → search-D7Ya6jxj.js} +1 -1
- package/dist/{square-pen-D-6JYrVQ.js → square-pen-DoZZS4Lw.js} +1 -1
- package/dist/{star-BpRlUZuU.js → star-B7PgVu5j.js} +1 -1
- package/dist/{store-B-8HMuyZ.js → store-YVzcIG4A.js} +1 -1
- package/dist/{trash-2-8vmv-XV_.js → trash-2-BegnBzwI.js} +1 -1
- package/dist/{trending-up-Dz6PqPRj.js → trending-up-DBd3XNdb.js} +1 -1
- package/dist/{triangle-alert-D7Y3J_4z.js → triangle-alert-Bxk3Kgs6.js} +1 -1
- package/dist/{truck-D-y2IDzv.js → truck-Clrn0oHp.js} +1 -1
- package/dist/{upload-CHZofOqb.js → upload-Df5JmMwH.js} +1 -1
- package/dist/{useAssistant-DVW4QgQb.js → useAssistant-Cb8nnIVC.js} +11 -28
- package/dist/{useCustomers-BPW4__PR.js → useCustomers-Dq2IR2HQ.js} +1 -1
- package/dist/{useFleet-ChBkxAd6.js → useFleet-CapnWBcA.js} +1 -1
- package/dist/{useImportExport-DrPDHEDK.js → useImportExport-BoGzrlJy.js} +1 -1
- package/dist/{useInventory-CAAVMRp6.js → useInventory-Ci6M2d9f.js} +1 -1
- package/dist/{useOrders-B465S2nt.js → useOrders-BuQU1OHX.js} +1 -1
- package/dist/{useReports-jQ3GpNOm.js → useReports-DIx8W7CO.js} +1 -1
- package/dist/{useRoutes-hS3d5-xr.js → useRoutes-D7EvI_pm.js} +1 -1
- package/dist/{useSettings-BB8X2RLh.js → useSettings-BhX251UQ.js} +6 -6
- package/dist/{useTracking-RjGz9PZG.js → useTracking-C40jmZ6W.js} +3 -3
- package/dist/{user-DzfTn4dE.js → user-BlcJrbtE.js} +1 -1
- package/dist/{user-check-BEKRCi7v.js → user-check-DtnQmimP.js} +1 -1
- package/dist/{users-CCrq-w0C.js → users-Cvwko-Dx.js} +1 -1
- package/dist/{warehouse-CaqfmMKh.js → warehouse-LWLVTk6G.js} +1 -1
- package/dist/{wrench-q_rgJfaP.js → wrench-Cme0RbyR.js} +1 -1
- package/dist/{x-tMeDMcCw.js → x-D8C9Pg5V.js} +1 -1
- package/package.json +5 -1
- package/src/movethewheels/components/GlassPanel.tsx +71 -0
- package/src/movethewheels/components/MetricCard.tsx +171 -73
- package/src/movethewheels/components/StatusBadge.tsx +7 -6
- package/src/movethewheels/components/charts/ChartShell.tsx +78 -0
- package/src/movethewheels/components/charts/Sparkline.tsx +85 -0
- package/src/movethewheels/components/charts/StatusDonut.tsx +115 -0
- package/src/movethewheels/components/charts/TrendChart.tsx +179 -0
- package/src/movethewheels/components/charts/VolumeBar.tsx +97 -0
- package/src/movethewheels/components/charts/chartTokens.ts +43 -0
- package/src/movethewheels/components/charts/index.ts +9 -0
- package/src/movethewheels/components/index.ts +44 -1
- package/src/movethewheels/components/maps/LogisticsMap.tsx +94 -0
- package/src/movethewheels/components/maps/MapCanvas.tsx +118 -0
- package/src/movethewheels/components/maps/RouteMap.tsx +71 -0
- package/src/movethewheels/components/maps/TrackingMap.tsx +102 -0
- package/src/movethewheels/components/maps/index.ts +16 -0
- package/src/movethewheels/components/maps/leaflet-setup.ts +124 -0
- package/src/movethewheels/components/maps/map-markers.css +121 -0
- package/src/movethewheels/hooks/useAnalytics.ts +14 -4
- package/src/movethewheels/pages/AnalyticsPage.tsx +93 -73
- package/src/movethewheels/pages/CreateOrderPage.tsx +4 -4
- package/src/movethewheels/pages/CustomersPage.tsx +29 -20
- package/src/movethewheels/pages/DashboardPage.tsx +238 -12
- package/src/movethewheels/pages/DriverDetailsPage.tsx +1 -1
- package/src/movethewheels/pages/DriversPage.tsx +35 -24
- package/src/movethewheels/pages/FinancePage.tsx +68 -30
- package/src/movethewheels/pages/InventoryPage.tsx +15 -3
- package/src/movethewheels/pages/LiveTrackingPage.tsx +124 -16
- package/src/movethewheels/pages/OrdersListPage.tsx +46 -38
- package/src/movethewheels/pages/ProductsPage.tsx +28 -24
- package/src/movethewheels/pages/ReportsPage.tsx +23 -0
- package/src/movethewheels/pages/RouteDetailsPage.tsx +46 -7
- package/src/movethewheels/pages/SettingsPage.tsx +2 -2
- package/src/movethewheels/pages/TrackingPage.tsx +76 -6
- package/src/movethewheels/pages/VehicleDetailsPage.tsx +1 -1
- package/src/movethewheels/pages/VehiclesPage.tsx +34 -24
- package/src/movethewheels/pages/WarehouseDetailsPage.tsx +1 -1
- package/src/movethewheels/pages/WarehousesPage.tsx +28 -22
- package/src/movethewheels/types/index.ts +1 -1
- package/src/movethewheels/utils/graphqlClient.ts +81 -31
- package/src/movethewheels/utils/mapMarkers.ts +58 -0
- package/dist/AnalyticsPage-CMpI1070.js +0 -215
- package/dist/CustomersPage-CaNBMXmM.js +0 -172
- package/dist/DashboardPage-DIKlXde3.js +0 -387
- package/dist/DriversPage-PYmdFiby.js +0 -176
- package/dist/FinancePage-Cwh9Bw4M.js +0 -136
- package/dist/InventoryPage-DpiqVu1v.js +0 -253
- package/dist/LiveTrackingPage-FAzzlVnX.js +0 -379
- package/dist/MetricCard-CVBVpu7o.js +0 -146
- package/dist/OrdersListPage-CAMsuUck.js +0 -384
- package/dist/ProductsPage-DC5qDLfz.js +0 -180
- package/dist/ReportsPage-BwUJ37eO.js +0 -356
- package/dist/TrackingPage-DaNEFG_h.js +0 -325
- package/dist/VehiclesPage-BFw13iMt.js +0 -176
- package/dist/WarehousesPage-Wkytnt86.js +0 -173
- package/dist/useAnalytics-D7HW2XRb.js +0 -347
- /package/dist/{formatters-BQr-aR5W.js → formatters-FWJDwTFv.js} +0 -0
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { A as e, B as t, F as n, I as r, L as i, P as a, R as o,
|
|
2
|
-
import { t as re } from "./chevron-left-
|
|
3
|
-
import { t as
|
|
4
|
-
import { t as
|
|
5
|
-
import { t as
|
|
6
|
-
import { t as
|
|
7
|
-
import { t as
|
|
8
|
-
import { t as
|
|
9
|
-
import { t as
|
|
10
|
-
import { n as
|
|
11
|
-
import { useCallback as
|
|
12
|
-
import { Fragment as
|
|
13
|
-
import { EmphasisPanel as
|
|
1
|
+
import { A as e, B as t, F as n, I as r, L as i, P as a, R as o, at as s, d as c, f as l, g as ee, h as u, i as te, l as d, st as ne, u as f, ut as p } from "./PageLayout-DX1Ou6V6.js";
|
|
2
|
+
import { t as re } from "./chevron-left-dhEGJYdh.js";
|
|
3
|
+
import { t as m } from "./chevron-right-Cud2NDvm.js";
|
|
4
|
+
import { t as h } from "./clock-B2_YxJgB.js";
|
|
5
|
+
import { t as ie } from "./filter-C0u2Lwfn.js";
|
|
6
|
+
import { t as ae } from "./map-pin-czpLv9uy.js";
|
|
7
|
+
import { t as oe } from "./search-D7Ya6jxj.js";
|
|
8
|
+
import { t as se } from "./star-B7PgVu5j.js";
|
|
9
|
+
import { t as g } from "./store-YVzcIG4A.js";
|
|
10
|
+
import { n as _ } from "./formatters-FWJDwTFv.js";
|
|
11
|
+
import { useCallback as v, useEffect as ce, useMemo as y, useState as b } from "react";
|
|
12
|
+
import { Fragment as x, jsx as S, jsxs as C } from "react/jsx-runtime";
|
|
13
|
+
import { EmphasisPanel as le, IllustratedEmptyState as w, PagePurpose as ue } from "@burdenoff/fe-libs/ui";
|
|
14
14
|
//#region node_modules/lucide-react/dist/esm/icons/chevron-down.js
|
|
15
|
-
var
|
|
15
|
+
var de = p("ChevronDown", [["path", {
|
|
16
16
|
d: "m6 9 6 6 6-6",
|
|
17
17
|
key: "qrunsl"
|
|
18
|
-
}]]), fe =
|
|
18
|
+
}]]), fe = p("ChevronUp", [["path", {
|
|
19
19
|
d: "m18 15-6-6-6 6",
|
|
20
20
|
key: "153udz"
|
|
21
21
|
}]]), pe = "\n query ListServiceProviders($filter: ServiceProviderFilterInput, $pagination: PaginationInput) {\n serviceProviders(filter: $filter, pagination: $pagination) {\n id\n name\n type\n description\n rating\n isVerified\n isActive\n services\n contactInfo\n }\n }\n", me = "\n query ListServiceOfferings($filter: ServiceOfferingFilterInput, $pagination: PaginationInput) {\n serviceOfferings(filter: $filter, pagination: $pagination) {\n id\n providerId\n name\n description\n category\n price\n currency\n availability\n provider {\n id\n name\n type\n rating\n }\n }\n }\n", T = 12, he = [
|
|
@@ -37,27 +37,27 @@ var w = f("ChevronDown", [["path", {
|
|
|
37
37
|
}
|
|
38
38
|
];
|
|
39
39
|
function E() {
|
|
40
|
-
let { apiGatewayUrl:
|
|
41
|
-
apiGatewayUrl:
|
|
40
|
+
let { apiGatewayUrl: p, authToken: E, workspaceToken: D, workspaceId: O, tenantId: k, currentUser: A } = ne(), [j, ge] = b([]), [M, _e] = b([]), [N, P] = b(""), [F, I] = b(!1), [L, R] = b(null), [z, B] = b(0), [ve, ye] = b(!1), [V, be] = b(!1), [H, U] = b("all"), [W, G] = b(!1), [K, q] = b("0"), [xe, J] = b(null), Y = y(() => ({
|
|
41
|
+
apiGatewayUrl: p,
|
|
42
42
|
authToken: E,
|
|
43
43
|
workspaceToken: D,
|
|
44
44
|
workspaceId: O,
|
|
45
45
|
tenantId: k,
|
|
46
46
|
actorId: A?.id
|
|
47
47
|
}), [
|
|
48
|
-
|
|
48
|
+
p,
|
|
49
49
|
E,
|
|
50
50
|
D,
|
|
51
51
|
O,
|
|
52
52
|
k,
|
|
53
53
|
A?.id
|
|
54
|
-
]), X =
|
|
54
|
+
]), X = v(async () => {
|
|
55
55
|
I(!0), R(null);
|
|
56
56
|
try {
|
|
57
|
-
let [e, t] = await Promise.all([
|
|
57
|
+
let [e, t] = await Promise.all([s(Y, pe, { pagination: {
|
|
58
58
|
limit: T,
|
|
59
59
|
offset: z * T
|
|
60
|
-
} }),
|
|
60
|
+
} }), s(Y, me, { pagination: {
|
|
61
61
|
limit: 200,
|
|
62
62
|
offset: 0
|
|
63
63
|
} })]);
|
|
@@ -68,13 +68,13 @@ function E() {
|
|
|
68
68
|
I(!1);
|
|
69
69
|
}
|
|
70
70
|
}, [Y, z]);
|
|
71
|
-
|
|
71
|
+
ce(() => {
|
|
72
72
|
X();
|
|
73
73
|
}, [X]);
|
|
74
|
-
let Se =
|
|
74
|
+
let Se = y(() => {
|
|
75
75
|
let e = /* @__PURE__ */ new Set();
|
|
76
76
|
return j.forEach((t) => e.add(t.type)), Array.from(e).sort();
|
|
77
|
-
}, [j]), Z =
|
|
77
|
+
}, [j]), Z = y(() => {
|
|
78
78
|
let e = N.trim().toLowerCase(), t = Number(K);
|
|
79
79
|
return j.filter((n) => !(e && !(n.name.toLowerCase().includes(e) || (n.description ?? "").toLowerCase().includes(e) || n.type.toLowerCase().includes(e)) || H !== "all" && n.type !== H || W && !n.isVerified || t > 0 && (n.rating ?? 0) < t));
|
|
80
80
|
}, [
|
|
@@ -83,84 +83,84 @@ function E() {
|
|
|
83
83
|
H,
|
|
84
84
|
W,
|
|
85
85
|
K
|
|
86
|
-
]), Q =
|
|
86
|
+
]), Q = y(() => {
|
|
87
87
|
let e = N.trim().toLowerCase();
|
|
88
88
|
return e ? M.filter((t) => t.name.toLowerCase().includes(e) || (t.description ?? "").toLowerCase().includes(e) || (t.category ?? "").toLowerCase().includes(e)) : M;
|
|
89
|
-
}, [M, N]), Ce =
|
|
90
|
-
return /* @__PURE__ */
|
|
89
|
+
}, [M, N]), Ce = v((e) => M.filter((t) => t.providerId === e), [M]), $ = H !== "all" || W || K !== "0";
|
|
90
|
+
return /* @__PURE__ */ C(te, {
|
|
91
91
|
title: "Marketplace",
|
|
92
92
|
subtitle: "Find logistics service providers",
|
|
93
|
-
icon: /* @__PURE__ */
|
|
94
|
-
headerActions: /* @__PURE__ */
|
|
93
|
+
icon: /* @__PURE__ */ S(g, { size: 24 }),
|
|
94
|
+
headerActions: /* @__PURE__ */ C(f, {
|
|
95
95
|
variant: V || $ ? "default" : "outline",
|
|
96
96
|
onClick: () => be((e) => !e),
|
|
97
|
-
children: [/* @__PURE__ */
|
|
97
|
+
children: [/* @__PURE__ */ S(ie, { size: 16 }), " Filters"]
|
|
98
98
|
}),
|
|
99
99
|
children: [
|
|
100
|
-
/* @__PURE__ */
|
|
101
|
-
icon: /* @__PURE__ */
|
|
100
|
+
/* @__PURE__ */ S(ue, {
|
|
101
|
+
icon: /* @__PURE__ */ S(g, { size: 18 }),
|
|
102
102
|
children: "Don't own every leg of the journey? Find vetted third-party logistics providers and service offerings here — compare ratings, verification status and pricing, then engage a partner to cover routes, warehousing or specialised handling you can't do in-house."
|
|
103
103
|
}),
|
|
104
|
-
/* @__PURE__ */
|
|
104
|
+
/* @__PURE__ */ S(c, { children: /* @__PURE__ */ C(l, {
|
|
105
105
|
className: "p-4 space-y-4",
|
|
106
|
-
children: [/* @__PURE__ */
|
|
106
|
+
children: [/* @__PURE__ */ C("div", {
|
|
107
107
|
className: "relative",
|
|
108
|
-
children: [/* @__PURE__ */
|
|
108
|
+
children: [/* @__PURE__ */ S(oe, {
|
|
109
109
|
className: "absolute left-3 top-1/2 -translate-y-1/2 text-text-secondary",
|
|
110
110
|
size: 20
|
|
111
|
-
}), /* @__PURE__ */
|
|
111
|
+
}), /* @__PURE__ */ S(e, {
|
|
112
112
|
placeholder: "Search services, providers, locations...",
|
|
113
113
|
className: "pl-10",
|
|
114
114
|
value: N,
|
|
115
115
|
onChange: (e) => P(e.target.value)
|
|
116
116
|
})]
|
|
117
|
-
}), V && /* @__PURE__ */
|
|
117
|
+
}), V && /* @__PURE__ */ C("div", {
|
|
118
118
|
className: "flex flex-wrap items-center gap-3 border-t border-border-seam pt-4",
|
|
119
119
|
children: [
|
|
120
|
-
/* @__PURE__ */
|
|
120
|
+
/* @__PURE__ */ C("div", {
|
|
121
121
|
className: "flex items-center gap-2",
|
|
122
|
-
children: [/* @__PURE__ */
|
|
122
|
+
children: [/* @__PURE__ */ S("span", {
|
|
123
123
|
className: "text-sm font-medium text-text-secondary",
|
|
124
124
|
children: "Type"
|
|
125
|
-
}), /* @__PURE__ */
|
|
125
|
+
}), /* @__PURE__ */ C(a, {
|
|
126
126
|
value: H,
|
|
127
127
|
onValueChange: U,
|
|
128
|
-
children: [/* @__PURE__ */
|
|
128
|
+
children: [/* @__PURE__ */ S(i, {
|
|
129
129
|
className: "w-[160px]",
|
|
130
|
-
children: /* @__PURE__ */
|
|
131
|
-
}), /* @__PURE__ */
|
|
130
|
+
children: /* @__PURE__ */ S(o, { placeholder: "All types" })
|
|
131
|
+
}), /* @__PURE__ */ C(n, { children: [/* @__PURE__ */ S(r, {
|
|
132
132
|
value: "all",
|
|
133
133
|
children: "All types"
|
|
134
|
-
}), Se.map((e) => /* @__PURE__ */
|
|
134
|
+
}), Se.map((e) => /* @__PURE__ */ S(r, {
|
|
135
135
|
value: e,
|
|
136
136
|
children: e
|
|
137
137
|
}, e))] })]
|
|
138
138
|
})]
|
|
139
139
|
}),
|
|
140
|
-
/* @__PURE__ */
|
|
140
|
+
/* @__PURE__ */ C("div", {
|
|
141
141
|
className: "flex items-center gap-2",
|
|
142
|
-
children: [/* @__PURE__ */
|
|
142
|
+
children: [/* @__PURE__ */ S("span", {
|
|
143
143
|
className: "text-sm font-medium text-text-secondary",
|
|
144
144
|
children: "Min rating"
|
|
145
|
-
}), /* @__PURE__ */
|
|
145
|
+
}), /* @__PURE__ */ C(a, {
|
|
146
146
|
value: K,
|
|
147
147
|
onValueChange: q,
|
|
148
|
-
children: [/* @__PURE__ */
|
|
148
|
+
children: [/* @__PURE__ */ S(i, {
|
|
149
149
|
className: "w-[130px]",
|
|
150
|
-
children: /* @__PURE__ */
|
|
151
|
-
}), /* @__PURE__ */
|
|
150
|
+
children: /* @__PURE__ */ S(o, {})
|
|
151
|
+
}), /* @__PURE__ */ S(n, { children: he.map((e) => /* @__PURE__ */ S(r, {
|
|
152
152
|
value: e.value,
|
|
153
153
|
children: e.label
|
|
154
154
|
}, e.value)) })]
|
|
155
155
|
})]
|
|
156
156
|
}),
|
|
157
|
-
/* @__PURE__ */
|
|
157
|
+
/* @__PURE__ */ S(f, {
|
|
158
158
|
variant: W ? "default" : "outline",
|
|
159
159
|
size: "sm",
|
|
160
160
|
onClick: () => G((e) => !e),
|
|
161
161
|
children: "Verified only"
|
|
162
162
|
}),
|
|
163
|
-
$ && /* @__PURE__ */
|
|
163
|
+
$ && /* @__PURE__ */ S(f, {
|
|
164
164
|
variant: "ghost",
|
|
165
165
|
size: "sm",
|
|
166
166
|
onClick: () => {
|
|
@@ -171,12 +171,12 @@ function E() {
|
|
|
171
171
|
]
|
|
172
172
|
})]
|
|
173
173
|
}) }),
|
|
174
|
-
/* @__PURE__ */
|
|
174
|
+
/* @__PURE__ */ C("div", {
|
|
175
175
|
className: "grid grid-cols-1 lg:grid-cols-3 gap-6",
|
|
176
|
-
children: [/* @__PURE__ */
|
|
176
|
+
children: [/* @__PURE__ */ C("div", {
|
|
177
177
|
className: "lg:col-span-2 space-y-4",
|
|
178
178
|
children: [
|
|
179
|
-
/* @__PURE__ */
|
|
179
|
+
/* @__PURE__ */ C("h3", {
|
|
180
180
|
className: "font-semibold",
|
|
181
181
|
children: [
|
|
182
182
|
"Service Providers (",
|
|
@@ -184,20 +184,20 @@ function E() {
|
|
|
184
184
|
")"
|
|
185
185
|
]
|
|
186
186
|
}),
|
|
187
|
-
L && !F && /* @__PURE__ */
|
|
187
|
+
L && !F && /* @__PURE__ */ S(c, {
|
|
188
188
|
className: "border-status-error-border",
|
|
189
|
-
children: /* @__PURE__ */
|
|
189
|
+
children: /* @__PURE__ */ C(l, {
|
|
190
190
|
className: "p-6 text-center space-y-3",
|
|
191
191
|
children: [
|
|
192
|
-
/* @__PURE__ */
|
|
192
|
+
/* @__PURE__ */ S("p", {
|
|
193
193
|
className: "text-status-error-text font-medium",
|
|
194
194
|
children: "Couldn't load providers"
|
|
195
195
|
}),
|
|
196
|
-
/* @__PURE__ */
|
|
196
|
+
/* @__PURE__ */ S("p", {
|
|
197
197
|
className: "text-sm text-text-secondary",
|
|
198
198
|
children: L.message
|
|
199
199
|
}),
|
|
200
|
-
/* @__PURE__ */
|
|
200
|
+
/* @__PURE__ */ S(f, {
|
|
201
201
|
variant: "outline",
|
|
202
202
|
onClick: () => void X(),
|
|
203
203
|
children: "Retry"
|
|
@@ -205,10 +205,10 @@ function E() {
|
|
|
205
205
|
]
|
|
206
206
|
})
|
|
207
207
|
}),
|
|
208
|
-
F && Array.from({ length: 3 }).map((e, n) => /* @__PURE__ */
|
|
209
|
-
!F && !L && Z.length === 0 && /* @__PURE__ */
|
|
208
|
+
F && Array.from({ length: 3 }).map((e, n) => /* @__PURE__ */ S(t, { className: "h-32 w-full rounded-lg" }, n)),
|
|
209
|
+
!F && !L && Z.length === 0 && /* @__PURE__ */ S(c, { children: /* @__PURE__ */ S(l, {
|
|
210
210
|
className: "p-0",
|
|
211
|
-
children: /* @__PURE__ */
|
|
211
|
+
children: /* @__PURE__ */ S(w, {
|
|
212
212
|
illustration: N.trim() || $ ? "empty-search" : "empty-people",
|
|
213
213
|
title: N.trim() || $ ? "No providers match your filters" : "No providers yet",
|
|
214
214
|
description: N.trim() || $ ? "Adjust your search or filters to find logistics partners." : "Verified logistics service providers will appear here as they join the marketplace."
|
|
@@ -216,46 +216,46 @@ function E() {
|
|
|
216
216
|
}) }),
|
|
217
217
|
!F && !L && Z.map((e) => {
|
|
218
218
|
let t = xe === e.id, n = Ce(e.id);
|
|
219
|
-
return /* @__PURE__ */
|
|
219
|
+
return /* @__PURE__ */ C(c, { children: [/* @__PURE__ */ S("button", {
|
|
220
220
|
type: "button",
|
|
221
221
|
"aria-expanded": t,
|
|
222
222
|
className: "w-full text-left",
|
|
223
223
|
onClick: () => J(t ? null : e.id),
|
|
224
|
-
children: /* @__PURE__ */
|
|
224
|
+
children: /* @__PURE__ */ S(l, {
|
|
225
225
|
className: "p-6",
|
|
226
|
-
children: /* @__PURE__ */
|
|
226
|
+
children: /* @__PURE__ */ C("div", {
|
|
227
227
|
className: "flex items-start justify-between gap-3",
|
|
228
|
-
children: [/* @__PURE__ */
|
|
228
|
+
children: [/* @__PURE__ */ C("div", {
|
|
229
229
|
className: "min-w-0",
|
|
230
230
|
children: [
|
|
231
|
-
/* @__PURE__ */
|
|
231
|
+
/* @__PURE__ */ C("div", {
|
|
232
232
|
className: "flex items-center gap-2 flex-wrap",
|
|
233
233
|
children: [
|
|
234
|
-
/* @__PURE__ */
|
|
234
|
+
/* @__PURE__ */ S("h4", {
|
|
235
235
|
className: "font-semibold text-lg",
|
|
236
236
|
children: e.name
|
|
237
237
|
}),
|
|
238
|
-
e.isVerified && /* @__PURE__ */
|
|
238
|
+
e.isVerified && /* @__PURE__ */ S(d, {
|
|
239
239
|
variant: "default",
|
|
240
240
|
children: "Verified"
|
|
241
241
|
}),
|
|
242
|
-
/* @__PURE__ */
|
|
242
|
+
/* @__PURE__ */ S(d, {
|
|
243
243
|
variant: e.isActive ? "default" : "secondary",
|
|
244
244
|
children: e.isActive ? "active" : "inactive"
|
|
245
245
|
})
|
|
246
246
|
]
|
|
247
247
|
}),
|
|
248
|
-
/* @__PURE__ */
|
|
248
|
+
/* @__PURE__ */ S("p", {
|
|
249
249
|
className: "text-text-secondary mt-1",
|
|
250
250
|
children: e.description
|
|
251
251
|
}),
|
|
252
|
-
/* @__PURE__ */
|
|
252
|
+
/* @__PURE__ */ C("div", {
|
|
253
253
|
className: "flex items-center gap-4 mt-3 text-sm text-text-secondary",
|
|
254
254
|
children: [
|
|
255
|
-
/* @__PURE__ */
|
|
255
|
+
/* @__PURE__ */ C("span", {
|
|
256
256
|
className: "flex items-center gap-1",
|
|
257
257
|
children: [
|
|
258
|
-
/* @__PURE__ */
|
|
258
|
+
/* @__PURE__ */ S(se, {
|
|
259
259
|
size: 14,
|
|
260
260
|
className: "text-status-warning-text fill-current"
|
|
261
261
|
}),
|
|
@@ -263,65 +263,65 @@ function E() {
|
|
|
263
263
|
e.rating ?? 0
|
|
264
264
|
]
|
|
265
265
|
}),
|
|
266
|
-
/* @__PURE__ */
|
|
266
|
+
/* @__PURE__ */ C("span", {
|
|
267
267
|
className: "flex items-center gap-1",
|
|
268
268
|
children: [
|
|
269
|
-
/* @__PURE__ */
|
|
269
|
+
/* @__PURE__ */ S(ae, { size: 14 }),
|
|
270
270
|
" ",
|
|
271
271
|
e.type
|
|
272
272
|
]
|
|
273
273
|
}),
|
|
274
|
-
/* @__PURE__ */
|
|
274
|
+
/* @__PURE__ */ C("span", {
|
|
275
275
|
className: "flex items-center gap-1",
|
|
276
|
-
children: [/* @__PURE__ */
|
|
276
|
+
children: [/* @__PURE__ */ S(h, { size: 14 }), " Listed"]
|
|
277
277
|
})
|
|
278
278
|
]
|
|
279
279
|
})
|
|
280
280
|
]
|
|
281
|
-
}), /* @__PURE__ */
|
|
281
|
+
}), /* @__PURE__ */ C("div", {
|
|
282
282
|
className: "text-right shrink-0",
|
|
283
283
|
children: [
|
|
284
|
-
/* @__PURE__ */
|
|
284
|
+
/* @__PURE__ */ S("p", {
|
|
285
285
|
className: "text-sm text-text-secondary",
|
|
286
286
|
children: "Services"
|
|
287
287
|
}),
|
|
288
|
-
/* @__PURE__ */
|
|
288
|
+
/* @__PURE__ */ S("p", {
|
|
289
289
|
className: "text-lg font-bold",
|
|
290
290
|
children: n.length
|
|
291
291
|
}),
|
|
292
|
-
/* @__PURE__ */
|
|
292
|
+
/* @__PURE__ */ S("span", {
|
|
293
293
|
className: "mt-1 inline-flex items-center gap-1 text-xs text-primary",
|
|
294
|
-
children: t ? /* @__PURE__ */
|
|
294
|
+
children: t ? /* @__PURE__ */ C(x, { children: ["Hide ", /* @__PURE__ */ S(fe, { size: 14 })] }) : /* @__PURE__ */ C(x, { children: ["View ", /* @__PURE__ */ S(de, { size: 14 })] })
|
|
295
295
|
})
|
|
296
296
|
]
|
|
297
297
|
})]
|
|
298
298
|
})
|
|
299
299
|
})
|
|
300
|
-
}), t && /* @__PURE__ */
|
|
300
|
+
}), t && /* @__PURE__ */ C("div", {
|
|
301
301
|
className: "border-t border-border-seam px-6 py-4 space-y-3",
|
|
302
|
-
children: [/* @__PURE__ */
|
|
302
|
+
children: [/* @__PURE__ */ C("p", {
|
|
303
303
|
className: "text-sm font-medium text-text-secondary",
|
|
304
304
|
children: ["Offerings from ", e.name]
|
|
305
|
-
}), n.length === 0 ? /* @__PURE__ */
|
|
305
|
+
}), n.length === 0 ? /* @__PURE__ */ S("p", {
|
|
306
306
|
className: "text-sm text-text-secondary",
|
|
307
307
|
children: "This provider hasn't listed any offerings yet."
|
|
308
|
-
}) : n.map((e) => /* @__PURE__ */
|
|
308
|
+
}) : n.map((e) => /* @__PURE__ */ C("div", {
|
|
309
309
|
className: "flex items-center justify-between gap-3 rounded-lg border border-border-seam p-3",
|
|
310
|
-
children: [/* @__PURE__ */
|
|
310
|
+
children: [/* @__PURE__ */ C("div", {
|
|
311
311
|
className: "min-w-0",
|
|
312
|
-
children: [/* @__PURE__ */
|
|
312
|
+
children: [/* @__PURE__ */ S("p", {
|
|
313
313
|
className: "font-medium truncate",
|
|
314
314
|
children: e.name
|
|
315
|
-
}), /* @__PURE__ */
|
|
315
|
+
}), /* @__PURE__ */ S("p", {
|
|
316
316
|
className: "text-sm text-text-secondary truncate",
|
|
317
317
|
children: e.category ?? "general"
|
|
318
318
|
})]
|
|
319
|
-
}), /* @__PURE__ */
|
|
319
|
+
}), /* @__PURE__ */ C("div", {
|
|
320
320
|
className: "text-right shrink-0",
|
|
321
|
-
children: [/* @__PURE__ */
|
|
321
|
+
children: [/* @__PURE__ */ S("p", {
|
|
322
322
|
className: "font-bold",
|
|
323
|
-
children:
|
|
324
|
-
}), /* @__PURE__ */
|
|
323
|
+
children: _(e.price)
|
|
324
|
+
}), /* @__PURE__ */ S("p", {
|
|
325
325
|
className: "text-xs text-text-secondary",
|
|
326
326
|
children: e.currency
|
|
327
327
|
})]
|
|
@@ -329,9 +329,9 @@ function E() {
|
|
|
329
329
|
}, e.id))]
|
|
330
330
|
})] }, e.id);
|
|
331
331
|
}),
|
|
332
|
-
!F && !L && (j.length > 0 || z > 0) && /* @__PURE__ */
|
|
332
|
+
!F && !L && (j.length > 0 || z > 0) && /* @__PURE__ */ C("div", {
|
|
333
333
|
className: "flex flex-wrap items-center justify-between gap-3 pt-1",
|
|
334
|
-
children: [/* @__PURE__ */
|
|
334
|
+
children: [/* @__PURE__ */ C("span", {
|
|
335
335
|
className: "text-sm text-text-secondary",
|
|
336
336
|
children: [
|
|
337
337
|
"Showing ",
|
|
@@ -340,10 +340,10 @@ function E() {
|
|
|
340
340
|
" ",
|
|
341
341
|
z * T + j.length
|
|
342
342
|
]
|
|
343
|
-
}), /* @__PURE__ */
|
|
343
|
+
}), /* @__PURE__ */ C("div", {
|
|
344
344
|
className: "flex items-center gap-1",
|
|
345
345
|
children: [
|
|
346
|
-
/* @__PURE__ */
|
|
346
|
+
/* @__PURE__ */ S(f, {
|
|
347
347
|
variant: "outline",
|
|
348
348
|
size: "icon",
|
|
349
349
|
className: "h-8 w-8",
|
|
@@ -352,13 +352,13 @@ function E() {
|
|
|
352
352
|
J(null), B((e) => Math.max(0, e - 1));
|
|
353
353
|
},
|
|
354
354
|
disabled: z === 0,
|
|
355
|
-
children: /* @__PURE__ */
|
|
355
|
+
children: /* @__PURE__ */ S(re, { className: "h-4 w-4" })
|
|
356
356
|
}),
|
|
357
|
-
/* @__PURE__ */
|
|
357
|
+
/* @__PURE__ */ C("span", {
|
|
358
358
|
className: "px-3 text-sm",
|
|
359
359
|
children: ["Page ", z + 1]
|
|
360
360
|
}),
|
|
361
|
-
/* @__PURE__ */
|
|
361
|
+
/* @__PURE__ */ S(f, {
|
|
362
362
|
variant: "outline",
|
|
363
363
|
size: "icon",
|
|
364
364
|
className: "h-8 w-8",
|
|
@@ -367,50 +367,50 @@ function E() {
|
|
|
367
367
|
J(null), B((e) => e + 1);
|
|
368
368
|
},
|
|
369
369
|
disabled: !ve,
|
|
370
|
-
children: /* @__PURE__ */
|
|
370
|
+
children: /* @__PURE__ */ S(m, { className: "h-4 w-4" })
|
|
371
371
|
})
|
|
372
372
|
]
|
|
373
373
|
})]
|
|
374
374
|
})
|
|
375
375
|
]
|
|
376
|
-
}), /* @__PURE__ */
|
|
376
|
+
}), /* @__PURE__ */ C(le, {
|
|
377
377
|
className: "space-y-4",
|
|
378
378
|
children: [
|
|
379
|
-
/* @__PURE__ */
|
|
379
|
+
/* @__PURE__ */ S("h3", {
|
|
380
380
|
className: "text-base font-semibold text-text-primary",
|
|
381
381
|
children: "Popular Services"
|
|
382
382
|
}),
|
|
383
|
-
Q.length === 0 && /* @__PURE__ */
|
|
383
|
+
Q.length === 0 && /* @__PURE__ */ S(w, {
|
|
384
384
|
illustration: N.trim() ? "empty-search" : "empty-generic",
|
|
385
385
|
title: N.trim() ? "No matching services" : "No services listed yet",
|
|
386
386
|
description: N.trim() ? "Adjust your search to discover service offerings." : "Service offerings from providers will be listed here."
|
|
387
387
|
}),
|
|
388
|
-
Q.map((e) => /* @__PURE__ */
|
|
388
|
+
Q.map((e) => /* @__PURE__ */ C(c, { children: [/* @__PURE__ */ S(u, { children: /* @__PURE__ */ S(ee, {
|
|
389
389
|
className: "text-base",
|
|
390
390
|
children: e.name
|
|
391
|
-
}) }), /* @__PURE__ */
|
|
392
|
-
/* @__PURE__ */
|
|
391
|
+
}) }), /* @__PURE__ */ C(l, { children: [
|
|
392
|
+
/* @__PURE__ */ S("p", {
|
|
393
393
|
className: "text-sm text-text-secondary mb-3",
|
|
394
394
|
children: e.description
|
|
395
395
|
}),
|
|
396
|
-
/* @__PURE__ */
|
|
396
|
+
/* @__PURE__ */ C("div", {
|
|
397
397
|
className: "flex flex-wrap gap-1 mb-3",
|
|
398
|
-
children: [/* @__PURE__ */
|
|
398
|
+
children: [/* @__PURE__ */ S(d, {
|
|
399
399
|
variant: "outline",
|
|
400
400
|
className: "text-xs",
|
|
401
401
|
children: e.category ?? "general"
|
|
402
|
-
}), /* @__PURE__ */
|
|
402
|
+
}), /* @__PURE__ */ S(d, {
|
|
403
403
|
variant: "outline",
|
|
404
404
|
className: "text-xs",
|
|
405
405
|
children: e.provider?.name ?? "provider"
|
|
406
406
|
})]
|
|
407
407
|
}),
|
|
408
|
-
/* @__PURE__ */
|
|
408
|
+
/* @__PURE__ */ C("div", {
|
|
409
409
|
className: "flex items-center justify-between",
|
|
410
|
-
children: [/* @__PURE__ */
|
|
410
|
+
children: [/* @__PURE__ */ S("span", {
|
|
411
411
|
className: "font-bold",
|
|
412
|
-
children:
|
|
413
|
-
}), /* @__PURE__ */
|
|
412
|
+
children: _(e.price)
|
|
413
|
+
}), /* @__PURE__ */ S("span", {
|
|
414
414
|
className: "text-sm text-text-secondary",
|
|
415
415
|
children: e.currency
|
|
416
416
|
})]
|