empty string for mock data

This commit is contained in:
Taehee Choi 2022-03-25 13:15:25 -07:00
parent 04320c0ee5
commit ff8cd26a53
6 changed files with 101 additions and 59 deletions

View File

@ -77,7 +77,7 @@ const meetings = [
]; ];
const team = { const team = {
user: "0", user: "",
manager: "1", manager: "1",
sameManager: ["2", "3", "4", "5", "6"], sameManager: ["2", "3", "4", "5", "6"],
directReports: [], directReports: [],

View File

@ -7,7 +7,6 @@ import { selectUsers } from "../../redux/slices/usersSlice";
import { formatTimeFromDate } from "../../utils"; import { formatTimeFromDate } from "../../utils";
const MeetingsPanel: React.FC = () => { const MeetingsPanel: React.FC = () => {
const meetings = useAppSelector(selectMeetings); const meetings = useAppSelector(selectMeetings);
return ( return (
@ -19,7 +18,9 @@ const MeetingsPanel: React.FC = () => {
<Typography className="mylabel" sx={{ ml: 1 }}>Sunday, 03 Feb 2022</Typography> <Typography className="mylabel" sx={{ ml: 1 }}>Sunday, 03 Feb 2022</Typography>
</div> */} </div> */}
<div className="row panel-label"> <div className="row panel-label">
<Typography className="mylabel" sx={{ ml: 1 }}>Meetings in Progress</Typography> <Typography className="mylabel" sx={{ ml: 1 }}>
Meetings in Progress
</Typography>
</div> </div>
{meetings.map((meeting) => { {meetings.map((meeting) => {
@ -41,8 +42,14 @@ const MeetingsPanel: React.FC = () => {
return ( return (
<Meeting <Meeting
meetingName={meeting.topic} meetingName={meeting.topic}
meetingTime={formatTimeFromDate(startDate) + " - " + formatTimeFromDate(endDate)} meetingTime={
meetingMembers={meetingMembers.map((userLite) => (" " + userLite.name + " ")).toString()} formatTimeFromDate(startDate) +
" - " +
formatTimeFromDate(endDate)
}
meetingMembers={meetingMembers
.map((userLite) => " " + userLite.name + " ")
.toString()}
/> />
); );
} }

View File

@ -13,7 +13,6 @@ import { fetchFavorites } from "../../redux/slices/favoritesSlice";
import { fetchMeetings } from "../../redux/slices/meetingsAndUserStatusSlice"; import { fetchMeetings } from "../../redux/slices/meetingsAndUserStatusSlice";
import { fetchUsers } from "../../redux/slices/usersSlice"; import { fetchUsers } from "../../redux/slices/usersSlice";
import axios from "../../api/axios"; import axios from "../../api/axios";
import { socketActions } from "../../redux/slices/meetingsAndUserStatusSlice";
interface LocationState { interface LocationState {
from: { pathname: string }; from: { pathname: string };
@ -72,7 +71,6 @@ const Login: React.FC = () => {
setAuth.email = email; setAuth.email = email;
setAuth.isLoggedIn = true; setAuth.isLoggedIn = true;
store.dispatch(socketActions.startConnecting());
store.dispatch(fetchMeetings(logedInUserId)); store.dispatch(fetchMeetings(logedInUserId));
store.dispatch(fetchUsers(logedInUserId)); store.dispatch(fetchUsers(logedInUserId));
store.dispatch(fetchFavorites(logedInUserId)); store.dispatch(fetchFavorites(logedInUserId));

View File

@ -1,6 +1,7 @@
import { createAsyncThunk, createSlice } from "@reduxjs/toolkit"; import { createAsyncThunk, createSlice } from "@reduxjs/toolkit";
import { RootState } from "../store"; import { RootState } from "../store";
import axios from "../../api/axios"; import axios from "../../api/axios";
import { favorites } from "../../api-bodies/MockData";
interface FavoritesState { interface FavoritesState {
favorites: string[]; favorites: string[];
@ -32,25 +33,37 @@ export const favoritesSlice = createSlice({
export const fetchFavorites = createAsyncThunk( export const fetchFavorites = createAsyncThunk(
"favorites/fetchFavorites", "favorites/fetchFavorites",
async (uuid: string) => { async (uuid: string) => {
if (uuid) {
const response = await axios.get(`/users/${uuid}/favourites`); const response = await axios.get(`/users/${uuid}/favourites`);
return response.data.userIds; return response.data.userIds;
} else {
return favorites;
}
} }
); );
export const addFavorite = createAsyncThunk( export const addFavorite = createAsyncThunk(
"favorites/addFavorite", "favorites/addFavorite",
async (ids: { userId: string; toBeAdded: string }) => { async (ids: { userId: string; toBeAdded: string }) => {
if (ids.userId) {
await axios.post( await axios.post(
`/users/${ids.userId}/favourites`, `/users/${ids.userId}/favourites`,
JSON.stringify({ userId: ids.toBeAdded }) JSON.stringify({ userId: ids.toBeAdded })
); );
return ids.toBeAdded; return ids.toBeAdded;
} else {
return ids.toBeAdded;
}
} }
); );
export const removeFavorite = createAsyncThunk( export const removeFavorite = createAsyncThunk(
"favorites/removeFavorite", "favorites/removeFavorite",
async (ids: { userId: string; toBeRemoved: string }) => { async (ids: { userId: string; toBeRemoved: string }) => {
if (ids.userId) {
await axios.delete(`/users/${ids.userId}/favourites/${ids.toBeRemoved}`); await axios.delete(`/users/${ids.userId}/favourites/${ids.toBeRemoved}`);
return ids.toBeRemoved; return ids.toBeRemoved;
} else {
return ids.toBeRemoved;
}
} }
); );
export const selectFavorites = (state: RootState) => state.favorites.favorites; export const selectFavorites = (state: RootState) => state.favorites.favorites;

View File

@ -3,6 +3,7 @@ import DetailedMeeting from "../../api-bodies/DetailedMeeting";
import { RootState } from "../store"; import { RootState } from "../store";
import UserStatus from "../../api-bodies/UserStatus"; import UserStatus from "../../api-bodies/UserStatus";
import axios from "../../api/axios"; import axios from "../../api/axios";
import { meetings } from "../../api-bodies/MockData";
interface MeetingsAndUserStatusState { interface MeetingsAndUserStatusState {
meetings: DetailedMeeting[]; meetings: DetailedMeeting[];
@ -47,6 +48,7 @@ export const meetingsAndUserStatusSlice = createSlice({
export const fetchMeetings = createAsyncThunk( export const fetchMeetings = createAsyncThunk(
"meetingsAndUserStatus/fetchMeetings", "meetingsAndUserStatus/fetchMeetings",
async (uuid: string) => { async (uuid: string) => {
if (uuid) {
const response = await axios.get( const response = await axios.get(
`/users/${uuid}/meetings?start=1900-01-01&end=2100-01-01` `/users/${uuid}/meetings?start=1900-01-01&end=2100-01-01`
); );
@ -62,6 +64,19 @@ export const fetchMeetings = createAsyncThunk(
}); });
}); });
return { userStatuses: userStatuses, meetings: meetings }; return { userStatuses: userStatuses, meetings: meetings };
} else {
const userStatuses: Record<string, UserStatus> = {};
meetings.forEach((meeting) => {
meeting.liveParticipantIds.forEach((uuid) => {
userStatuses[uuid] = {
userId: uuid,
inMeeting: true,
meetingId: meeting.meetingId,
};
});
});
return { userStatuses: userStatuses, meetings: meetings };
}
} }
); );

View File

@ -3,6 +3,7 @@ import { RootState } from "../store";
import UserLite from "../../api-bodies/UserLite"; import UserLite from "../../api-bodies/UserLite";
import axios from "../../api/axios"; import axios from "../../api/axios";
import UserFull from "../../api-bodies/UserFull"; import UserFull from "../../api-bodies/UserFull";
import { userLites, team } from "../../api-bodies/MockData";
interface TeamState { interface TeamState {
user: string; user: string;
@ -36,6 +37,7 @@ export const usersSlice = createSlice({
export const fetchUsers = createAsyncThunk( export const fetchUsers = createAsyncThunk(
"users/fetchUsers", "users/fetchUsers",
async (uuid: string) => { async (uuid: string) => {
if (uuid) {
const users: Record<string, UserLite> = {}; const users: Record<string, UserLite> = {};
const team: TeamState = { const team: TeamState = {
user: "", user: "",
@ -63,6 +65,13 @@ export const fetchUsers = createAsyncThunk(
}); });
console.log(users); console.log(users);
return { users: users, team: team }; return { users: users, team: team };
} else {
const users: Record<string, UserLite> = {};
userLites.forEach((userLite) => {
users[userLite.uuid] = userLite;
});
return { users: users, team: team };
}
} }
); );