Checkpoint
This commit is contained in:
@ -77,18 +77,22 @@ interface CourseCardProps {
|
||||
export const CourseCard = ({ onCardClick, course, id, isSelected }: CourseCardProps) => {
|
||||
const classes = useStyles();
|
||||
|
||||
const { addChoosenGroup, choosenCourses } = useContext(coursesContext)!;
|
||||
const { addChoosenGroup, courses, choosenCourses } = useContext(coursesContext)!;
|
||||
|
||||
const onGroupClick = (group: Group) => addChoosenGroup(group);
|
||||
const choosenCoursesIds = choosenCourses.map(({ id }) => id);
|
||||
|
||||
const choosenCoursesWithGroups = courses.filter(({ id }) => choosenCoursesIds.includes(id));
|
||||
|
||||
const onGroupClick = (group: Group, id: number) => addChoosenGroup(group, id);
|
||||
|
||||
return (
|
||||
<CourseStyled onClick={onCardClick} id={id}>
|
||||
<CourseNameStyled>{course.name}</CourseNameStyled>
|
||||
<Collapse className={classes.expanded} in={isSelected} timeout="auto" unmountOnExit>
|
||||
{choosenCourses.map((course) => (
|
||||
{choosenCoursesWithGroups.map((course) => (
|
||||
<div key={id}>
|
||||
{course.groups.map((group, index) => (
|
||||
<ClassGroupStyled key={index} onClick={() => onGroupClick(group)}>
|
||||
{course.groups!.map((group, index) => (
|
||||
<ClassGroupStyled key={index} onClick={() => onGroupClick(group, course.id)}>
|
||||
<p>
|
||||
{group.time} {group.room} <br></br> {group.lecturer}
|
||||
</p>
|
||||
|
@ -38,10 +38,10 @@ const useStyles = makeStyles({
|
||||
|
||||
interface DropdownProps {
|
||||
clearInput: boolean;
|
||||
handleClearInput: ()=>void;
|
||||
handleClearInput: () => void;
|
||||
}
|
||||
|
||||
export const Dropdown = ({clearInput,handleClearInput}:DropdownProps) => {
|
||||
export const Dropdown = ({ clearInput, handleClearInput }: DropdownProps) => {
|
||||
const classes = useStyles();
|
||||
|
||||
const [open, setOpen] = React.useState(false);
|
||||
@ -63,12 +63,12 @@ export const Dropdown = ({clearInput,handleClearInput}:DropdownProps) => {
|
||||
filterCourses(input);
|
||||
}, [input, open, choosenCourses]);
|
||||
|
||||
useEffect(()=>{
|
||||
if(clearInput){
|
||||
setInput('')
|
||||
handleClearInput()
|
||||
useEffect(() => {
|
||||
if (clearInput) {
|
||||
setInput('');
|
||||
handleClearInput();
|
||||
}
|
||||
},[clearInput])
|
||||
}, [clearInput]);
|
||||
|
||||
const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => setInput(event.target.value);
|
||||
|
||||
@ -82,16 +82,14 @@ export const Dropdown = ({clearInput,handleClearInput}:DropdownProps) => {
|
||||
const id = target.id;
|
||||
const name = target.textContent;
|
||||
|
||||
const { data } = await axios.get(`${process.env.REACT_APP_API_URL}/getCourseGroups?id=${id}`);
|
||||
|
||||
//porozmawiać z Filipem, żeby odrobinę przerobił endpoint
|
||||
const course: Course = {
|
||||
const choosenCourse = {
|
||||
name: name,
|
||||
id: parseInt(id),
|
||||
groups: data,
|
||||
groups: [],
|
||||
};
|
||||
|
||||
addChoosenCourse(course);
|
||||
addChoosenCourse(choosenCourse);
|
||||
setOpen(false);
|
||||
}
|
||||
};
|
||||
|
@ -16,7 +16,6 @@ export const SchedulerEvents = ({ cellTop, cellWidth }: SchedulerEventsProps) =>
|
||||
interface GroupTimeToEventRowMapping {
|
||||
[time: string]: number;
|
||||
}
|
||||
//delete later additional mappings
|
||||
const groupTimeToEventRowMapping: GroupTimeToEventRowMapping = {
|
||||
'8.15': 0,
|
||||
'10.00': 1,
|
||||
|
Reference in New Issue
Block a user