From 827c17dc8b8c7975b1e10e05efd3de2ce7f6a773 Mon Sep 17 00:00:00 2001 From: duckietm Date: Mon, 1 Jun 2026 14:44:33 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=86=99=20Small=20fix=20toolbar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/toolbar/ToolbarMeView.tsx | 17 +++++++++++++---- src/components/toolbar/ToolbarView.tsx | 2 +- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/components/toolbar/ToolbarMeView.tsx b/src/components/toolbar/ToolbarMeView.tsx index db50105..5084ef7 100644 --- a/src/components/toolbar/ToolbarMeView.tsx +++ b/src/components/toolbar/ToolbarMeView.tsx @@ -1,4 +1,4 @@ -import { CreateLinkEvent, GetRoomEngine, GetSessionDataManager, MouseEventType, RoomObjectCategory } from '@nitrots/nitro-renderer'; +import { CreateLinkEvent, GetRoomEngine, GetSessionDataManager, RoomObjectCategory } from '@nitrots/nitro-renderer'; import { Dispatch, FC, PropsWithChildren, SetStateAction, useEffect, useRef } from 'react'; import { DispatchUiEvent, GetConfigurationValue, GetRoomSession, GetUserProfile, LocalizeText } from '../../api'; import { Flex, LayoutItemCountView } from '../../common'; @@ -24,11 +24,20 @@ export const ToolbarMeView: FC { - const onClick = (event: MouseEvent) => setMeExpanded(false); + const onClick = (event: MouseEvent) => + { + if(elementRef.current && elementRef.current.contains(event.target as Node)) return; - document.addEventListener('click', onClick); + setMeExpanded(false); + }; - return () => document.removeEventListener(MouseEventType.MOUSE_CLICK, onClick); + const timeout = window.setTimeout(() => document.addEventListener('click', onClick), 0); + + return () => + { + window.clearTimeout(timeout); + document.removeEventListener('click', onClick); + }; }, [ setMeExpanded ]); return ( diff --git a/src/components/toolbar/ToolbarView.tsx b/src/components/toolbar/ToolbarView.tsx index 2c2dd26..a2124fd 100644 --- a/src/components/toolbar/ToolbarView.tsx +++ b/src/components/toolbar/ToolbarView.tsx @@ -372,7 +372,7 @@ export const ToolbarView: FC<{ isInRoom: boolean }> = props => animate={ { opacity: 1, y: 0, scale: 1 } } exit={ { opacity: 0, y: 6, scale: 0.97 } } transition={ ME_POPOVER_TRANSITION } - className="pointer-events-auto absolute bottom-[calc(100%+10px)] left-1/2 z-[70] -translate-x-1/2"> + className="pointer-events-auto fixed bottom-[calc(100%+10px)] left-1/2 z-[70] -translate-x-1/2"> }