diff --git a/src/components/contacts/contacts-components/Body.tsx b/src/components/contacts/contacts-components/Body.tsx index b477500..2706ab5 100644 --- a/src/components/contacts/contacts-components/Body.tsx +++ b/src/components/contacts/contacts-components/Body.tsx @@ -16,7 +16,7 @@ const Body: React.FC = (props) => { flexDirection: "column", width: "100%", height: "100%", - mt: 2, + mt: 5, }} > diff --git a/src/components/contacts/contacts-components/body-components/LowerBody.tsx b/src/components/contacts/contacts-components/body-components/LowerBody.tsx index fcae8ea..a581061 100644 --- a/src/components/contacts/contacts-components/body-components/LowerBody.tsx +++ b/src/components/contacts/contacts-components/body-components/LowerBody.tsx @@ -24,12 +24,14 @@ const LowerBody: React.FC = (props) => { flexDirection: "column", border: 1, borderRadius: 2, + borderColor: "#af000d", + backgroundColor: "#af000d", width: "70%", height: "60%", alignSelf: "center", }} > - + Upcoming meetings {meetings.length === 0 ? ( diff --git a/src/components/contacts/contacts-components/body-components/UpperBody.tsx b/src/components/contacts/contacts-components/body-components/UpperBody.tsx index 1da27f8..c3548cf 100644 --- a/src/components/contacts/contacts-components/body-components/UpperBody.tsx +++ b/src/components/contacts/contacts-components/body-components/UpperBody.tsx @@ -67,6 +67,7 @@ const UpperBody: React.FC = ({ contactInfo }) => { flexDirection: "column", border: 1, borderRadius: 2, + borderColor: "#af000d", width: "70%", alignSelf: "center", mb: 2, @@ -95,7 +96,7 @@ const UpperBody: React.FC = ({ contactInfo }) => { ) : ( - + Schedule Meeting @@ -40,12 +33,10 @@ const ShortCuts: React.FC = ({ users }: Props) => { - + Call Group diff --git a/src/components/meeting-details/meeting-details-components/Body.tsx b/src/components/meeting-details/meeting-details-components/Body.tsx index 046525f..8f47ade 100644 --- a/src/components/meeting-details/meeting-details-components/Body.tsx +++ b/src/components/meeting-details/meeting-details-components/Body.tsx @@ -1,5 +1,6 @@ import { Box, + Divider, List, ListItem, ListItemIcon, @@ -43,6 +44,27 @@ const Body: React.FC = ({ meeting }) => { const registrants: UserLite[] = useAppSelector((state) => selectUsers(state, meeting.registrantIds) ); + const liveParticipants: UserLite[] = useAppSelector((state) => + selectUsers(state, props.meeting.liveParticipantIds) + ); + + const parseIsoString = (s: string) => { + const month = ["January", "February", "March", "April", + "May", "June", "July", "August", + "September", "October", "November", "December"][parseInt(s.slice(5,7)) - 1]; + const day = s.slice(8, 10); + const isoTime: string = s.slice(11, 16); + const hour: number = parseInt(isoTime.slice(0, 2)); + const hourMod: string = hour % 12 == 0 ? "12" : (hour % 12).toString(); + return month + " " + day + ", " + hourMod + ":" + isoTime.slice(3, 5) + (hour > 11 ? "PM" : "AM"); + }; + + const start = props.meeting.start; + const startDateString = parseIsoString(start); + const listLiveParticipants = () => { + const s: string[] = liveParticipants.map((user) => user.name + ", "); + return s.join("").slice(0, -2); + }; const meetingStatus = getMeetingStatus(meeting); return ( @@ -61,17 +83,16 @@ const Body: React.FC = ({ meeting }) => { flexDirection: "column", width: "70%", height: "100%", + mt: 10 }} > - {getMeetingDuration(meeting)} - Status: {meetingStatus} - - Topic: Lorem Ipsum is simply dummy text of the printing and - typesetting industry. Lorem Ipsum has been the industrys standard - dummy text ever since the 1500s. Topic: Lorem Ipsum is simply dummy - text of the printing and typesetting industry. Lorem Ipsum has been - the industrys standard dummy text ever since the 1500s. - + Meeting ID: {meeting.meetingId} + {meeting.topic} + + Start: {startDateString} + Duration: {meeting.duration.toString() + " minutes"} + + Currently inside: {listLiveParticipants()} = ({ user, status }: Props) => { const navigate = useNavigate(); const [anchorEl, setAnchorEl] = useState(null); + const [snackbarOpen, setSnackbarOpen] = useState(false); const me = useAppSelector(selectMe); const favoritesUuids = useAppSelector(selectFavorites); const meeting = useAppSelector((state) => @@ -37,6 +38,12 @@ const SettingsButton: React.FC = ({ user, status }: Props) => { const handleClose = () => { setAnchorEl(null); }; + const handleSnackbarClose = (event?: React.SyntheticEvent | Event, reason?: string) => { + if (reason === "clickaway") { + return; + } + setSnackbarOpen(false); + }; const startCall = async () => { const newMeeting: NewMeeting = { @@ -86,12 +93,14 @@ const SettingsButton: React.FC = ({ user, status }: Props) => { ) : ( { + setSnackbarOpen(true); handleClose(); dispatch(addFavorite({ userId: me, toBeAdded: user.uuid })); }} > Add to Favorites + )} {status.inMeeting ? ( = ({ user, status }: Props) => { Create meeting + + + User successfully added to favourites list! + + ); }; diff --git a/src/style/App.css b/src/style/App.css index 24fdd0e..79d04c1 100644 --- a/src/style/App.css +++ b/src/style/App.css @@ -11,13 +11,13 @@ a { } .main-home .meetings-panel { - margin: auto; margin-top: 15vh; + padding-bottom: 10vh; border-style: solid; - border-color: #D3D3D3; + border-color: mistyrose; border-width: 2px; border-radius: 40px; - width: 65%; + width: 85%; height: 65vh; overflow: hidden; } @@ -28,14 +28,14 @@ a { .main-home .meetings-panel .panel-label { text-align: center; - background-color: grey; + background-color: #AF000D; padding-top: 2%; padding-bottom: 2%; } .main-home .meetings-panel .meeting { - background-color: #D3D3D3; - text-align: center; + background-color: lightcoral; + text-align: left; margin-top: 15px; line-height: 2; } @@ -54,23 +54,24 @@ a { .main-home .short-cuts .mylabel { display: inline-block; - margin: 0; - width: 100px; + margin-left: 25%; + width: 125px; text-align: center; } .main-home .short-cuts .tile { - margin-right: 100%; - background-color: #D3D3D3; - width: 100px; - height: 100px; + margin-left: 25%; + margin-right: 50%; + background-color: mistyrose; + width: 125px; + height: 125px; border-radius: 16px; } .main-home .short-cuts .tile .icon { color: black; - width: 70%; - height: 70%; + width: 80%; + height: 80%; } .login .grid-container { diff --git a/src/style/App.css.map b/src/style/App.css.map index e1734c0..8a09258 100644 --- a/src/style/App.css.map +++ b/src/style/App.css.map @@ -1,6 +1,6 @@ { "version": 3, - "mappings": "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", + "mappings": "AG8CA,AAAA,WAAW,CAAC;EACR,KAAK,EAAE,IAAI;CAAG;;AAElB,AAAA,CAAC,CAAC;EACE,eAAe,EAAE,IAAI;CAAG;;AKlD5B,AAAA,UAAU,CAAC;EAGP,SAAS,EAAE,cAAc;CAuDO;;AA1DpC,AAII,UAJM,CAIN,eAAe,CAAC;EACZ,UAAU,EAAE,IAAI;EAChB,cAAc,EAAE,IAAI;EACpB,YAAY,EAAE,KAAK;EACnB,YAAY,EAAE,SAAS;EACvB,YAAY,EAAE,GAAG;EACjB,aAAa,EAAE,IAAI;EACnB,KAAK,EAAE,GAAG;EACV,MAAM,EAAE,IAAI;EACZ,QAAQ,EAAE,MAAM;CAuBW;;AApCnC,AAcQ,UAdE,CAIN,eAAe,CAUX,IAAI,CAAC;EACD,KAAK,EAAE,IAAI;CAAG;;AAf1B,AAgBQ,UAhBE,CAIN,eAAe,CAYX,YAAY,CAAC;EACT,UAAU,EAAE,MAAM;EAClB,gBAAgB,EAAE,OAAO;EACzB,WAAW,EAAE,EAAE;EACf,cAAc,EAAE,EAAE;CAAG;;AApBjC,AA8BQ,UA9BE,CAIN,eAAe,CA0BX,QAAQ,CAAC;EACL,gBAAgB,EAAE,UAAU;EAC5B,UAAU,EAAE,IAAI;EAChB,UAAU,EAAE,IAAI;EAChB,WAAW,EAAE,CAAC;CAAG;;AAlC7B,AAmCQ,UAnCE,CAIN,eAAe,CA+BX,YAAY,CAAC;EACT,aAAa,EAAE,GAAG;CAAG;;AApCjC,AAsCQ,UAtCE,CAqCN,WAAW,CACP,MAAM,CAAC;EAEH,UAAU,EAAE,IAAI;CAAG;;AAxC/B,AAyCQ,UAzCE,CAqCN,WAAW,CAIP,MAAM,CAAC;EACH,UAAU,EAAE,GAAG;CAAG;;AA1C9B,AA2CQ,UA3CE,CAqCN,WAAW,CAMP,QAAQ,CAAC;EACL,OAAO,EAAE,YAAY;EACrB,WAAW,EAAE,GAAG;EAChB,KAAK,EAAE,KAAK;EACZ,UAAU,EAAE,MAAM;CAAG;;AA/CjC,AAgDQ,UAhDE,CAqCN,WAAW,CAWP,KAAK,CAAC;EACF,WAAW,EAAE,GAAG;EAChB,YAAY,EAAE,GAAG;EACjB,gBAAgB,EAAE,SAAS;EAC3B,KAAK,EAAE,KAAK;EACZ,MAAM,EAAE,KAAK;EACb,aAAa,EAAE,IAAI;CAIC;;AA1DhC,AAuDY,UAvDF,CAqCN,WAAW,CAWP,KAAK,CAOD,KAAK,CAAC;EACF,KAAK,EAAE,KAAK;EACZ,KAAK,EAAE,GAAG;EACV,MAAM,EAAE,GAAG;CAAG;;AC1D9B,AACI,MADE,CACF,eAAe,CAAC;EACZ,WAAW,EAAE,MAAM;EACnB,MAAM,EAAE,IAAI;EACZ,UAAU,EAAE,GAAG;EACf,SAAS,EAAE,cAAc;CAqBC;;AA1BlC,AAMQ,MANF,CACF,eAAe,GAKT,CAAC,CAAC;EACA,KAAK,EAAE,GAAG;EACV,MAAM,EAAE,MAAM;CAAG;;AAR7B,AASQ,MATF,CACF,eAAe,CAQX,WAAW,CAAC;EACR,OAAO,EAAE,YAAY;EACrB,UAAU,EAAE,MAAM;EAClB,MAAM,EAAE,IAAI;CAAG;;AAZ3B,AAaQ,MAbF,CACF,eAAe,CAYX,UAAU,CAAE;EACR,MAAM,EAAE,IAAI;EACZ,KAAK,EAAE,GAAG;EACV,gBAAgB,EAAE,OAAO;CAAG;;AAhBxC,AAiBQ,MAjBF,CACF,eAAe,CAgBX,aAAa,CAAC;EACV,OAAO,EAAE,YAAY;EACrB,UAAU,EAAE,IAAI;EAChB,MAAM,EAAE,IAAI;EACZ,WAAW,EAAE,IAAI;CAAG;;AArBhC,AAsBQ,MAtBF,CACF,eAAe,CAqBX,UAAU,CAAC;EACP,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;CAEQ;;AA1BhC,AAyBY,MAzBN,CACF,eAAe,CAqBX,UAAU,CAGN,CAAC,CAAC;EACE,KAAK,EAAE,IAAI;CAAG", "sources": [ "App.sass", "_variables.sass", diff --git a/src/style/modules/_mainHome.sass b/src/style/modules/_mainHome.sass index c66df63..6841f07 100644 --- a/src/style/modules/_mainHome.sass +++ b/src/style/modules/_mainHome.sass @@ -3,20 +3,20 @@ // width: 100% !important max-width: 85% !important .meetings-panel - margin: auto margin-top: 15vh + padding-bottom: 10vh border-style: solid - border-color: $main-home-background-color + border-color: mistyrose border-width: 2px border-radius: 40px - width: 65% + width: 85% height: 65vh overflow: hidden .row width: 100% .panel-label text-align: center - background-color: grey + background-color: #AF000D padding-top: 2% padding-bottom: 2% // .current-time @@ -29,8 +29,8 @@ // background-color: grey // padding-bottom: 1% .meeting - background-color: $main-home-background-color - text-align: center + background-color: lightcoral + text-align: left margin-top: 15px line-height: 2 .lastMeeting @@ -43,16 +43,17 @@ margin-top: 5vh .mylabel display: inline-block - margin: 0 - width: 100px + margin-left: 25% + width: 125px text-align: center .tile - margin-right: 100% - background-color: $main-home-background-color - width: 100px - height: 100px + margin-left: 25% + margin-right: 50% + background-color: mistyrose + width: 125px + height: 125px border-radius: 16px .icon color: black - width: 70% - height: 70% \ No newline at end of file + width: 80% + height: 80% \ No newline at end of file