diff --git a/src/App.tsx b/src/App.tsx index 9ee71fd..f3ad5a3 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,4 +1,5 @@ // Modules +import { useRef } from "react"; import { Routes, Route } from "react-router-dom"; import { useState } from "react"; @@ -26,6 +27,7 @@ import PlayerProfile from "./pages/PlayerProfile"; const App = () => { // Types type drop = [boolean, React.Dispatch>]; + const refTrig_1 = useRef(null); // State const [dropdownBurger, setDropdownBurger] = useState(false); @@ -39,6 +41,7 @@ const App = () => { setDropdown={setDropdown} burgerOpen={burgerOpen} setBurgerOpen={setBurgerOpen} + refTrig_1={refTrig_1} /> { setDropdown={setDropdown} dropdownBurger={dropdownBurger} setDropdownBurger={setDropdownBurger} + refTrig_1={refTrig_1} /> ); diff --git a/src/components/global/Footer.tsx b/src/components/global/Footer.tsx index d6d550f..a65bfac 100644 --- a/src/components/global/Footer.tsx +++ b/src/components/global/Footer.tsx @@ -16,6 +16,7 @@ const Footer = ({ setDropdown, setDropdownBurger, setBurgerOpen, + refTrig_1, }: footerProps) => { const date = new Date(); const breakpoint: Record = { @@ -29,6 +30,7 @@ const Footer = ({
  • { if (breakpoint["1300"]) { window.scrollTo(0, 0); @@ -43,16 +45,16 @@ const Footer = ({ О нас
  • - События + Новости и cобытия
  • - Новости + Турниры
  • Рейтинг
  • - Партнеры + Контакты
diff --git a/src/components/global/Nav.tsx b/src/components/global/Nav.tsx index 60c55d1..b5b8205 100644 --- a/src/components/global/Nav.tsx +++ b/src/components/global/Nav.tsx @@ -14,17 +14,19 @@ const Nav = ({ setDropdown, burgerOpen, setBurgerOpen, + refTrig_1, }: navProps) => { const location = useLocation(); const ref = useRef(null); const refTrigger = useRef(null); useEffect(() => { - if (ref.current && refTrigger.current) { + if (ref.current && refTrigger.current && refTrig_1.current) { window.addEventListener("click", (e: any) => { if ( !e.target.contains(ref.current) && - !e.target.contains(refTrigger.current) + !e.target.contains(refTrigger.current) && + !e.target.contains(refTrig_1.current) ) { setDropdown(false); } diff --git a/src/styles/_footer.scss b/src/styles/_footer.scss index 8fa61eb..452d0d8 100644 --- a/src/styles/_footer.scss +++ b/src/styles/_footer.scss @@ -26,6 +26,13 @@ .footer-top-inner { padding: 4rem 0; + + li { + cursor: pointer; + * { + pointer-events: none; + } + } } .footer-bottom-inner { diff --git a/src/types/burger.ts b/src/types/burger.ts index 3045e7c..a06981f 100644 --- a/src/types/burger.ts +++ b/src/types/burger.ts @@ -10,7 +10,10 @@ export interface dropdownBurger { dropdownBurger: boolean; setDropdownBurger: React.Dispatch boolean)>; } +export interface refDropdown { + refTrig_1: React.MutableRefObject; +} -export type navProps = burger & dropdown; +export type navProps = burger & dropdown & refDropdown; export type burgerProps = burger & dropdownBurger; -export type footerProps = dropdownBurger & dropdown & burger; +export type footerProps = dropdownBurger & dropdown & burger & refDropdown;