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 (
);
}
}