11import { Link } from 'react-router-dom' ;
2- import { useEffect , useState , useRef } from 'react' ;
2+ import { useEffect , useState } from 'react' ;
33import styled from 'styled-components' ;
44import { useSelector } from 'react-redux' ;
55import { Button , Popover } from 'antd' ;
@@ -68,8 +68,6 @@ export const Header = () => {
6868
6969 const [ openMenuProfile , setOpenMenuProfile ] = useState ( false ) ;
7070
71- const ref = useRef ( ) ;
72-
7371 // todo: зачем это нужно?
7472 const [ windowWidth , setWindowWidth ] = useState ( window . innerWidth ) ;
7573
@@ -96,22 +94,10 @@ export const Header = () => {
9694 document . body . style . overflowY = 'visible' ;
9795 }
9896 } ;
99- const handleOpenMenuProfile = ( ) => {
100- setOpenMenuProfile ( ! openMenuProfile ) ;
97+ const handleOpenMenuProfile = ( isOpen ) => {
98+ setOpenMenuProfile ( isOpen ) ;
10199 } ;
102100
103- useEffect ( ( ) => {
104- const handleClickOutside = ( event ) => {
105- if ( openMenuProfile && ! event . path . includes ( ref . current ) ) {
106- setOpenMenuProfile ( ! openMenuProfile ) ;
107- }
108- } ;
109- document . body . addEventListener ( 'click' , handleClickOutside ) ;
110- return ( ) => {
111- document . body . removeEventListener ( 'click' , handleClickOutside ) ;
112- } ;
113- } , [ setOpenMenuProfile , openMenuProfile ] ) ;
114-
115101 // todo: рефакторить
116102 const iconMenuAndClose = ! mobileMenu ? < MenuIcon /> : < CloseMenuIcon /> ;
117103
@@ -153,8 +139,13 @@ export const Header = () => {
153139 </ div >
154140 { token ? (
155141 < div >
156- < Popover placement = "bottomRight" trigger = "click" content = { PopoverContent } >
157- < StyledAvatar onClick = { handleOpenMenuProfile } ref = { ref } className = "d-md-flex" >
142+ < Popover
143+ onOpenChange = { handleOpenMenuProfile }
144+ placement = "bottomRight"
145+ trigger = "click"
146+ content = { PopoverContent }
147+ >
148+ < StyledAvatar className = "d-md-flex" >
158149 < img className = "m-auto" src = { profile . avatar ?. thumbnail } alt = "" />
159150 < div className = { openMenuProfile ? 'downArrow' : 'upArrow' } >
160151 < ArrowAvatar />
0 commit comments