1- import * as React from 'react' ;
1+ import React , { useState } from 'react' ;
2+ import { useNavigate } from 'react-router-dom' ;
23import Box from '@mui/material/Box' ;
34import Avatar from '@mui/material/Avatar' ;
45import Menu from '@mui/material/Menu' ;
@@ -8,25 +9,32 @@ import Divider from '@mui/material/Divider';
89import IconButton from '@mui/material/IconButton' ;
910import Tooltip from '@mui/material/Tooltip' ;
1011import Settings from '@mui/icons-material/Settings' ;
11- import Logout from '@mui/icons-material/Logout' ;
12+ import LogoutIcon from '@mui/icons-material/Logout' ;
1213import LoginIcon from '@mui/icons-material/Login' ;
1314import HelpIcon from '@mui/icons-material/Help' ;
1415import MessageIcon from '@mui/icons-material/Message' ;
1516
1617export default function Dropdown ( ) {
17- const [ anchorEl , setAnchorEl ] = React . useState ( null ) ;
18- const [ logIn , setLogIn ] = React . useState ( true ) ;
18+ const [ anchorEl , setAnchorEl ] = useState ( null ) ;
19+ const [ loggedIn , setLoggedIn ] = useState ( true ) ; // Change the state name to 'loggedIn'
1920 const open = Boolean ( anchorEl ) ;
21+ const navigate = useNavigate ( ) ;
22+
2023 const handleClick = ( event ) => {
2124 setAnchorEl ( event . currentTarget ) ;
2225 } ;
26+
2327 const handleClose = ( ) => {
2428 setAnchorEl ( null ) ;
2529 } ;
2630
2731 const handleAccount = ( ) => {
28- logIn ? setLogIn ( false ) : setLogIn ( true ) ;
32+ setLoggedIn ( ! loggedIn ) ; // Toggle the loggedIn state
33+ if ( ! loggedIn ) {
34+ navigate ( '/login' ) ; // Navigate to the login route
35+ }
2936 } ;
37+
3038 return (
3139 < React . Fragment >
3240 < Box
@@ -98,10 +106,10 @@ export default function Dropdown() {
98106 </ ListItemIcon >
99107 Settings
100108 </ MenuItem >
101- { logIn ? (
109+ { loggedIn ? ( // Use the 'loggedIn' state to conditionally render the Logout/Login menu item
102110 < MenuItem onClick = { handleAccount } >
103111 < ListItemIcon >
104- < Logout fontSize = 'small' />
112+ < LogoutIcon fontSize = 'small' />
105113 </ ListItemIcon >
106114 Logout
107115 </ MenuItem >
0 commit comments