From 59c0f06f8b719f7b513a9e82f08e605a07bb0621 Mon Sep 17 00:00:00 2001 From: MXerFix Date: Mon, 30 Sep 2024 14:32:25 +0300 Subject: [PATCH] fix: new modals mouseonpane check fix --- frontend/src/contexts/popUpContext.tsx | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/frontend/src/contexts/popUpContext.tsx b/frontend/src/contexts/popUpContext.tsx index ee50bf4..4e54420 100644 --- a/frontend/src/contexts/popUpContext.tsx +++ b/frontend/src/contexts/popUpContext.tsx @@ -1,5 +1,5 @@ import { AnimatePresence } from "framer-motion" -import React, { createContext, ReactNode, useContext, useState } from "react" +import React, { createContext, ReactNode, useContext, useEffect, useState } from "react" import { workspaceContext } from "./workspaceContext" type PopUpContextType = { @@ -27,13 +27,18 @@ const PopUpProvider = ({ children }: PopUpProviderProps) => { const [popUpElements, setPopUpElements] = useState<{ id: string; element: JSX.Element }[]>([]) const [closingId, setClosingId] = useState(null) + + useEffect(() => { + setModalsOpened(popUpElements.length) + }, [popUpElements, setModalsOpened]) + const openPopUp = (element: JSX.Element, id: string) => { - setModalsOpened((prev) => prev + 1) + // setModalsOpened((prev) => prev + 1) setPopUpElements((prevPopUps) => [{ id, element }, ...prevPopUps]) } const closePopUp = (id: string) => { - setModalsOpened((prev) => prev - 1) + // setModalsOpened((prev) => prev - 1) setClosingId(id) // Время ожидания анимации setPopUpElements((prevPopUps) => prevPopUps.filter((popUp) => popUp.id !== id))