mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-28 17:10:56 +00:00
73 lines
2.1 KiB
TypeScript
73 lines
2.1 KiB
TypeScript
import { useNavigate } from "react-router-dom";
|
|
import { ArrowRight, FileText, Train, Users } from "lucide-react";
|
|
import { Card, Group, SimpleGrid, Stack, Text, ThemeIcon } from "@mantine/core";
|
|
|
|
const links = [
|
|
{
|
|
title: "Booking requests",
|
|
description: "Review and action incoming freight bookings",
|
|
href: "/dashboard/booking-requests",
|
|
icon: FileText,
|
|
},
|
|
{
|
|
title: "Train scheduling v2",
|
|
description: "Full allocation workflow — assign, pin wagons, finalize",
|
|
href: "/dashboard/operations/train-scheduling-v2",
|
|
icon: Train,
|
|
},
|
|
{
|
|
title: "Trains",
|
|
description: "Manage train master data and fleet status",
|
|
href: "/dashboard/trains",
|
|
icon: Train,
|
|
},
|
|
{
|
|
title: "User management",
|
|
description: "Employees, roles, and permissions",
|
|
href: "/user-management",
|
|
icon: Users,
|
|
},
|
|
];
|
|
|
|
export function OverviewQuickLinks() {
|
|
const navigate = useNavigate();
|
|
|
|
return (
|
|
<Stack gap="md" h="100%">
|
|
<Text fw={600}>Quick links</Text>
|
|
<SimpleGrid cols={{ base: 1, sm: 2 }} spacing="sm">
|
|
{links.map((link) => {
|
|
const Icon = link.icon;
|
|
return (
|
|
<Card
|
|
key={link.href}
|
|
p="md"
|
|
radius="lg"
|
|
withBorder
|
|
style={{ cursor: "pointer" }}
|
|
onClick={() => navigate(link.href)}
|
|
>
|
|
<Group justify="space-between" align="flex-start" wrap="nowrap">
|
|
<Group align="flex-start" gap="sm" wrap="nowrap">
|
|
<ThemeIcon variant="light" color="edr-green" size="lg" radius="md">
|
|
<Icon size={18} />
|
|
</ThemeIcon>
|
|
<Stack gap={2}>
|
|
<Text fw={600} size="sm">
|
|
{link.title}
|
|
</Text>
|
|
<Text size="xs" c="dimmed">
|
|
{link.description}
|
|
</Text>
|
|
</Stack>
|
|
</Group>
|
|
<ArrowRight size={16} color="var(--mantine-color-gray-5)" />
|
|
</Group>
|
|
</Card>
|
|
);
|
|
})}
|
|
</SimpleGrid>
|
|
</Stack>
|
|
);
|
|
}
|