From 6e29b8c4a997cbf7bd43a85c2827b39b77be1561 Mon Sep 17 00:00:00 2001
From: maxim <bozzhik@ya.ru>
Date: Fri, 21 Feb 2025 17:31:35 +0300
Subject: [PATCH] add `path` key for `/route` route

---
 src/pages/route/create.tsx | 14 ++++++++++++++
 src/pages/route/edit.tsx   | 14 ++++++++++++++
 src/pages/route/list.tsx   |  2 ++
 src/pages/route/show.tsx   |  9 ++++++++-
 4 files changed, 38 insertions(+), 1 deletion(-)

diff --git a/src/pages/route/create.tsx b/src/pages/route/create.tsx
index 020fbbd..ac0f56e 100644
--- a/src/pages/route/create.tsx
+++ b/src/pages/route/create.tsx
@@ -53,6 +53,20 @@ export const RouteCreate = () => {
           defaultValue={false}
           render={({field}: {field: any}) => <FormControlLabel control={<Checkbox {...field} checked={field.value} onChange={(e) => field.onChange(e.target.checked)} />} label="Направление маршрута" />}
         />
+        <TextField
+          {...register('path', {
+            required: 'Это поле является обязательным',
+            setValueAs: (value) => String(value),
+          })}
+          error={!!(errors as any)?.path}
+          helperText={(errors as any)?.path?.message}
+          margin="normal"
+          fullWidth
+          InputLabelProps={{shrink: true}}
+          type="text"
+          label={'Путь'}
+          name="path"
+        />
       </Box>
     </Create>
   )
diff --git a/src/pages/route/edit.tsx b/src/pages/route/edit.tsx
index 26fbf53..6fec37c 100644
--- a/src/pages/route/edit.tsx
+++ b/src/pages/route/edit.tsx
@@ -48,6 +48,20 @@ export const RouteEdit = () => {
           defaultValue={false}
           render={({field}: {field: any}) => <FormControlLabel control={<Checkbox {...field} checked={field.value} onChange={(e) => field.onChange(e.target.checked)} />} label="Направление маршрута" />}
         />
+        <TextField
+          {...register('path', {
+            required: 'Это поле является обязательным',
+            setValueAs: (value) => String(value),
+          })}
+          error={!!(errors as any)?.path}
+          helperText={(errors as any)?.path?.message}
+          margin="normal"
+          fullWidth
+          InputLabelProps={{shrink: true}}
+          type="text"
+          label={'Путь'}
+          name="path"
+        />
       </Box>
     </Edit>
   )
diff --git a/src/pages/route/list.tsx b/src/pages/route/list.tsx
index 7ae11f6..d2bf111 100644
--- a/src/pages/route/list.tsx
+++ b/src/pages/route/list.tsx
@@ -1,5 +1,6 @@
 import {DataGrid, type GridColDef} from '@mui/x-data-grid'
 import {DeleteButton, EditButton, List, ShowButton, useDataGrid} from '@refinedev/mui'
+import {Typography} from '@mui/material'
 import React from 'react'
 
 export const RouteList = () => {
@@ -44,6 +45,7 @@ export const RouteList = () => {
         align: 'left',
         headerAlign: 'left',
         flex: 1,
+        renderCell: ({value}) => <Typography style={{color: value ? '#48989f' : '#7f6b58'}}>{value ? 'прямое' : 'обратное'}</Typography>,
       },
       {
         field: 'actions',
diff --git a/src/pages/route/show.tsx b/src/pages/route/show.tsx
index 6ec307f..617ca74 100644
--- a/src/pages/route/show.tsx
+++ b/src/pages/route/show.tsx
@@ -12,7 +12,7 @@ export const RouteShow = () => {
     // {label: 'ID', data: 'id'},
     {label: 'ID перевозчика', data: 'carrier_id'},
     {label: 'Номер маршрута', data: 'route_number'},
-    {label: 'Направление маршрута', data: 'route_direction'},
+    {label: 'Путь', data: 'path'},
   ]
 
   return (
@@ -26,6 +26,13 @@ export const RouteShow = () => {
             <TextField value={record?.[data]} />
           </Stack>
         ))}
+
+        <Stack gap={1}>
+          <Typography variant="body1" fontWeight="bold">
+            Направление маршрута
+          </Typography>
+          <TextField value={record?.route_direction ? 'ДА' : 'НЕТ'} />
+        </Stack>
       </Stack>
     </Show>
   )