diff --git a/src/components/home/MeetingsPanel.tsx b/src/components/home/MeetingsPanel.tsx index 96c7dca..778b36a 100644 --- a/src/components/home/MeetingsPanel.tsx +++ b/src/components/home/MeetingsPanel.tsx @@ -5,10 +5,32 @@ import { useAppSelector } from "../../redux/hooks"; import { selectMeetings } from "../../redux/slices/meetingsAndUserStatusSlice"; import { selectUsers } from "../../redux/slices/usersSlice"; import { formatTimeFromDate } from "../../utils"; +import UserLite from "../../api-bodies/UserLite"; const MeetingsPanel: React.FC = () => { const meetings = useAppSelector(selectMeetings); + const uuids: string[] = []; + meetings.forEach((meeting) => { + meeting.liveParticipantIds.forEach((uuid) => { + if(!uuids.includes(uuid)) { + uuids.push(uuid); + } + }); + }); + + const participants = useAppSelector((state) => + selectUsers(state,uuids) + ); + + // const participants: (UserLite | undefined)[] = []; + // uuids.forEach((uuid) => { + // const userLite = useAppSelector((state) => + // selectUser(state,uuid) + // ); + // participants.push(userLite); + // }); + return (
@@ -23,9 +45,15 @@ const MeetingsPanel: React.FC = () => {
{meetings.map((meeting) => { - const meetingMembers = useAppSelector((state) => - selectUsers(state, meeting.liveParticipantIds) - ); + // const meetingMembers = useAppSelector((state) => + // selectUsers(state, meeting.liveParticipantIds) + // ); + const meetingMembers: UserLite[] = []; + participants.forEach((userLite) => { + if (userLite != undefined && meeting.liveParticipantIds.includes(userLite.uuid)) { + meetingMembers.push(userLite); + } + }); const startDate = new Date(meeting.start); const startDatemil = startDate.getTime(); const endDatemil = startDatemil + meeting.duration*60000; diff --git a/src/components/login/Login.tsx b/src/components/login/Login.tsx index 397c4a9..493ab33 100644 --- a/src/components/login/Login.tsx +++ b/src/components/login/Login.tsx @@ -27,6 +27,7 @@ const Login: React.FC = () => { const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); + const [logedInUser, setLogedInUser] = useState(""); // const [errMsg, setErrMsg] = useState(''); // const userRef = useRef(); @@ -40,6 +41,10 @@ const Login: React.FC = () => { // setErrMsg(''); // }, [user, pwd]) + store.dispatch(fetchMeetings(logedInUser)); + store.dispatch(fetchUsers(logedInUser)); + store.dispatch(fetchFavorites(logedInUser)); + const handleLogin = async(e: React.SyntheticEvent) => { e.preventDefault(); @@ -47,10 +52,7 @@ const Login: React.FC = () => { if (email === "" && password === "") { setAuth["email"] = email; setAuth["isLoggedIn"] = true; - - store.dispatch(fetchMeetings("")); - store.dispatch(fetchUsers("")); - store.dispatch(fetchFavorites("")); + navigate(from, { replace: true }); } @@ -71,9 +73,7 @@ const Login: React.FC = () => { setAuth["email"] = email; setAuth["isLoggedIn"] = true; - store.dispatch(fetchMeetings(logedInUserId)); - store.dispatch(fetchUsers(logedInUserId)); - store.dispatch(fetchFavorites(logedInUserId)); + setLogedInUser(logedInUserId); navigate(from, { replace: true }); } diff --git a/src/components/navbar/Clock.tsx b/src/components/navbar/Clock.tsx index 2de6a3b..d42da13 100644 --- a/src/components/navbar/Clock.tsx +++ b/src/components/navbar/Clock.tsx @@ -13,7 +13,7 @@ const Clock: React.FC = () => { const [date, setDate] = useState(new Date()); useEffect(() => { - setInterval(() => setDate(new Date()), 30000); + setInterval(() => setDate(new Date()), 1000); }, []); return (