import React, { useContext, useEffect } from 'react'; import { Routes as DomRoutes, Route, useNavigate } from 'react-router-dom'; import { Fade } from '@mui/material'; import { type UseAppStoreType, AppContext, Page } from '../contexts/AppContext'; import { RobotPage, MakerPage, BookPage, OrderPage, SettingsPage } from '.'; import { GarageContext, type UseGarageStoreType } from '../contexts/GarageContext'; const Routes: React.FC = () => { const navigate = useNavigate(); const { garage } = useContext(GarageContext); const { page, navigateToPage } = useContext(AppContext); useEffect(() => { window.addEventListener('navigateToPage', (event) => { const orderId: string = event?.order_id; const coordinator: string = event?.coordinator; if (orderId && coordinator) { const slot = garage.getSlotByOrder(coordinator, parseInt(orderId, 10)); if (slot?.token) { garage.setCurrentSlot(slot?.token); navigateToPage(`order/${coordinator}/${orderId}`, navigate); } } }); }, []); useEffect(() => { // change tab (page) into the current route const pathPage: Page | string = location.pathname.split('/')[1]; if (pathPage === 'index.html') { navigateToPage('garage', navigate); } }, [location]); return ( {['/garage/:token?', '/garage', '/', ''].map((path, index) => { return (
} key={index} /> ); })}
} />
} />
} />
} />
); }; export default Routes;