@burdenoff/microfe-movethewheels 2026.1026.1 → 2026.1026.3
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/MoveTheWheelsRoot.js +126 -159
- package/dist/MoveTheWheelsRoutes.js +16 -32
- package/dist/components/CustomerPicker.js +2 -2
- package/dist/hooks/index.js +0 -3
- package/dist/index.js +27 -30
- package/dist/movethewheels/hooks/index.d.ts +0 -3
- package/dist/pages/CreateOrderPage.js +1 -1
- package/package.json +1 -1
- package/src/movethewheels/MoveTheWheelsRoot.tsx +2 -46
- package/src/movethewheels/MoveTheWheelsRoutes.tsx +0 -16
- package/src/movethewheels/components/CustomerPicker.tsx +2 -2
- package/src/movethewheels/hooks/index.ts +0 -9
- package/src/movethewheels/pages/CreateOrderPage.tsx +1 -1
- package/dist/hooks/useImportExport.js +0 -27
- package/dist/hooks/useReports.js +0 -75
- package/dist/hooks/useSettings.js +0 -67
- package/dist/movethewheels/hooks/useImportExport.d.ts +0 -23
- package/dist/movethewheels/hooks/useReports.d.ts +0 -39
- package/dist/movethewheels/hooks/useSettings.d.ts +0 -17
- package/dist/movethewheels/pages/ImportExportPage.d.ts +0 -8
- package/dist/movethewheels/pages/MarketplacePage.d.ts +0 -12
- package/dist/movethewheels/pages/ReportsPage.d.ts +0 -8
- package/dist/movethewheels/pages/SettingsPage.d.ts +0 -8
- package/dist/node_modules/lucide-react/dist/esm/icons/bell.js +0 -11
- package/dist/node_modules/lucide-react/dist/esm/icons/file-chart-column-increasing.js +0 -26
- package/dist/node_modules/lucide-react/dist/esm/icons/file-spreadsheet.js +0 -30
- package/dist/node_modules/lucide-react/dist/esm/icons/globe.js +0 -20
- package/dist/node_modules/lucide-react/dist/esm/icons/settings.js +0 -13
- package/dist/node_modules/lucide-react/dist/esm/icons/shield.js +0 -8
- package/dist/node_modules/lucide-react/dist/esm/icons/store.js +0 -26
- package/dist/node_modules/lucide-react/dist/esm/icons/webhook.js +0 -18
- package/dist/pages/ImportExportPage.js +0 -245
- package/dist/pages/MarketplacePage.js +0 -23
- package/dist/pages/ReportsPage.js +0 -328
- package/dist/pages/SettingsPage.js +0 -404
- package/dist/utils/download.js +0 -22
- package/src/movethewheels/hooks/useImportExport.ts +0 -65
- package/src/movethewheels/hooks/useReports.ts +0 -154
- package/src/movethewheels/hooks/useSettings.ts +0 -124
- package/src/movethewheels/pages/ImportExportPage.tsx +0 -288
- package/src/movethewheels/pages/MarketplacePage.tsx +0 -36
- package/src/movethewheels/pages/ReportsPage.tsx +0 -379
- package/src/movethewheels/pages/SettingsPage.tsx +0 -548
- package/src/operations/wspace/movethewheels/fragments/core.withdrawn.graphql +0 -59
- package/src/operations/wspace/movethewheels/mutations/marketplace-reports.withdrawn.graphql +0 -93
- package/src/operations/wspace/movethewheels/queries/marketplace-reports.withdrawn.graphql +0 -58
package/dist/index.js
CHANGED
|
@@ -7,35 +7,32 @@ import { useInventory as _, useInventoryStats as v, useInventoryTransactions as
|
|
|
7
7
|
import { useCustomer as E, useCustomerStats as D, useCustomers as O } from "./hooks/useCustomers.js";
|
|
8
8
|
import { useAnalytics as k, useDashboardMetrics as A, useEmissionsSummary as j, useFinanceMetrics as M, useFleetAnalytics as N, useOrderAnalytics as P, usePerformanceAnalytics as F, useRevenueAnalytics as I } from "./hooks/useAnalytics.js";
|
|
9
9
|
import { useDriverTracking as L, useGeofence as R, useLiveTracking as z, useOrderTracking as B, useTracking as V, useTrackingAlerts as H, useVehicleTracking as U } from "./hooks/useTracking.js";
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import { useModuleSettings as K } from "./hooks/useSettings.js";
|
|
13
|
-
import { useEntityDocuments as q } from "./hooks/useEntityDocuments.js";
|
|
14
|
-
import { useCaptureEpod as J, useEpod as Y, useEpodPhotoUpload as X, useEpodPhotoUrl as Z, useMyPendingEpodDeliveryJobs as Q } from "./hooks/useEpod.js";
|
|
10
|
+
import { useEntityDocuments as W } from "./hooks/useEntityDocuments.js";
|
|
11
|
+
import { useCaptureEpod as G, useEpod as K, useEpodPhotoUpload as q, useEpodPhotoUrl as J, useMyPendingEpodDeliveryJobs as Y } from "./hooks/useEpod.js";
|
|
15
12
|
import "./hooks/index.js";
|
|
16
|
-
import { MoveTheWheelsRoot as
|
|
17
|
-
import { useMoveTheWheelsStore as
|
|
18
|
-
import { useSandboxAssistantTransport as
|
|
19
|
-
import { Avatar as
|
|
20
|
-
import { EmptyState as
|
|
21
|
-
import { chartTokens as
|
|
22
|
-
import { Sparkline as
|
|
23
|
-
import { MetricCard as
|
|
24
|
-
import { GlassPanel as
|
|
25
|
-
import { ChartEmpty as
|
|
26
|
-
import { TrendChart as
|
|
27
|
-
import { VolumeBar as
|
|
28
|
-
import { StatusDonut as
|
|
29
|
-
import { createCurrentIcon as
|
|
30
|
-
import { MapCanvas as
|
|
31
|
-
import { LogisticsMap as
|
|
32
|
-
import { RouteMap as
|
|
33
|
-
import { TrackingMap as
|
|
34
|
-
import { PaymentStatusBadge as
|
|
35
|
-
import { DataTable as
|
|
36
|
-
import { FormError as
|
|
37
|
-
import { Notice as
|
|
38
|
-
import { DocumentsCard as
|
|
39
|
-
import { CarbonFootprintPanel as
|
|
13
|
+
import { MoveTheWheelsRoot as X } from "./MoveTheWheelsRoot.js";
|
|
14
|
+
import { useMoveTheWheelsStore as Z } from "./store/movethewheelsStore.js";
|
|
15
|
+
import { useSandboxAssistantTransport as Q } from "./services/createSandboxAssistantTransport.js";
|
|
16
|
+
import { Avatar as $, AvatarFallback as ee, AvatarImage as te, Badge as ne, Button as re, Card as ie, CardContent as ae, CardDescription as oe, CardFooter as se, CardHeader as ce, CardTitle as le, Checkbox as ue, Command as de, CommandEmpty as fe, CommandGroup as pe, CommandInput as me, CommandItem as he, CommandList as ge, Dialog as _e, DialogContent as ve, DialogDescription as ye, DialogFooter as be, DialogHeader as xe, DialogTitle as Se, DialogTrigger as Ce, DropdownMenu as we, DropdownMenuContent as Te, DropdownMenuItem as Ee, DropdownMenuSeparator as De, DropdownMenuTrigger as Oe, Input as ke, Label as Ae, Popover as je, PopoverContent as Me, PopoverTrigger as Ne, Progress as Pe, ScrollArea as Fe, Select as Ie, SelectContent as Le, SelectItem as Re, SelectTrigger as ze, SelectValue as Be, Separator as Ve, Skeleton as He, Switch as Ue, Table as We, TableBody as Ge, TableCell as Ke, TableHead as qe, TableHeader as Je, TableRow as Ye, Tabs as Xe, TabsContent as Ze, TabsList as Qe, TabsTrigger as $e, Textarea as et, Tooltip as tt, TooltipContent as nt, TooltipProvider as rt, TooltipTrigger as it } from "./components/ui.js";
|
|
17
|
+
import { EmptyState as at, ErrorState as ot, LoadingState as st, PageLayout as ct, PageSection as lt } from "./components/PageLayout.js";
|
|
18
|
+
import { chartTokens as ut, seriesColor as dt } from "./components/charts/chartTokens.js";
|
|
19
|
+
import { Sparkline as ft } from "./components/charts/Sparkline.js";
|
|
20
|
+
import { MetricCard as pt, MetricCardSkeleton as mt, MetricGrid as ht } from "./components/MetricCard.js";
|
|
21
|
+
import { GlassPanel as gt } from "./components/GlassPanel.js";
|
|
22
|
+
import { ChartEmpty as _t, ChartTooltip as vt } from "./components/charts/ChartShell.js";
|
|
23
|
+
import { TrendChart as yt } from "./components/charts/TrendChart.js";
|
|
24
|
+
import { VolumeBar as bt } from "./components/charts/VolumeBar.js";
|
|
25
|
+
import { StatusDonut as xt } from "./components/charts/StatusDonut.js";
|
|
26
|
+
import { createCurrentIcon as St, createPinIcon as Ct, createStopIcon as wt, isRealCoord as Tt } from "./components/maps/leaflet-setup.js";
|
|
27
|
+
import { MapCanvas as Et } from "./components/maps/MapCanvas.js";
|
|
28
|
+
import { LogisticsMap as Dt } from "./components/maps/LogisticsMap.js";
|
|
29
|
+
import { RouteMap as Ot } from "./components/maps/RouteMap.js";
|
|
30
|
+
import { TrackingMap as kt } from "./components/maps/TrackingMap.js";
|
|
31
|
+
import { PaymentStatusBadge as At, PriorityBadge as jt, StatusBadge as Mt, TypeBadge as Nt, VehicleTypeBadge as Pt } from "./components/StatusBadge.js";
|
|
32
|
+
import { DataTable as Ft } from "./components/DataTable.js";
|
|
33
|
+
import { FormError as It } from "./components/FormError.js";
|
|
34
|
+
import { Notice as Lt, useNotice as Rt } from "./components/Notice.js";
|
|
35
|
+
import { DocumentsCard as zt } from "./components/DocumentsCard.js";
|
|
36
|
+
import { CarbonFootprintPanel as Bt } from "./components/CarbonFootprintPanel.js";
|
|
40
37
|
import "./components/index.js";
|
|
41
|
-
export {
|
|
38
|
+
export { $ as Avatar, ee as AvatarFallback, te as AvatarImage, ne as Badge, re as Button, Bt as CarbonFootprintPanel, ie as Card, ae as CardContent, oe as CardDescription, se as CardFooter, ce as CardHeader, le as CardTitle, _t as ChartEmpty, vt as ChartTooltip, ue as Checkbox, de as Command, fe as CommandEmpty, pe as CommandGroup, me as CommandInput, he as CommandItem, ge as CommandList, Ft as DataTable, _e as Dialog, ve as DialogContent, ye as DialogDescription, be as DialogFooter, xe as DialogHeader, Se as DialogTitle, Ce as DialogTrigger, zt as DocumentsCard, we as DropdownMenu, Te as DropdownMenuContent, Ee as DropdownMenuItem, De as DropdownMenuSeparator, Oe as DropdownMenuTrigger, at as EmptyState, ot as ErrorState, It as FormError, gt as GlassPanel, ke as Input, Ae as Label, st as LoadingState, Dt as LogisticsMap, Et as MapCanvas, pt as MetricCard, mt as MetricCardSkeleton, ht as MetricGrid, X as MoveTheWheelsRoot, Lt as Notice, ct as PageLayout, lt as PageSection, At as PaymentStatusBadge, je as Popover, Me as PopoverContent, Ne as PopoverTrigger, jt as PriorityBadge, Pe as Progress, Ot as RouteMap, Fe as ScrollArea, Ie as Select, Le as SelectContent, Re as SelectItem, ze as SelectTrigger, Be as SelectValue, Ve as Separator, He as Skeleton, ft as Sparkline, Mt as StatusBadge, xt as StatusDonut, Ue as Switch, We as Table, Ge as TableBody, Ke as TableCell, qe as TableHead, Je as TableHeader, Ye as TableRow, Xe as Tabs, Ze as TabsContent, Qe as TabsList, $e as TabsTrigger, et as Textarea, tt as Tooltip, nt as TooltipContent, rt as TooltipProvider, it as TooltipTrigger, kt as TrackingMap, yt as TrendChart, Nt as TypeBadge, Pt as VehicleTypeBadge, bt as VolumeBar, ut as chartTokens, St as createCurrentIcon, Ct as createPinIcon, wt as createStopIcon, Tt as isRealCoord, dt as seriesColor, k as useAnalytics, G as useCaptureEpod, E as useCustomer, D as useCustomerStats, O as useCustomers, A as useDashboardMetrics, l as useDriver, u as useDriverStatusCounts, L as useDriverTracking, d as useDrivers, j as useEmissionsSummary, W as useEntityDocuments, K as useEpod, q as useEpodPhotoUpload, J as useEpodPhotoUrl, M as useFinanceMetrics, f as useFleet, N as useFleetAnalytics, p as useFleetStats, R as useGeofence, _ as useInventory, v as useInventoryStats, y as useInventoryTransactions, z as useLiveTracking, e as useMoveTheWheels, t as useMoveTheWheelsNavigate, Z as useMoveTheWheelsStore, Y as useMyPendingEpodDeliveryJobs, Rt as useNotice, o as useOrder, P as useOrderAnalytics, s as useOrderStats, B as useOrderTracking, c as useOrders, F as usePerformanceAnalytics, b as useProduct, x as useProductStockLevels, S as useProducts, I as useRevenueAnalytics, r as useRoute, i as useRouteStats, a as useRoutes, Q as useSandboxAssistantTransport, C as useStockActions, n as useTr, V as useTracking, H as useTrackingAlerts, m as useVehicle, h as useVehicleDrivers, U as useVehicleTracking, g as useVehicles, w as useWarehouse, T as useWarehouses };
|
|
@@ -11,8 +11,5 @@ export { useCustomers, useCustomer, useCustomerStats } from './useCustomers';
|
|
|
11
11
|
export { useRoutes, useRoute, useRouteStats } from './useRoutes';
|
|
12
12
|
export { useAnalytics, useDashboardMetrics, useRevenueAnalytics, useOrderAnalytics, useFleetAnalytics, usePerformanceAnalytics, useFinanceMetrics, type FinanceMetrics, useEmissionsSummary, type EmissionsSummary, } from './useAnalytics';
|
|
13
13
|
export { useTracking, useOrderTracking, useVehicleTracking, useDriverTracking, useLiveTracking, useTrackingAlerts, useGeofence, } from './useTracking';
|
|
14
|
-
export { useReports } from './useReports';
|
|
15
|
-
export { useImportExport } from './useImportExport';
|
|
16
|
-
export { useModuleSettings } from './useSettings';
|
|
17
14
|
export { useEntityDocuments, type EntityDocument, type EntityDocumentType, } from './useEntityDocuments';
|
|
18
15
|
export { useEpod, useMyPendingEpodDeliveryJobs, useCaptureEpod, useEpodPhotoUpload, useEpodPhotoUrl, type PendingEpodDeliveryJob, type CaptureEpodArgs, type UploadedEpodPhoto, } from './useEpod';
|
package/package.json
CHANGED
|
@@ -16,19 +16,15 @@ import {
|
|
|
16
16
|
Warehouse,
|
|
17
17
|
Route,
|
|
18
18
|
BarChart3,
|
|
19
|
-
Settings,
|
|
20
|
-
Store,
|
|
21
19
|
Car,
|
|
22
20
|
UserCheck,
|
|
23
21
|
Boxes,
|
|
24
22
|
ClipboardList,
|
|
25
|
-
FileText,
|
|
26
23
|
DollarSign,
|
|
27
|
-
Globe,
|
|
28
24
|
Bot,
|
|
29
25
|
} from 'lucide-react';
|
|
30
26
|
import { MoveTheWheelsProvider } from './providers/MoveTheWheelsProvider';
|
|
31
|
-
import { FeatureFlagProvider
|
|
27
|
+
import { FeatureFlagProvider } from '@burdenoff/fe-libs/shared/feature-flags';
|
|
32
28
|
import type { NavItem, MoveTheWheelsRootProps } from './types';
|
|
33
29
|
import { MoveTheWheelsRoutes } from './MoveTheWheelsRoutes';
|
|
34
30
|
import { useTr } from './hooks';
|
|
@@ -47,12 +43,6 @@ const NavRegistrar: FC<Pick<MoveTheWheelsRootProps, 'registerNavItems' | 'basePa
|
|
|
47
43
|
}) => {
|
|
48
44
|
const tr = useTr();
|
|
49
45
|
|
|
50
|
-
// The backend has no ServiceProvider/ServiceOffering model (dropped by
|
|
51
|
-
// migration 20260707000001_movethewheels_reuse_cleanup) — hide the
|
|
52
|
-
// Marketplace nav entry until a serviceProviders/serviceOfferings resolver
|
|
53
|
-
// ships. Defaults to disabled (fails closed).
|
|
54
|
-
const marketplaceEnabled = useFeatureFlag('movethewheels.marketplace', false);
|
|
55
|
-
|
|
56
46
|
// Helper to join paths correctly, avoiding double slashes
|
|
57
47
|
const joinPath = (base: string, path: string): string => {
|
|
58
48
|
const cleanBase = base.endsWith('/') ? base.slice(0, -1) : base;
|
|
@@ -292,33 +282,6 @@ const NavRegistrar: FC<Pick<MoveTheWheelsRootProps, 'registerNavItems' | 'basePa
|
|
|
292
282
|
},
|
|
293
283
|
],
|
|
294
284
|
},
|
|
295
|
-
// Hidden until a serviceProviders/serviceOfferings backend resolver
|
|
296
|
-
// ships — see the marketplaceEnabled flag check above.
|
|
297
|
-
...(marketplaceEnabled
|
|
298
|
-
? [
|
|
299
|
-
{
|
|
300
|
-
id: 'mtw-marketplace',
|
|
301
|
-
label: tr('movethewheels.root.nav.marketplace', 'Marketplace'),
|
|
302
|
-
path: joinPath(basePath, 'marketplace'),
|
|
303
|
-
icon: <Store size={16} />,
|
|
304
|
-
order: 10,
|
|
305
|
-
},
|
|
306
|
-
]
|
|
307
|
-
: []),
|
|
308
|
-
{
|
|
309
|
-
id: 'mtw-import-export',
|
|
310
|
-
label: tr('movethewheels.root.nav.importExport', 'Import/Export'),
|
|
311
|
-
path: joinPath(basePath, 'import-export'),
|
|
312
|
-
icon: <Globe size={16} />,
|
|
313
|
-
order: 11,
|
|
314
|
-
},
|
|
315
|
-
{
|
|
316
|
-
id: 'mtw-reports',
|
|
317
|
-
label: tr('movethewheels.root.nav.reports', 'Reports'),
|
|
318
|
-
path: joinPath(basePath, 'reports'),
|
|
319
|
-
icon: <FileText size={16} />,
|
|
320
|
-
order: 12,
|
|
321
|
-
},
|
|
322
285
|
{
|
|
323
286
|
id: 'mtw-ai-assistant',
|
|
324
287
|
label: tr('movethewheels.root.nav.aiAssistant', 'AI Assistant'),
|
|
@@ -326,13 +289,6 @@ const NavRegistrar: FC<Pick<MoveTheWheelsRootProps, 'registerNavItems' | 'basePa
|
|
|
326
289
|
icon: <Bot size={16} />,
|
|
327
290
|
order: 13,
|
|
328
291
|
},
|
|
329
|
-
{
|
|
330
|
-
id: 'mtw-settings',
|
|
331
|
-
label: tr('movethewheels.root.nav.settings', 'Settings'),
|
|
332
|
-
path: joinPath(basePath, 'settings'),
|
|
333
|
-
icon: <Settings size={16} />,
|
|
334
|
-
order: 99,
|
|
335
|
-
},
|
|
336
292
|
],
|
|
337
293
|
};
|
|
338
294
|
|
|
@@ -341,7 +297,7 @@ const NavRegistrar: FC<Pick<MoveTheWheelsRootProps, 'registerNavItems' | 'basePa
|
|
|
341
297
|
|
|
342
298
|
// Return cleanup function to unregister on unmount
|
|
343
299
|
return cleanup;
|
|
344
|
-
}, [registerNavItems, basePath,
|
|
300
|
+
}, [registerNavItems, basePath, tr]);
|
|
345
301
|
|
|
346
302
|
return null;
|
|
347
303
|
};
|
|
@@ -79,10 +79,6 @@ const FreightEstimatePage = lazy(() => import('./pages/FreightEstimatePage'));
|
|
|
79
79
|
const FreightInvoicePage = lazy(() => import('./pages/FreightInvoicePage'));
|
|
80
80
|
const ConsolidationPage = lazy(() => import('./pages/ConsolidationPage'));
|
|
81
81
|
const LogisticsProceduresPage = lazy(() => import('./pages/LogisticsProceduresPage'));
|
|
82
|
-
const MarketplacePage = lazy(() => import('./pages/MarketplacePage'));
|
|
83
|
-
const ImportExportPage = lazy(() => import('./pages/ImportExportPage'));
|
|
84
|
-
const ReportsPage = lazy(() => import('./pages/ReportsPage'));
|
|
85
|
-
const SettingsPage = lazy(() => import('./pages/SettingsPage'));
|
|
86
82
|
const AIAssistantPage = lazy(() => import('./pages/AIAssistantPage'));
|
|
87
83
|
const DeliveryCapturePage = lazy(() => import('./pages/DeliveryCapturePage'));
|
|
88
84
|
const MultiModalShipmentPage = lazy(() => import('./pages/MultiModalShipmentPage'));
|
|
@@ -176,21 +172,9 @@ export function MoveTheWheelsRoutes() {
|
|
|
176
172
|
<Route path="finance/freight-estimates" element={<FreightEstimatePage />} />
|
|
177
173
|
<Route path="finance/freight-invoice-comparisons" element={<FreightInvoicePage />} />
|
|
178
174
|
|
|
179
|
-
{/* Marketplace */}
|
|
180
|
-
<Route path="marketplace" element={<MarketplacePage />} />
|
|
181
|
-
|
|
182
|
-
{/* Import/Export */}
|
|
183
|
-
<Route path="import-export" element={<ImportExportPage />} />
|
|
184
|
-
|
|
185
|
-
{/* Reports */}
|
|
186
|
-
<Route path="reports" element={<ReportsPage />} />
|
|
187
|
-
|
|
188
175
|
{/* AI Assistant */}
|
|
189
176
|
<Route path="ai-assistant" element={<AIAssistantPage />} />
|
|
190
177
|
|
|
191
|
-
{/* Settings */}
|
|
192
|
-
<Route path="settings" element={<SettingsPage />} />
|
|
193
|
-
|
|
194
178
|
{/* Catch-all - friendly 404 */}
|
|
195
179
|
<Route path="*" element={<MoveTheWheelsNotFound />} />
|
|
196
180
|
</Routes>
|
|
@@ -125,8 +125,8 @@ export function CustomerPicker({
|
|
|
125
125
|
};
|
|
126
126
|
|
|
127
127
|
return (
|
|
128
|
-
<div className="space-y-2">
|
|
129
|
-
<div className="flex items-center justify-between gap-2">
|
|
128
|
+
<div className="min-w-0 space-y-2">
|
|
129
|
+
<div className="flex flex-wrap items-center justify-between gap-2">
|
|
130
130
|
<Label htmlFor="customer">Customer</Label>
|
|
131
131
|
<Button
|
|
132
132
|
type="button"
|
|
@@ -73,15 +73,6 @@ export {
|
|
|
73
73
|
useGeofence,
|
|
74
74
|
} from './useTracking';
|
|
75
75
|
|
|
76
|
-
// Reports
|
|
77
|
-
export { useReports } from './useReports';
|
|
78
|
-
|
|
79
|
-
// Import / Export
|
|
80
|
-
export { useImportExport } from './useImportExport';
|
|
81
|
-
|
|
82
|
-
// Module settings
|
|
83
|
-
export { useModuleSettings } from './useSettings';
|
|
84
|
-
|
|
85
76
|
// Entity documents (reuse of wspace-files-svc)
|
|
86
77
|
export {
|
|
87
78
|
useEntityDocuments,
|
|
@@ -535,7 +535,7 @@ export default function CreateOrderPage() {
|
|
|
535
535
|
onLoadMore={loadMoreCustomers}
|
|
536
536
|
isLoadingMore={customersLoadingMore}
|
|
537
537
|
/>
|
|
538
|
-
<div className="space-y-2">
|
|
538
|
+
<div className="min-w-0 space-y-2">
|
|
539
539
|
<Label htmlFor="priority">Priority</Label>
|
|
540
540
|
<Select
|
|
541
541
|
value={formData.priority}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { useCallback as e, useState as t } from "react";
|
|
2
|
-
//#region src/movethewheels/hooks/useImportExport.ts
|
|
3
|
-
function n() {
|
|
4
|
-
let [n, r] = t(!1), [i, a] = t(null), o = e(async (e) => {
|
|
5
|
-
r(!0), a(null);
|
|
6
|
-
try {
|
|
7
|
-
return await e();
|
|
8
|
-
} catch (e) {
|
|
9
|
-
let t = e instanceof Error ? e : /* @__PURE__ */ Error("Import/export failed");
|
|
10
|
-
throw a(t), t;
|
|
11
|
-
} finally {
|
|
12
|
-
r(!1);
|
|
13
|
-
}
|
|
14
|
-
}, []);
|
|
15
|
-
return {
|
|
16
|
-
exportData: e(async (e, t) => o(async () => {
|
|
17
|
-
throw Error(`Export for "${e}" is not available: the import/export surface was withdrawn from the service.`);
|
|
18
|
-
}), [o]),
|
|
19
|
-
importData: e(async (e, t) => o(async () => {
|
|
20
|
-
throw Error(`Import for "${e}" is not available: the import surface was withdrawn from the service.`);
|
|
21
|
-
}), [o]),
|
|
22
|
-
isBusy: n,
|
|
23
|
-
error: i
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
//#endregion
|
|
27
|
-
export { n as useImportExport };
|
package/dist/hooks/useReports.js
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { useMoveTheWheels as e } from "../providers/MoveTheWheelsProvider.js";
|
|
2
|
-
import { useCallback as t, useEffect as n, useState as r } from "react";
|
|
3
|
-
//#region src/movethewheels/hooks/useReports.ts
|
|
4
|
-
function i() {
|
|
5
|
-
return typeof crypto < "u" && "randomUUID" in crypto ? crypto.randomUUID() : `${Date.now()}-${Math.random().toString(36).slice(2)}`;
|
|
6
|
-
}
|
|
7
|
-
function a(e) {
|
|
8
|
-
return `movethewheels:reports:${e ?? "default"}`;
|
|
9
|
-
}
|
|
10
|
-
function o(e) {
|
|
11
|
-
if (typeof window > "u") return [];
|
|
12
|
-
try {
|
|
13
|
-
let t = window.localStorage.getItem(a(e));
|
|
14
|
-
if (!t) return [];
|
|
15
|
-
let n = JSON.parse(t);
|
|
16
|
-
return Array.isArray(n) ? n : [];
|
|
17
|
-
} catch {
|
|
18
|
-
return [];
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
function s(e, t) {
|
|
22
|
-
if (!(typeof window > "u")) try {
|
|
23
|
-
window.localStorage.setItem(a(e), JSON.stringify(t));
|
|
24
|
-
} catch {}
|
|
25
|
-
}
|
|
26
|
-
function c(a = {}) {
|
|
27
|
-
let { limit: c = 100, offset: l = 0 } = a, { workspaceId: u } = e(), [d, f] = r([]), [p, m] = r(!1), [h, g] = r(!1), [_, v] = r(null), y = t(() => {
|
|
28
|
-
g(!0), v(null);
|
|
29
|
-
try {
|
|
30
|
-
let e = o(u).slice(l, l + c);
|
|
31
|
-
m(e.length === c), f(e);
|
|
32
|
-
} catch (e) {
|
|
33
|
-
v(e instanceof Error ? e : /* @__PURE__ */ Error("Failed to load reports"));
|
|
34
|
-
} finally {
|
|
35
|
-
g(!1);
|
|
36
|
-
}
|
|
37
|
-
}, [
|
|
38
|
-
u,
|
|
39
|
-
c,
|
|
40
|
-
l
|
|
41
|
-
]);
|
|
42
|
-
return n(() => {
|
|
43
|
-
y();
|
|
44
|
-
}, [y]), {
|
|
45
|
-
reports: d,
|
|
46
|
-
hasMore: p,
|
|
47
|
-
isLoading: h,
|
|
48
|
-
error: _,
|
|
49
|
-
refetch: t(() => {
|
|
50
|
-
y();
|
|
51
|
-
}, [y]),
|
|
52
|
-
createReport: t(async (e) => {
|
|
53
|
-
let t = (/* @__PURE__ */ new Date()).toISOString(), n = {
|
|
54
|
-
id: i(),
|
|
55
|
-
name: e.name,
|
|
56
|
-
description: e.description ?? null,
|
|
57
|
-
type: e.type,
|
|
58
|
-
status: e.status ?? "ready",
|
|
59
|
-
schedule: e.schedule ?? null,
|
|
60
|
-
lastGenerated: null,
|
|
61
|
-
createdAt: t,
|
|
62
|
-
updatedAt: t
|
|
63
|
-
};
|
|
64
|
-
return f((e) => {
|
|
65
|
-
let t = [n, ...e];
|
|
66
|
-
return s(u, t), t;
|
|
67
|
-
}), n;
|
|
68
|
-
}, [u]),
|
|
69
|
-
generateReport: t(async (e, t) => {
|
|
70
|
-
throw Error("Report generation is not available: the movethewheelsReports surface was withdrawn from the service.");
|
|
71
|
-
}, [])
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
//#endregion
|
|
75
|
-
export { c as useReports };
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { useMoveTheWheels as e } from "../providers/MoveTheWheelsProvider.js";
|
|
2
|
-
import { useCallback as t, useEffect as n, useMemo as r, useState as i } from "react";
|
|
3
|
-
//#region src/movethewheels/hooks/useSettings.ts
|
|
4
|
-
function a(e) {
|
|
5
|
-
if (typeof window > "u") return null;
|
|
6
|
-
try {
|
|
7
|
-
let t = window.localStorage.getItem(`movethewheels:moduleSettings:${e}`);
|
|
8
|
-
if (!t) return null;
|
|
9
|
-
let n = JSON.parse(t);
|
|
10
|
-
return n && typeof n == "object" && "preferences" in n ? n : null;
|
|
11
|
-
} catch {
|
|
12
|
-
return null;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
function o(e) {
|
|
16
|
-
if (!(typeof window > "u")) try {
|
|
17
|
-
window.localStorage.setItem(`movethewheels:moduleSettings:${e.workspaceId}`, JSON.stringify(e));
|
|
18
|
-
} catch {}
|
|
19
|
-
}
|
|
20
|
-
function s() {
|
|
21
|
-
let { workspaceId: s } = e(), [c, l] = i(null), [u, d] = i(!1), [f, p] = i(!1), [m, h] = i(null), g = t(() => {
|
|
22
|
-
d(!0), h(null);
|
|
23
|
-
try {
|
|
24
|
-
l((s ? a(s) : null) ?? {
|
|
25
|
-
preferences: {},
|
|
26
|
-
updatedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
27
|
-
workspaceId: s ?? ""
|
|
28
|
-
});
|
|
29
|
-
} catch (e) {
|
|
30
|
-
h(e instanceof Error ? e : /* @__PURE__ */ Error("Failed to load settings"));
|
|
31
|
-
} finally {
|
|
32
|
-
d(!1);
|
|
33
|
-
}
|
|
34
|
-
}, [s]);
|
|
35
|
-
n(() => {
|
|
36
|
-
g();
|
|
37
|
-
}, [g]);
|
|
38
|
-
let _ = t(() => {
|
|
39
|
-
g();
|
|
40
|
-
}, [g]), v = t(async (e) => {
|
|
41
|
-
p(!0), h(null);
|
|
42
|
-
try {
|
|
43
|
-
let t = {
|
|
44
|
-
preferences: e,
|
|
45
|
-
updatedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
46
|
-
workspaceId: s ?? ""
|
|
47
|
-
};
|
|
48
|
-
return o(t), l(t), t;
|
|
49
|
-
} catch (e) {
|
|
50
|
-
let t = e instanceof Error ? e : /* @__PURE__ */ Error("Failed to save settings");
|
|
51
|
-
throw h(t), t;
|
|
52
|
-
} finally {
|
|
53
|
-
p(!1);
|
|
54
|
-
}
|
|
55
|
-
}, [s]);
|
|
56
|
-
return {
|
|
57
|
-
settings: c,
|
|
58
|
-
preferences: r(() => c?.preferences ?? {}, [c]),
|
|
59
|
-
isLoading: u,
|
|
60
|
-
isSaving: f,
|
|
61
|
-
error: m,
|
|
62
|
-
refetch: _,
|
|
63
|
-
savePreferences: v
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
//#endregion
|
|
67
|
-
export { s as useModuleSettings };
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export interface ImportExportResult {
|
|
2
|
-
success: boolean;
|
|
3
|
-
message: string;
|
|
4
|
-
payload?: Record<string, unknown> | null;
|
|
5
|
-
}
|
|
6
|
-
interface UseImportExportResult {
|
|
7
|
-
exportData: (resource: string, format?: string) => Promise<ImportExportResult>;
|
|
8
|
-
importData: (resource: string, payload: Record<string, unknown>) => Promise<ImportExportResult>;
|
|
9
|
-
isBusy: boolean;
|
|
10
|
-
error: Error | null;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Import/export surface withdrawn from wspace-movethewheels-svc by migration
|
|
14
|
-
* 20260707000001_movethewheels_reuse_cleanup. The service now exposes
|
|
15
|
-
* `exportMtwEntities` (async job, returns MtwExportJob) but no import
|
|
16
|
-
* counterpart, so the old synchronous exportData/importData mutations are no
|
|
17
|
-
* longer resolvable. This hook keeps the same contract for consumers but
|
|
18
|
-
* rejects calls with a clear message until a replacement import/export flow is
|
|
19
|
-
* designed. The original operations are preserved in
|
|
20
|
-
* src/operations/wspace/movethewheels/mutations/marketplace-reports.withdrawn.graphql.
|
|
21
|
-
*/
|
|
22
|
-
export declare function useImportExport(): UseImportExportResult;
|
|
23
|
-
export {};
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
export interface MovethewheelsReport {
|
|
2
|
-
id: string;
|
|
3
|
-
name: string;
|
|
4
|
-
description?: string | null;
|
|
5
|
-
type: string;
|
|
6
|
-
status: string;
|
|
7
|
-
schedule?: string | null;
|
|
8
|
-
lastGenerated?: string | null;
|
|
9
|
-
createdAt: string;
|
|
10
|
-
updatedAt: string;
|
|
11
|
-
}
|
|
12
|
-
export interface GeneratedReport {
|
|
13
|
-
generatedAt: string;
|
|
14
|
-
result?: Record<string, unknown> | null;
|
|
15
|
-
report: MovethewheelsReport;
|
|
16
|
-
}
|
|
17
|
-
export interface CreateReportInput {
|
|
18
|
-
name: string;
|
|
19
|
-
type: string;
|
|
20
|
-
description?: string;
|
|
21
|
-
schedule?: string;
|
|
22
|
-
status?: string;
|
|
23
|
-
}
|
|
24
|
-
interface UseReportsOptions {
|
|
25
|
-
limit?: number;
|
|
26
|
-
offset?: number;
|
|
27
|
-
}
|
|
28
|
-
interface UseReportsResult {
|
|
29
|
-
reports: MovethewheelsReport[];
|
|
30
|
-
/** True when the last fetch returned a full page (rawCount === limit). */
|
|
31
|
-
hasMore: boolean;
|
|
32
|
-
isLoading: boolean;
|
|
33
|
-
error: Error | null;
|
|
34
|
-
refetch: () => void;
|
|
35
|
-
createReport: (input: CreateReportInput) => Promise<MovethewheelsReport>;
|
|
36
|
-
generateReport: (reportId: string, parameters?: Record<string, unknown>) => Promise<GeneratedReport>;
|
|
37
|
-
}
|
|
38
|
-
export declare function useReports(options?: UseReportsOptions): UseReportsResult;
|
|
39
|
-
export {};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export type ModulePreferences = Record<string, unknown>;
|
|
2
|
-
export interface ModuleSettings {
|
|
3
|
-
preferences: ModulePreferences;
|
|
4
|
-
updatedAt: string;
|
|
5
|
-
workspaceId: string;
|
|
6
|
-
}
|
|
7
|
-
interface UseModuleSettingsResult {
|
|
8
|
-
settings: ModuleSettings | null;
|
|
9
|
-
preferences: ModulePreferences;
|
|
10
|
-
isLoading: boolean;
|
|
11
|
-
isSaving: boolean;
|
|
12
|
-
error: Error | null;
|
|
13
|
-
refetch: () => void;
|
|
14
|
-
savePreferences: (preferences: ModulePreferences) => Promise<ModuleSettings>;
|
|
15
|
-
}
|
|
16
|
-
export declare function useModuleSettings(): UseModuleSettingsResult;
|
|
17
|
-
export {};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Import/Export Page
|
|
3
|
-
*
|
|
4
|
-
* Bulk data in/out wired to the backend exportData / importData mutations.
|
|
5
|
-
* Activity is session-local (reflects actions the operator actually ran) — no
|
|
6
|
-
* fabricated history is shown; the empty state renders until something happens.
|
|
7
|
-
*/
|
|
8
|
-
export default function ImportExportPage(): import('react').JSX.Element;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Marketplace Page
|
|
3
|
-
*
|
|
4
|
-
* The collaborative logistics marketplace (service providers / service offerings)
|
|
5
|
-
* was withdrawn from wspace-movethewheels-svc by migration
|
|
6
|
-
* 20260707000001_movethewheels_reuse_cleanup. The original query and mutation
|
|
7
|
-
* documents are preserved verbatim in
|
|
8
|
-
* src/operations/wspace/movethewheels/{queries,mutations}/marketplace-reports.withdrawn.graphql
|
|
9
|
-
* so they can be restored if the surface returns. Until then the page renders a
|
|
10
|
-
* static "coming soon" state.
|
|
11
|
-
*/
|
|
12
|
-
export default function MarketplacePage(): import('react').JSX.Element;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Reports Page
|
|
3
|
-
*
|
|
4
|
-
* Lists reports from the backend (movethewheelsReports) and lets operators
|
|
5
|
-
* create, schedule and generate them via the real mutations. Pre-launch
|
|
6
|
-
* workspaces start empty — no fabricated report history is shown.
|
|
7
|
-
*/
|
|
8
|
-
export default function ReportsPage(): import('react').JSX.Element;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Settings Page
|
|
3
|
-
*
|
|
4
|
-
* Loads persisted module settings (Query.moduleSettings.preferences) and saves
|
|
5
|
-
* changes via updateModuleSettings. Integrations read "Not configured" until a
|
|
6
|
-
* real connection is recorded — no fabricated "Connected" statuses.
|
|
7
|
-
*/
|
|
8
|
-
export default function SettingsPage(): import('react').JSX.Element;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { createLucideIcon as e } from "../createLucideIcon.js";
|
|
2
|
-
//#region node_modules/lucide-react/dist/esm/icons/bell.js
|
|
3
|
-
var t = e("Bell", [["path", {
|
|
4
|
-
d: "M10.268 21a2 2 0 0 0 3.464 0",
|
|
5
|
-
key: "vwvbt9"
|
|
6
|
-
}], ["path", {
|
|
7
|
-
d: "M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",
|
|
8
|
-
key: "11g9vi"
|
|
9
|
-
}]]);
|
|
10
|
-
//#endregion
|
|
11
|
-
export { t as Bell };
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { createLucideIcon as e } from "../createLucideIcon.js";
|
|
2
|
-
//#region node_modules/lucide-react/dist/esm/icons/file-chart-column-increasing.js
|
|
3
|
-
var t = e("FileChartColumnIncreasing", [
|
|
4
|
-
["path", {
|
|
5
|
-
d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",
|
|
6
|
-
key: "1rqfz7"
|
|
7
|
-
}],
|
|
8
|
-
["path", {
|
|
9
|
-
d: "M14 2v4a2 2 0 0 0 2 2h4",
|
|
10
|
-
key: "tnqrlb"
|
|
11
|
-
}],
|
|
12
|
-
["path", {
|
|
13
|
-
d: "M8 18v-2",
|
|
14
|
-
key: "qcmpov"
|
|
15
|
-
}],
|
|
16
|
-
["path", {
|
|
17
|
-
d: "M12 18v-4",
|
|
18
|
-
key: "q1q25u"
|
|
19
|
-
}],
|
|
20
|
-
["path", {
|
|
21
|
-
d: "M16 18v-6",
|
|
22
|
-
key: "15y0np"
|
|
23
|
-
}]
|
|
24
|
-
]);
|
|
25
|
-
//#endregion
|
|
26
|
-
export { t as FileChartColumnIncreasing };
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { createLucideIcon as e } from "../createLucideIcon.js";
|
|
2
|
-
//#region node_modules/lucide-react/dist/esm/icons/file-spreadsheet.js
|
|
3
|
-
var t = e("FileSpreadsheet", [
|
|
4
|
-
["path", {
|
|
5
|
-
d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",
|
|
6
|
-
key: "1rqfz7"
|
|
7
|
-
}],
|
|
8
|
-
["path", {
|
|
9
|
-
d: "M14 2v4a2 2 0 0 0 2 2h4",
|
|
10
|
-
key: "tnqrlb"
|
|
11
|
-
}],
|
|
12
|
-
["path", {
|
|
13
|
-
d: "M8 13h2",
|
|
14
|
-
key: "yr2amv"
|
|
15
|
-
}],
|
|
16
|
-
["path", {
|
|
17
|
-
d: "M14 13h2",
|
|
18
|
-
key: "un5t4a"
|
|
19
|
-
}],
|
|
20
|
-
["path", {
|
|
21
|
-
d: "M8 17h2",
|
|
22
|
-
key: "2yhykz"
|
|
23
|
-
}],
|
|
24
|
-
["path", {
|
|
25
|
-
d: "M14 17h2",
|
|
26
|
-
key: "10kma7"
|
|
27
|
-
}]
|
|
28
|
-
]);
|
|
29
|
-
//#endregion
|
|
30
|
-
export { t as FileSpreadsheet };
|