Merge pull request #42 from CPSC319-Winter-term-2/home

Home
This commit is contained in:
cth0604 2022-03-25 11:01:31 -07:00 committed by GitHub
commit 492c66b8df
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 39 additions and 11 deletions

View File

@ -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;

View File

@ -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 });
} }

View File

@ -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 (