From 8e66f455755c4e20bce435c84445324d164b99df Mon Sep 17 00:00:00 2001 From: Rutaj Dash <33367546+rutajdash@users.noreply.github.com> Date: Wed, 28 Dec 2022 06:10:26 +0530 Subject: [PATCH] feat: basic integration of live page (#384) * fix: add course list and disable till implementation * fix: integrate data display * chore: add session list * feat: integrate live page --- client/src/assets/placeholder/live.js | 26 ++-- client/src/components/live/companyBanner.js | 64 ++++++--- client/src/components/live/courseSelector.js | 117 +++++++++++++--- client/src/components/live/liveData.js | 131 ++++++++++++------ client/src/components/live/nameFilter.js | 4 + .../queries/live/getLiveByYearAndSemester.js | 29 ++++ client/src/pages/live.jsx | 20 +-- client/src/screens/Live.js | 88 +++++++++--- 8 files changed, 352 insertions(+), 127 deletions(-) create mode 100644 client/src/graphql/queries/live/getLiveByYearAndSemester.js diff --git a/client/src/assets/placeholder/live.js b/client/src/assets/placeholder/live.js index 23c83b7a..085c8aa4 100644 --- a/client/src/assets/placeholder/live.js +++ b/client/src/assets/placeholder/live.js @@ -7,16 +7,22 @@ import brillio from '../images/live/Brillio.png'; export const LIVE = Object.freeze({ sessions: [ - 'Autumn 2020-21', - 'Spring 2020-21', - 'Autumn 2019-20', - 'Spring 2019-20', - 'Autumn 2018-19', - 'Spring 2018-19', - 'Autumn 2017-18', - 'Spring 2017-18', - 'Autumn 2016-17', - 'Spring 2016-17', + // 'Spring 2023', + 'Autumn 2022', + 'Spring 2022', + 'Autumn 2021', + 'Spring 2021', + 'Autumn 2020', + 'Spring 2020', + 'Autumn 2019', + 'Spring 2019', + 'Autumn 2018', + 'Spring 2018', + 'Autumn 2017', + 'Spring 2017', + 'Autumn 2016', + 'Spring 2016', + 'Autumn 2015', ], departments: [ 'All Departments', diff --git a/client/src/components/live/companyBanner.js b/client/src/components/live/companyBanner.js index 6b156920..c30aec9a 100644 --- a/client/src/components/live/companyBanner.js +++ b/client/src/components/live/companyBanner.js @@ -1,35 +1,55 @@ -/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */ -/* eslint-disable jsx-a11y/no-static-element-interactions */ -/* eslint-disable jsx-a11y/click-events-have-key-events */ -import React, { useState } from 'react'; +import React, { useEffect, useState } from 'react'; // libararies import { Typography } from '@mui/material'; import makeStyles from '@mui/styles/makeStyles'; import Image from 'next/image'; +import getStores from '../../utils/getStores'; const CompanyBanner = ({ data }) => { const classes = useStyles(); const [show, setShow] = useState(false); + const [placedData, setPlacedData] = useState([]); + + useEffect(() => { + let placed = {}; + data.studentsRecruited.forEach((student) => { + if (!placed[student.degree]) { + placed[student.degree] = {}; + } + if (!placed[student.degree][student.branch]) { + placed[student.degree][student.branch] = []; + } + placed[student.degree][student.branch].push(student.name); + }); + setPlacedData(placed); + }, []); + return ( <>