import React, { useState } from "react"; import orgImg from "../../../assets/image/orgTemp.png"; import { useActiveUsers, useCamMode } from "../../../store/builder/store"; import { ActiveUser } from "../../../types/users"; import CollaborationPopup from "../../templates/CollaborationPopup"; import { getAvatarColor } from "../../../modules/collaboration/functions/getAvatarColor"; import { useSelectedUserStore } from "../../../store/collaboration/useCollabStore"; import { useToggleStore } from "../../../store/useUIToggleStore"; import { ToggleSidebarIcon } from "../../icons/HeaderIcons"; import useModuleStore from "../../../store/useModuleStore"; const Header: React.FC = () => { const { activeUsers } = useActiveUsers(); const userName = localStorage.getItem("userName") ?? "Anonymous"; const { toggleUILeft, toggleUIRight, setToggleUI } = useToggleStore(); const { activeModule } = useModuleStore(); const guestUsers: ActiveUser[] = activeUsers.filter( (user: ActiveUser) => user.userName !== userName ); const [userManagement, setUserManagement] = useState(false); const { setSelectedUser } = useSelectedUserStore(); const { setCamMode } = useCamMode(); function handleUserFollow(user: any, index: number) { const position = { x: user.position?.x!, y: user.position?.y!, z: user.position?.z!, }; const target = { x: user.target?.x!, y: user.target?.y!, z: user.target?.z!, }; const rotation = { x: user.rotation?.x!, y: user.rotation?.y!, z: user.rotation?.z!, }; // retun on no data if (!position || !target || !rotation) return; // Set the selected user in the store setSelectedUser({ color: getAvatarColor(index, user.userName), name: user.userName, id: user.id, location: { position, rotation, target }, }); setCamMode("FollowPerson"); } return ( <> {userManagement && ( )}
{/*
*/}
{guestUsers.length > 3 && (
+{guestUsers.length - 3}
)} {guestUsers.slice(0, 3).map((user, index) => ( ))}
{userName[0]}
); }; export default Header;