From 28f8cddfe24854c371ba13b77656ec052b945fd5 Mon Sep 17 00:00:00 2001 From: Sudarshan Sreeram <sudarshan.sreeram19@imperial.ac.uk> Date: Thu, 13 Aug 2020 18:32:42 +0530 Subject: [PATCH] Add tutor information and notice board cards --- .../src/components/pages/Dashboard/index.tsx | 126 ++++++++++++++++-- .../pages/Dashboard/style.module.scss | 63 +++++++++ 2 files changed, 181 insertions(+), 8 deletions(-) diff --git a/frontend/src/components/pages/Dashboard/index.tsx b/frontend/src/components/pages/Dashboard/index.tsx index 3116136c1..08b39701f 100644 --- a/frontend/src/components/pages/Dashboard/index.tsx +++ b/frontend/src/components/pages/Dashboard/index.tsx @@ -15,6 +15,9 @@ const ModuleOverview: React.FC = () => { return ( <> <MyBreadcrumbs /> + + {/* User Card */} + <Container style={{ display: "flex", padding: 0 }}> <span> <Image className={styles.dashboardImage} src="holder.js/180x180" /> @@ -32,26 +35,133 @@ const ModuleOverview: React.FC = () => { <p className={styles.userCourse}>MEng Computing (IP)</p> </span> </Container> + + {/* User Buttons */} + <Row style={{ marginTop: "30px" }}> {[...Array(8)].map((e, i) => ( <Col xs={6} sm={6} md={3} key={i}> <Button className={styles.dashboardButton}> Button {i} - <FontAwesomeIcon - style={{ fontSize: "1.125rem" }} - icon={faFile} - className={styles.dashboardButtonSvg} - /> + <FontAwesomeIcon + style={{ fontSize: "1.125rem" }} + icon={faFile} + className={styles.dashboardButtonSvg} + /> </Button> </Col> ))} </Row> - <Row style={{marginTop: "30px"}}> - <Col> - <h4>Tutors</h4> + + {/* Tutors and Notice Board */} + + <Row style={{ marginTop: "30px" }}> + <Col> + <h4>Tutors</h4> + + {/* Tutor 1 */} + + <Container + style={{ + display: "flex", + padding: 0, + marginTop: "20px", + alignItems: "center" + }} + > + <span> + <Image className={styles.tutorImage} src="holder.js/60x60" /> + </span> + <span style={{ height: "72px" }}> + <p className={styles.tutorName}>Dr. Nicolas Wu</p> + <p className={styles.tutorEmail}>n.wu@imperial.ac.uk</p> + <p className={styles.tutorAddress}>374, Huxley Building</p> + </span> + </Container> + + {/* Tutor 2 */} + + <Container + style={{ + display: "flex", + padding: 0, + marginTop: "15px", + alignItems: "center" + }} + > + <span> + <Image className={styles.tutorImage} src="holder.js/60x60" /> + </span> + <span style={{ height: "72px" }}> + <p className={styles.tutorName}>Dr. Sophia Drossopoulou</p> + <p className={styles.tutorEmail}>s.drossopoulou@imperial.ac.uk</p> + <p className={styles.tutorAddress}>559, Huxley Building</p> + </span> + </Container> + + {/* Tutor 3 */} + + <Container + style={{ + display: "flex", + padding: 0, + marginTop: "15px", + alignItems: "center" + }} + > + <span> + <Image className={styles.tutorImage} src="holder.js/60x60" /> + </span> + <span style={{ height: "72px" }}> + <p className={styles.tutorName}>Mr. Evangelos Ververas</p> + <p className={styles.tutorEmail}>e.ververas16@imperial.ac.uk</p> + <p className={styles.tutorAddress}>Huxley Building</p> + </span> + </Container> </Col> <Col> <h4>Notice Board</h4> + + {/* Notice 1 */} + <div style={{ marginTop: "20px" }} className={styles.noticeContainer}> + <p className={styles.noticeHeading}>Lab Closure Information</p> + <span style={{ display: "flex", justifyContent: "space-between" }}> + <p className={styles.noticeUser}>Konstantinos Gkotuzis</p> + <p className={styles.noticeTime}>1 Minute Ago</p> + </span> + <p className={styles.noticeBody}> + Computing lab rooms 209, 208, and 210 would be closed for the year + one haskell exams on Friday 20th of April. + </p> + </div> + + {/* Notice 2 */} + + <div style={{ marginTop: "15px" }} className={styles.noticeContainer}> + <p className={styles.noticeHeading}>Lab Closure Information</p> + <span style={{ display: "flex", justifyContent: "space-between" }}> + <p className={styles.noticeUser}>Konstantinos Gkotuzis</p> + <p className={styles.noticeTime}>1 Minute Ago</p> + </span> + <p className={styles.noticeBody}> + Computing lab rooms 209, 208, and 210 would be closed for the year + one haskell exams on Friday 20th of April. + </p> + </div> + + {/* Notice 3 */} + + <div style={{ marginTop: "15px" }} className={styles.noticeContainer}> + <p className={styles.noticeHeading}>Lab Closure Information</p> + <span style={{ display: "flex", justifyContent: "space-between" }}> + <p className={styles.noticeUser}>Konstantinos Gkotuzis</p> + <p className={styles.noticeTime}>1 Minute Ago</p> + </span> + <p className={styles.noticeBody}> + Computing lab rooms 209, 208, and 210 would be closed for the year + one haskell exams on Friday 20th of April. + </p> + </div> </Col> </Row> </> diff --git a/frontend/src/components/pages/Dashboard/style.module.scss b/frontend/src/components/pages/Dashboard/style.module.scss index 893c45167..0e81b0a21 100644 --- a/frontend/src/components/pages/Dashboard/style.module.scss +++ b/frontend/src/components/pages/Dashboard/style.module.scss @@ -99,3 +99,66 @@ border-color: #fff; color: #000; } + +.tutorImage { + border-radius: 50%; + margin-right: 20px; +} + +.tutorName, .tutorEmail, .tutorAddress { + font-size: 18px; + margin-bottom: 0px; + line-height: 24px !important; +} + +.tutorName { + color: $blue-500; +} + +.tutorEmail { + color: $gray-700; +} + +.tutorAddress { + color: $gray-600; +} + +.noticeContainer { + background-color: $gray-100; + border-radius: 8px; + padding: 10px; + transition: transform 0.2s, box-shadow 0.2s; +} + +.noticeContainer:hover { + transform: scale(1.03); + box-shadow: 0 0.125rem 0.625rem 0 rgba(0, 0, 0, 0.1); +} + +.noticeHeading { + font-size: 18px; + color: $black; + font-weight: 500; + margin-bottom: 2px; + line-height: 22px; +} + +.noticeUser { + font-size: 16px; + color: $gray-700; + line-height: 18px; + margin-bottom: 10px; +} + +.noticeTime { + font-size: 16px; + color: $gray-600; + line-height: 18px; + margin-bottom: 10px; +} + +.noticeBody { + font-size: 16px; + color: $gray-800; + margin-bottom: 0px; +} -- GitLab