import { Stack, Typography, Box, Button } from "@mui/material"; import { useShow } from "@refinedev/core"; import { Show, TextFieldComponent as TextField } from "@refinedev/mui"; import { LinkedItems } from "../../components/LinkedItems"; import { StationItem, VehicleItem, SightItem, sightFields, stationFields, vehicleFields, } from "./types"; import { useNavigate, useParams } from "react-router"; import { observer } from "mobx-react-lite"; export const RouteShow = observer(() => { const { query } = useShow({}); const { data, isLoading } = query; const record = data?.data; const { id } = useParams(); const navigate = useNavigate(); const fields = [ { label: "Перевозчик", data: "carrier" }, { label: "Номер маршрута", data: "route_number" }, { label: "Направление маршрута", data: "route_direction", render: (value: number[][]) => ( {value ? "прямое" : "обратное"} ), }, { label: "Координаты маршрута", data: "path", render: (value: number[][]) => ( theme.palette.background.paper, p: 2, borderRadius: 1, maxHeight: "200px", overflow: "auto", }} > {value?.map((point, index) => ( {point[0]}, {point[1]} ))} ), }, ]; return ( {fields.map(({ label, data, render }) => ( {label} {render ? ( render(record?.[data]) ) : ( )} ))} {record?.id && ( <> type="show" parentId={record.id} parentResource="route" childResource="station" fields={stationFields} title="станции" /> type="show" parentId={record.id} parentResource="route" childResource="vehicle" fields={vehicleFields} title="транспортные средства" /> type="show" parentId={record.id} parentResource="route" childResource="sight" fields={sightFields} title="достопримечательности" /> )} ); });