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 (