blob: 66e78965be9daae7d8ebe70330790e9b09dcfd16 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
import "modern-normalize";
import { useSelector } from "react-redux";
import { Navigate, Route, Routes } from "react-router-dom";
import { Footer, Header, Main } from "./components/layout";
import Account from "./views/Account/Account";
import LoginForm from "./views/LoginForm/LoginForm";
import Logout from "./views/Logout/Logout";
import Todo from "./views/Todo/Todo";
import TodoList from "./views/TodoList/TodoList";
import "./App.scss";
function App() {
const isLoggedIn = useSelector((state) => state.auth.isAuthenticated);
return (
<>
<Header />
<Main>
<Routes>
<Route
path="/account"
element={
isLoggedIn ? <Account /> : <Navigate replace to="/login" />
}
/>
<Route path="/login" element={<LoginForm />} />
<Route path="/logout" element={<Logout />} />
<Route
path="/todo/:string"
element={isLoggedIn ? <Todo /> : <Navigate replace to="/login" />}
/>
<Route
exact
strict
path="/"
element={
isLoggedIn ? <TodoList /> : <Navigate replace to="/login" />
}
/>
</Routes>
</Main>
<Footer />
</>
);
}
export default App;
|