Skip to content

Commit 6e36856

Browse files
Исправил баг со стрелкой в меню (#315)
1 parent 33589b1 commit 6e36856

File tree

1 file changed

+10
-19
lines changed

1 file changed

+10
-19
lines changed

src/components/layout/header/Header.jsx

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Link } from 'react-router-dom';
2-
import { useEffect, useState, useRef } from 'react';
2+
import { useEffect, useState } from 'react';
33
import styled from 'styled-components';
44
import { useSelector } from 'react-redux';
55
import { 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

Comments
 (0)