import { useAuth } from "../../contexts/authContext"; import Image from "next/image"; import { FaMicrophoneAlt, FaHeadphonesAlt, FaTh, FaBell, FaSearch, FaBuilding, FaCalendarDay, FaClock, FaPeopleCarry, FaAngleDown, FaCheck, FaDatabase, } from "react-icons/fa"; import { useTeamDashboardContext } from "../../contexts/teamDashboardContext"; import router from "next/router"; import Moment from "react-moment"; import { User } from "../../models/user"; import { generateGreetings } from "../../helpers/dateTime"; import { Dropdown, Menu } from "antd"; import { useRouter } from "next/router"; import { TeamMemberRole, TeamMemberStatus } from "../../models/teamMember"; import { toast } from "react-hot-toast"; import SubMenu from "antd/lib/menu/SubMenu"; import { useEffect, useState } from "react"; import TeamService from "../../services/teamService"; import { Team } from "../../models/team"; import Loading from "../Loading"; const teamService = new TeamService(); export default function Header() { const { currUser, logOut } = useAuth(); const { team, user, userTeamMember } = useTeamDashboardContext(); const router = useRouter(); const { teamid } = router.query; const [usersTeams, setUserTeams] = useState(null); useEffect(() => { (async function () { try { // get all the teams that this user is part of const newTeams: Team[] = await teamService.getActiveOrInvitedTeamsbyUser( currUser.uid, currUser.email ); console.log(newTeams); setUserTeams(newTeams); } catch (error) { console.log("problem getting teams of this user"); toast.error("problem on load"); } })(); }, []); async function handleSignOut() { console.log("clicked log out button"); try { await logOut(); router.push("/teams/landing"); } catch (error) { console.log(error); toast.error("Unable to log out!"); } } async function handleAdminRoute() { if (userTeamMember.role == TeamMemberRole.admin) { router.push("/teams/" + teamid + "/admin"); return; } toast.error("You are not a team admin!"); } const TeamsMenu = ( }> {/* all current teams that this person is a part of */} {usersTeams && usersTeams.map((uteam, i) => { return ( : <>} > ); })} {/* create TEAM */} }> ); const UserMenu = ( ); const searchBar = (
); const today = new Date(); const periodOfDay = generateGreetings(); return (
{/* welcome message */} 👋Hey {user.firstName}, {periodOfDay}! {/* Date and time */} {/* header control section */} {/* search bar */} {/* teams menu */} {/* avatar */} asdf
); }