32 lines
		
	
	
		
			942 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			942 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
import React, {useState} from 'react'
 | 
						|
import {useHistory} from 'react-router-dom'
 | 
						|
import {useDispatch, useSelector} from 'react-redux'
 | 
						|
import {Loader} from '../Loader/Loader'
 | 
						|
import {auth} from '../../redux/outstaffingSlice'
 | 
						|
import {getRole} from '../../redux/roleSlice'
 | 
						|
 | 
						|
import './logoutButton.scss'
 | 
						|
 | 
						|
export const LogoutButton = () => {
 | 
						|
  const [isLoggingOut, setIsLoggingOut] = useState(false);
 | 
						|
  const dispatch = useDispatch();
 | 
						|
  const userRole = useSelector(getRole);
 | 
						|
  const history = useHistory();
 | 
						|
 | 
						|
  return (
 | 
						|
      <div className='logout-button'>
 | 
						|
        <button
 | 
						|
            onClick={() => {
 | 
						|
              setIsLoggingOut(true);
 | 
						|
              localStorage.clear();
 | 
						|
              dispatch(auth(false));
 | 
						|
              setIsLoggingOut(false);
 | 
						|
              history.push(userRole === 'ROLE_DEV' ? '/authdev' : '/auth')
 | 
						|
            }}
 | 
						|
        >
 | 
						|
          {isLoggingOut ? <Loader/> : 'Выйти'}{' '}
 | 
						|
        </button>
 | 
						|
      </div>
 | 
						|
  )
 | 
						|
};
 |