import { UserInfoEvent } from 'nitro-renderer/src/nitro/communication/messages/incoming/user/data/UserInfoEvent'; import { UserInfoDataParser } from 'nitro-renderer/src/nitro/communication/messages/parser/user/data/UserInfoDataParser'; import { MouseEvent, useCallback, useState } from 'react'; import { InventoryEvent, NavigatorEvent } from '../../events'; import { dispatchUiEvent } from '../../hooks/events/ui/ui-event'; import { CreateMessageHook } from '../../hooks/messages/message-event'; import { AvatarImageView } from '../avatar-image/AvatarImageView'; import { ToolbarViewItems, ToolbarViewProps } from './ToolbarView.types'; export function ToolbarView(props: ToolbarViewProps): JSX.Element { const { isInRoom } = props; const [ userInfo, setUserInfo ] = useState(null); const unseenInventoryCount = 0; const unseenFriendListCount = 0; const unseenAchievementsCount = 0; const onUserInfoEvent = useCallback((event: UserInfoEvent) => { const parser = event.getParser(); setUserInfo(parser.userInfo); }, []); function handleToolbarItemClick(event: MouseEvent, item: string): void { event.preventDefault(); switch(item) { case ToolbarViewItems.NAVIGATOR_ITEM: dispatchUiEvent(new NavigatorEvent(NavigatorEvent.TOGGLE_NAVIGATOR)); return; case ToolbarViewItems.INVENTORY_ITEM: dispatchUiEvent(new InventoryEvent(InventoryEvent.TOGGLE_INVENTORY)); return; } } CreateMessageHook(UserInfoEvent, onUserInfoEvent); return ( <>
); }