From f2ca1fe5e1414e426b41699e5d21c70c986712f2 Mon Sep 17 00:00:00 2001 From: Arjun Patel Date: Fri, 14 Jan 2022 21:04:07 -0800 Subject: [PATCH] displaying team members --- components/Dashboard/Header.tsx | 3 ++- components/Dashboard/TeamVoiceLine.tsx | 35 ++++++++++++++++++-------- pages/teams/index.tsx | 7 +++--- 3 files changed, 30 insertions(+), 15 deletions(-) diff --git a/components/Dashboard/Header.tsx b/components/Dashboard/Header.tsx index fceebce..b6ebab1 100644 --- a/components/Dashboard/Header.tsx +++ b/components/Dashboard/Header.tsx @@ -32,9 +32,10 @@ export default function Header() { try { await logOut(); - router.push("/teams"); + router.push("/teams/landing"); } catch (error) { console.log(error); + toast.error("Unable to log out!"); } } diff --git a/components/Dashboard/TeamVoiceLine.tsx b/components/Dashboard/TeamVoiceLine.tsx index d02b838..b87bca6 100644 --- a/components/Dashboard/TeamVoiceLine.tsx +++ b/components/Dashboard/TeamVoiceLine.tsx @@ -38,7 +38,7 @@ function statusBubble(status: UserStatus) { ); default: return ( - + ); } } @@ -59,7 +59,7 @@ function renderPulse(status: UserStatus) { ); default: return ( - + ); } } @@ -82,10 +82,19 @@ export default function TeamVoiceLine() { if (teamMembers) { teamMembers.map((tmember) => { if (tmember.status == TeamMemberStatus.activated) { - const docRef = doc(this.db, Collections.users, tmember.userId); + const docRef = doc(db, Collections.users, tmember.userId); const unsub = onSnapshot(docRef, (doc) => { - console.log(doc.data()); + const updatedteamMateUser = doc.data() as User; + + setTeamUsers((prevTeamUsers) => { + const newTeamUsers = prevTeamUsers.filter( + (tm) => tm.id != updatedteamMateUser.id + ); + newTeamUsers.push(updatedteamMateUser); + + return newTeamUsers; + }); }); unsubs.push(unsub); @@ -97,7 +106,7 @@ export default function TeamVoiceLine() { } catch (error) { console.log(error); toast.error("Something went wrong"); - router.push("/teams/login"); + router.push("/teams/landing"); } setLoading(false); @@ -136,7 +145,7 @@ export default function TeamVoiceLine() { return Please add team members.; } - return teamMembers.map((tmember, i) => { + return teamUsers.map((tmember, i) => { return ( - {statusBubble(UserStatus.online)} + {statusBubble(tmember.userStatus)} - asdf + asdf - {tmember.inviteEmailAddress} + {tmember.nickName} - {tmember.role} + {tmember.firstName + " " + tmember.lastName} - {renderPulse(UserStatus.online)} + {renderPulse(tmember.userStatus)} ); }); diff --git a/pages/teams/index.tsx b/pages/teams/index.tsx index 4bf1bfc..724505c 100644 --- a/pages/teams/index.tsx +++ b/pages/teams/index.tsx @@ -40,7 +40,7 @@ function RouteHandler() { const returnedUser: User | null = await userService.getUser( currUser.uid ); - console.log(returnedUser); + // if user has no profile, then go to create profile if ( !returnedUser || @@ -57,6 +57,7 @@ function RouteHandler() { const returnedTeamMembers = await teamService.getTeamMembersByUserId( currUser.uid ); + console.log(returnedTeamMembers); // if the user is deleted from a team, don't let them go there returnedTeamMembers.map((tm) => { if (tm.status != TeamMemberStatus.deleted) { @@ -67,12 +68,12 @@ function RouteHandler() { return; } }); + + setLoading(false); } catch (error) { console.log(error); router.push("/teams/login"); } - - setLoading(false); })(); }, [currUser]);