Skip to content

Commit f8c43a4

Browse files
committed
design improvement
1 parent 681bbf7 commit f8c43a4

File tree

3 files changed

+60
-47
lines changed

3 files changed

+60
-47
lines changed

frontend/src/App.js

Lines changed: 50 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
import { useEffect } from 'react'
22
import jwt_decode from 'jwt-decode'
3-
import { BrowserRouter as Router, Route } from 'react-router-dom'
3+
import { BrowserRouter as Router, Route, Link } from 'react-router-dom'
44
import Footer from './components/Footer'
55
import Routes from './components/routes/Routes'
66
import { useDispatch, useSelector } from 'react-redux'
77
import 'animate.css'
8+
import { FaPowerOff, FaSlidersH } from 'react-icons/fa'
9+
import { resetUpdateUser, logout } from './redux/users/usersSlice'
810

9-
import { logout } from './redux/users/usersSlice'
1011
import HeaderGuest from './components/HeaderGuest'
1112
import HeaderAuthorized from './components/HeaderAuthorized'
1213

@@ -29,15 +30,55 @@ const App = () => {
2930
})
3031
}, [dispatch])
3132

33+
const style = {
34+
display: 'flex',
35+
}
36+
37+
const logoutHandler = () => {
38+
dispatch(logout())
39+
dispatch(resetUpdateUser())
40+
}
41+
42+
const toggler = () => {
43+
const sidebar = document.querySelector('#sidebar')
44+
sidebar.classList.toggle('active')
45+
}
46+
3247
return (
3348
<Router>
34-
{userInfo ? <HeaderAuthorized /> : <HeaderGuest />}
35-
<main>
36-
<div className='container'>
37-
<Route component={Routes} />
38-
</div>
39-
</main>
40-
<Footer />
49+
<div className='wrapper' style={userInfo && style}>
50+
{userInfo ? <HeaderAuthorized toggler={toggler} /> : <HeaderGuest />}
51+
<main>
52+
{userInfo && (
53+
<nav className='navbar navbar-expand-sm navbar-dark sticky-top'>
54+
<div className='container-fluid'>
55+
<button
56+
onClick={toggler}
57+
className='navbar-brand btn btn-transparent shadow-none border-0'
58+
>
59+
<FaSlidersH />
60+
</button>
61+
62+
<ul className='navbar-nav d-flex flex-row'>
63+
<li className='nav-item'>
64+
<Link to='/' onClick={logoutHandler} className='nav-link'>
65+
<FaPowerOff className='mb-1' /> Logout
66+
</Link>
67+
</li>
68+
</ul>
69+
</div>
70+
</nav>
71+
)}
72+
73+
<div
74+
className={`${!userInfo ? 'container' : 'container-fluid'}`}
75+
id='mainContainer'
76+
>
77+
<Route component={Routes} />
78+
</div>
79+
<Footer />
80+
</main>
81+
</div>
4182
</Router>
4283
)
4384
}

frontend/src/components/HeaderAuthorized.js

Lines changed: 3 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,21 @@
11
import { Link } from 'react-router-dom'
2-
import { useDispatch, useSelector } from 'react-redux'
2+
import { useSelector } from 'react-redux'
33
import {
44
FaCog,
55
FaFileContract,
6-
FaPowerOff,
7-
FaSlidersH,
86
FaUser,
97
FaUserCircle,
108
FaUsers,
119
} from 'react-icons/fa'
12-
import { resetUpdateUser, logout } from '../redux/users/usersSlice'
1310

1411
const HeaderAuthorized = () => {
15-
const dispatch = useDispatch()
1612
const userLogin = useSelector((state) => state.userLogin)
1713
const { userInfo } = userLogin
1814

19-
const logoutHandler = () => {
20-
dispatch(logout())
21-
dispatch(resetUpdateUser())
22-
}
23-
24-
const toggler = () => {
25-
const sidebar = document.querySelector('#sidebar')
26-
sidebar.classList.toggle('active')
27-
}
28-
2915
return (
3016
<>
31-
<nav className='navbar navbar-expand-sm navbar-dark sticky-top'>
32-
<div className='container-fluid'>
33-
<button
34-
onClick={toggler}
35-
className='navbar-brand btn btn-transparent shadow-none border-0'
36-
>
37-
<FaSlidersH />
38-
</button>
39-
40-
<ul className='navbar-nav d-flex flex-row'>
41-
<li className='nav-item'>
42-
<Link to='/' onClick={logoutHandler} className='nav-link'>
43-
<FaPowerOff className='mb-1' /> Logout
44-
</Link>
45-
</li>
46-
</ul>
47-
</div>
48-
</nav>
49-
50-
<nav className='' id='sidebar'>
51-
<div className='container-fluid'>
17+
<nav className='sticky-top' id='sidebar'>
18+
<div className='container-fluid pt-3'>
5219
<Link to='/' className='navbar-brand fw-bold fs-6'>
5320
Boilerplate
5421
</Link>

frontend/src/index.css

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,20 @@
99
#sidebar {
1010
height: 100vh;
1111
transition: 0.7s ease-in-out;
12-
position: fixed;
12+
1313
z-index: 1;
1414
}
1515
#sidebar.active {
16-
margin-left: -50rem;
16+
margin-left: -6.3rem;
17+
}
18+
19+
.wrapper {
20+
min-width: 100%;
1721
}
1822

1923
main {
2024
min-height: 60vh;
25+
width: 100%;
2126
}
2227

2328
button {

0 commit comments

Comments
 (0)