/
Garuda
/
flash-front
Обзор
Документация
Войти
/
Garuda
/
flash-front
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/App.js
45 строк
2 KB
Torward
modified: package-lock.json
30 окт 2024, 11:13
30 окт 2024, 11:13
f87f8d7
Код
Авторство
О чём код?
import "./App.css"; import React, {useEffect} from 'react'; import {BrowserRouter, Routes, Route, useNavigate} from 'react-router-dom'; import LoginPage from "./components/LoginPage/LoginPage"; import Home from "./components/HomePage/Home"; import {Provider, useDispatch, useSelector} from "react-redux"; import { StyledEngineProvider } from '@mui/material/styles'; import {getUserProfile} from "./store/Auth/Action"; function App(props) { const { dialogsPage, loginPage, feedPage} = props.state; const jwt = localStorage.getItem('jwt'); const {auth} = useSelector(store => store) const dispatch = useDispatch(); const navigate = useNavigate(); useEffect(() => { if (auth.jwt) { dispatch(getUserProfile(jwt)) navigate('/') } },[auth.jwt, dispatch, jwt]) return ( <div className="App"> <StyledEngineProvider injectFirst> <Routes> <Route path='/*' element={auth.user? <Home dialogsState={dialogsPage} feedState={feedPage} addMessage={props.addMessage} updateMessageHandler={props.updateMessageHandler} /> : <LoginPage loginState={loginPage} addUser={props.addUser}/> }/> </Routes> </StyledEngineProvider> </div> ); } export default App;