import { CreateLinkEvent, GetRoomEngine, GetSessionDataManager, MouseEventType, RoomObjectCategory } from '@nitrots/nitro-renderer'; import { Dispatch, FC, PropsWithChildren, SetStateAction, useEffect, useRef } from 'react'; import { DispatchUiEvent, GetConfigurationValue, GetRoomSession, GetUserProfile } from '../../api'; import { Flex, LayoutItemCountView } from '../../common'; import { GuideToolEvent } from '../../events'; export const ToolbarMeView: FC>; }>> = props => { const { useGuideTool = false, unseenAchievementCount = 0, setMeExpanded = null, children = null, ...rest } = props; const elementRef = useRef(); useEffect(() => { const roomSession = GetRoomSession(); if(!roomSession) return; GetRoomEngine().selectRoomObject(roomSession.roomId, roomSession.ownRoomIndex, RoomObjectCategory.UNIT); }, []); useEffect(() => { const onClick = (event: MouseEvent) => setMeExpanded(false); document.addEventListener('click', onClick); return () => document.removeEventListener(MouseEventType.MOUSE_CLICK, onClick); }, [ setMeExpanded ]); return ( { (GetConfigurationValue('guides.enabled') && useGuideTool) &&
DispatchUiEvent(new GuideToolEvent(GuideToolEvent.TOGGLE_GUIDE_TOOL)) } /> }
CreateLinkEvent('achievements/toggle') }> { (unseenAchievementCount > 0) && }
GetUserProfile(GetSessionDataManager().userId) } />
CreateLinkEvent('navigator/search/myworld_view') } />
CreateLinkEvent('avatar-editor/toggle') } />
CreateLinkEvent('user-settings/toggle') } /> { children } ); };