32 lines
833 B
TypeScript
32 lines
833 B
TypeScript
/* eslint-disable react-hooks/exhaustive-deps */
|
|
import React, { useEffect } from 'react';
|
|
import { Route, Routes } from 'react-router-dom';
|
|
import { useSetUserSelector } from './store/userStore';
|
|
import LoginPage from './pages/LoginPage';
|
|
import ProtectedRoute from './pages/ProtectedRoute';
|
|
import MainLayout from './pages/MainLayout';
|
|
|
|
function App() {
|
|
const setUser = useSetUserSelector();
|
|
|
|
useEffect(() => {
|
|
const storedUser = localStorage.getItem('user');
|
|
if (storedUser) {
|
|
setUser(JSON.parse(storedUser));
|
|
}
|
|
}, []);
|
|
|
|
return (
|
|
<div className="App">
|
|
<Routes>
|
|
<Route path="/login" element={<LoginPage />} />
|
|
<Route element={<ProtectedRoute />}>
|
|
<Route path="*" element={<MainLayout />}></Route>
|
|
</Route>
|
|
</Routes>
|
|
</div>
|
|
);
|
|
}
|
|
|
|
export default App;
|