mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-09-01 17:03:27 +00:00
- WarehouseLoading entity + Batch3 migration (wagon loading records) - wagon-aware load() with validation; dispatch moved to PATCH - read-only SchedulingReadFacade (schedule/wagon/departure) — never writes scheduling - new endpoints: GET /warehouse-loadings, loadable-wagons, booking schedule - Loading Queue / Loaded Inventory / Dispatch Queue pages + routes + sidebar - FreightVisual illustrations (page heroes + empty states) - booking detail: loaded/dispatched/wagon + read-only train schedule Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
39 lines
1.3 KiB
TypeScript
39 lines
1.3 KiB
TypeScript
import { Card, Container, Stack } from '@mantine/core';
|
|
|
|
import Breadcrumbs from '@/components/ui/Breadcrumbs';
|
|
import { InventoryWorkbench, VisualEmptyState, WarehouseHero } from '@/components/warehouses';
|
|
import { useWarehouseInventory } from '@/hooks/useWarehouses';
|
|
|
|
/** Items that are LOADED and awaiting dispatch (train departure). */
|
|
export default function DispatchQueuePage() {
|
|
const { data, isLoading } = useWarehouseInventory({ status: 'LOADED' });
|
|
const items = data ?? [];
|
|
|
|
return (
|
|
<Container size="xxl" py="lg">
|
|
<Breadcrumbs items={[{ label: 'Dispatch queue' }]} />
|
|
|
|
<Stack gap="lg" mt="sm">
|
|
<WarehouseHero
|
|
variant="train"
|
|
secondaryVariant="route"
|
|
title="Dispatch Queue"
|
|
subtitle="Loaded inventory awaiting train departure. Mark items dispatched once they leave."
|
|
/>
|
|
|
|
<Card withBorder radius="md" padding="lg">
|
|
{!isLoading && items.length === 0 ? (
|
|
<VisualEmptyState
|
|
variant="train"
|
|
title="Nothing to dispatch"
|
|
description="Loaded items appear here, ready to mark as dispatched."
|
|
/>
|
|
) : (
|
|
<InventoryWorkbench items={items} isLoading={isLoading} />
|
|
)}
|
|
</Card>
|
|
</Stack>
|
|
</Container>
|
|
);
|
|
}
|