import { Avatar } from "antd"; import { useAuth } from "../contexts/authContext"; import { useTeamDashboardContext } from "../contexts/teamDashboardContext"; import OfficeRoom, { OfficeRoomState } from "../models/officeRoom"; import { User } from "../models/user"; interface IOfficeCard { officeRoom: OfficeRoom; } export default function OfficeCard(props: IOfficeCard) { const { currUser } = useAuth(); const { teamUsersMap, user } = useTeamDashboardContext(); var allMembersInRoom = props.officeRoom.members?.reduce((results, userId) => { if (userId in teamUsersMap) { results.push(teamUsersMap[userId]); } if (userId == currUser.uid) { results.push(user); } return results; }, [] as User[]); return ( {renderOfficePulse(props.officeRoom.state)} {/* office location name */} {props.officeRoom.name} {/* all members in room */} {allMembersInRoom.map((member) => { {member.nickName[0]} ; })} ); } function renderOfficePulse(officeRoomState: OfficeRoomState) { switch (officeRoomState) { case OfficeRoomState.active: return ( ); case OfficeRoomState.idle: return ( ); default: return ( ); } }