commit
492c66b8df
@ -5,10 +5,32 @@ import { useAppSelector } from "../../redux/hooks";
|
|||||||
import { selectMeetings } from "../../redux/slices/meetingsAndUserStatusSlice";
|
import { selectMeetings } from "../../redux/slices/meetingsAndUserStatusSlice";
|
||||||
import { selectUsers } from "../../redux/slices/usersSlice";
|
import { selectUsers } from "../../redux/slices/usersSlice";
|
||||||
import { formatTimeFromDate } from "../../utils";
|
import { formatTimeFromDate } from "../../utils";
|
||||||
|
import UserLite from "../../api-bodies/UserLite";
|
||||||
|
|
||||||
const MeetingsPanel: React.FC = () => {
|
const MeetingsPanel: React.FC = () => {
|
||||||
|
|
||||||
const meetings = useAppSelector(selectMeetings);
|
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 (
|
return (
|
||||||
<div className="meetings-panel">
|
<div className="meetings-panel">
|
||||||
@ -23,9 +45,15 @@ const MeetingsPanel: React.FC = () => {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{meetings.map((meeting) => {
|
{meetings.map((meeting) => {
|
||||||
const meetingMembers = useAppSelector((state) =>
|
// const meetingMembers = useAppSelector((state) =>
|
||||||
selectUsers(state, meeting.liveParticipantIds)
|
// 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 startDate = new Date(meeting.start);
|
||||||
const startDatemil = startDate.getTime();
|
const startDatemil = startDate.getTime();
|
||||||
const endDatemil = startDatemil + meeting.duration*60000;
|
const endDatemil = startDatemil + meeting.duration*60000;
|
||||||
|
|||||||
@ -27,6 +27,7 @@ const Login: React.FC = () => {
|
|||||||
|
|
||||||
const [email, setEmail] = useState("");
|
const [email, setEmail] = useState("");
|
||||||
const [password, setPassword] = useState("");
|
const [password, setPassword] = useState("");
|
||||||
|
const [logedInUser, setLogedInUser] = useState("");
|
||||||
// const [errMsg, setErrMsg] = useState('');
|
// const [errMsg, setErrMsg] = useState('');
|
||||||
|
|
||||||
// const userRef = useRef();
|
// const userRef = useRef();
|
||||||
@ -40,6 +41,10 @@ const Login: React.FC = () => {
|
|||||||
// setErrMsg('');
|
// setErrMsg('');
|
||||||
// }, [user, pwd])
|
// }, [user, pwd])
|
||||||
|
|
||||||
|
store.dispatch(fetchMeetings(logedInUser));
|
||||||
|
store.dispatch(fetchUsers(logedInUser));
|
||||||
|
store.dispatch(fetchFavorites(logedInUser));
|
||||||
|
|
||||||
const handleLogin = async(e: React.SyntheticEvent) => {
|
const handleLogin = async(e: React.SyntheticEvent) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|
||||||
@ -47,10 +52,7 @@ const Login: React.FC = () => {
|
|||||||
if (email === "" && password === "") {
|
if (email === "" && password === "") {
|
||||||
setAuth["email"] = email;
|
setAuth["email"] = email;
|
||||||
setAuth["isLoggedIn"] = true;
|
setAuth["isLoggedIn"] = true;
|
||||||
|
|
||||||
store.dispatch(fetchMeetings(""));
|
|
||||||
store.dispatch(fetchUsers(""));
|
|
||||||
store.dispatch(fetchFavorites(""));
|
|
||||||
navigate(from, { replace: true });
|
navigate(from, { replace: true });
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -71,9 +73,7 @@ const Login: React.FC = () => {
|
|||||||
setAuth["email"] = email;
|
setAuth["email"] = email;
|
||||||
setAuth["isLoggedIn"] = true;
|
setAuth["isLoggedIn"] = true;
|
||||||
|
|
||||||
store.dispatch(fetchMeetings(logedInUserId));
|
setLogedInUser(logedInUserId);
|
||||||
store.dispatch(fetchUsers(logedInUserId));
|
|
||||||
store.dispatch(fetchFavorites(logedInUserId));
|
|
||||||
navigate(from, { replace: true });
|
navigate(from, { replace: true });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -13,7 +13,7 @@ const Clock: React.FC = () => {
|
|||||||
const [date, setDate] = useState<Date>(new Date());
|
const [date, setDate] = useState<Date>(new Date());
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setInterval(() => setDate(new Date()), 30000);
|
setInterval(() => setDate(new Date()), 1000);
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
Reference in New Issue
Block a user