Merge pull request 'feat: add router to the arm page (#14)' (#20) from feature/router-arm into main
Some checks failed
it-academy/dry-wash-pl/pipeline/pr-feat/landing There was a failure building this commit

Reviewed-on: #20
This commit is contained in:
Primakov Alexandr Alexandrovich 2024-11-17 11:02:45 +03:00
commit db918ba7c7
4 changed files with 20 additions and 11 deletions

View File

@ -3,13 +3,19 @@ import Sidebar from '../Sidebar';
import Orders from '../Orders'; import Orders from '../Orders';
import Masters from '../Masters'; import Masters from '../Masters';
import React from 'react'; import React from 'react';
import { Navigate, Route, Routes } from 'react-router-dom';
const LayoutArm = ({ currentPage, onSelectPage }) => ( const LayoutArm = () => (
<Flex h='100vh'> <Flex h='100vh'>
<Sidebar onSelectPage={onSelectPage} /> <Sidebar />
<Box flex='1' bg='gray.50'> <Box flex='1' bg='gray.50'>
{currentPage === 'orders' && <Orders />} <Routes>
{currentPage === 'masters' && <Masters />} <Route>
<Route index element={<Navigate to='orders' replace />} />
<Route path='orders' element={<Orders />} />
<Route path='masters' element={<Masters />} />
</Route>
</Routes>
</Box> </Box>
</Flex> </Flex>
); );

View File

@ -2,7 +2,9 @@ import { Box, Button, Heading, VStack } from '@chakra-ui/react';
import React from 'react'; import React from 'react';
import { Divider } from '@chakra-ui/react'; import { Divider } from '@chakra-ui/react';
import i18next from 'i18next'; import i18next from 'i18next';
const Sidebar = ({ onSelectPage }) => ( import { Link } from 'react-router-dom';
const Sidebar = () => (
<Box <Box
borderRight='1px solid black' borderRight='1px solid black'
bg='gray.50' bg='gray.50'
@ -18,7 +20,8 @@ const Sidebar = ({ onSelectPage }) => (
<VStack align='start' spacing='4'> <VStack align='start' spacing='4'>
<Divider /> <Divider />
<Button <Button
onClick={() => onSelectPage('orders')} as={Link}
to='orders'
w='100%' w='100%'
colorScheme='green' colorScheme='green'
variant='ghost' variant='ghost'
@ -27,7 +30,8 @@ const Sidebar = ({ onSelectPage }) => (
</Button> </Button>
<Divider /> <Divider />
<Button <Button
onClick={() => onSelectPage('masters')} as={Link}
to='masters'
w='100%' w='100%'
colorScheme='green' colorScheme='green'
variant='ghost' variant='ghost'

View File

@ -2,9 +2,7 @@ import React, { useState } from 'react';
import LayoutArm from '../../components/LayoutArm'; import LayoutArm from '../../components/LayoutArm';
const Page = () => { const Page = () => {
const [currentPage, setCurrentPage] = useState('orders'); return <LayoutArm />;
return <LayoutArm currentPage={currentPage} onSelectPage={setCurrentPage} />;
}; };
export default Page; export default Page;

View File

@ -16,9 +16,10 @@ const Routers = () => {
<Route path='order-form' element={<OrderForm />} /> <Route path='order-form' element={<OrderForm />} />
<Route path='order-view' element={<OrderView />} /> <Route path='order-view' element={<OrderView />} />
</Route> </Route>
<Route path='/dry-wash/arm' element={<Arm />}></Route> <Route path='/dry-wash/arm/*' element={<Arm />}></Route>
</Routes> </Routes>
</Suspense> </Suspense>
); );
}; };