mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-28 11:21:18 +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>
37 lines
900 B
TypeScript
37 lines
900 B
TypeScript
import type { ReactNode } from 'react';
|
|
import { Center, Stack, Text } from '@mantine/core';
|
|
|
|
import { FreightVisual, type FreightVisualVariant } from './FreightVisual';
|
|
|
|
interface VisualEmptyStateProps {
|
|
variant?: FreightVisualVariant;
|
|
title: string;
|
|
description?: string;
|
|
action?: ReactNode;
|
|
}
|
|
|
|
/** Friendly empty state with a small freight illustration. */
|
|
export function VisualEmptyState({
|
|
variant = 'empty',
|
|
title,
|
|
description,
|
|
action,
|
|
}: VisualEmptyStateProps) {
|
|
return (
|
|
<Center py="xl">
|
|
<Stack align="center" gap="xs" maw={360}>
|
|
<FreightVisual variant={variant} size={88} style={{ opacity: 0.85 }} />
|
|
<Text fw={600} ta="center">
|
|
{title}
|
|
</Text>
|
|
{description && (
|
|
<Text size="sm" c="dimmed" ta="center">
|
|
{description}
|
|
</Text>
|
|
)}
|
|
{action}
|
|
</Stack>
|
|
</Center>
|
|
);
|
|
}
|