you can add lectures now:
:
This commit is contained in:
		@@ -79,8 +79,6 @@ export const CourseCard = ({ onCardClick, course, id, isSelected }: CourseCardPr
 | 
			
		||||
 | 
			
		||||
  const { addGroup } = useContext(coursesContext)!;
 | 
			
		||||
 | 
			
		||||
  console.log(`course`);
 | 
			
		||||
  console.log(course);
 | 
			
		||||
  const onGroupClick = (group: Group, id: number) => addGroup(group, id);
 | 
			
		||||
 | 
			
		||||
  return (
 | 
			
		||||
 
 | 
			
		||||
@@ -83,7 +83,7 @@ export const Dropdown = ({ clearInput, handleClearInput }: DropdownProps) => {
 | 
			
		||||
      const name = target.textContent;
 | 
			
		||||
 | 
			
		||||
      //porozmawiać z Filipem, żeby odrobinę przerobił endpoint
 | 
			
		||||
      const course: Basket = { name: name, id: parseInt(id), lecture: null, classes: null };
 | 
			
		||||
      const course: Basket = { name: name.trim(), id: parseInt(id), lecture: null, classes: null };
 | 
			
		||||
 | 
			
		||||
      addToBasket(course);
 | 
			
		||||
      setOpen(false);
 | 
			
		||||
 
 | 
			
		||||
@@ -36,8 +36,8 @@ export const Rightbar = () => {
 | 
			
		||||
  const { courses, basket } = useContext(coursesContext)!;
 | 
			
		||||
 | 
			
		||||
  const getBasketGroups = () => {
 | 
			
		||||
    const ids = basket.map(({ id }) => id);
 | 
			
		||||
    return courses.filter(({ id }) => ids.includes(id));
 | 
			
		||||
    const names = basket.map(({ name }) => name);
 | 
			
		||||
    return courses.filter(({ name }) => names.includes(name));
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  const filteredCourses = getBasketGroups();
 | 
			
		||||
 
 | 
			
		||||
@@ -2,6 +2,7 @@ import React, { useContext, useEffect, useState } from 'react';
 | 
			
		||||
import { SchedulerRow } from './SchedulerRow';
 | 
			
		||||
import { coursesContext } from '../contexts/CoursesProvider';
 | 
			
		||||
import { Group, Basket } from '../types';
 | 
			
		||||
import classes from '*.module.css';
 | 
			
		||||
 | 
			
		||||
interface SchedulerEventsProps {
 | 
			
		||||
  cellTop: number;
 | 
			
		||||
@@ -27,23 +28,20 @@ export const SchedulerEvents = ({ cellTop, cellWidth }: SchedulerEventsProps) =>
 | 
			
		||||
 | 
			
		||||
  useEffect(() => {
 | 
			
		||||
    function mapGroupTimeToEventRow(basket: Array<Basket>) {
 | 
			
		||||
      const basketGroups = basket.map(({ classes, lecture }) => ({
 | 
			
		||||
        ...classes,
 | 
			
		||||
        ...lecture,
 | 
			
		||||
      })) as Array<Group>;
 | 
			
		||||
      const classes = basket.map(({ classes }) => classes).filter((cl) => cl !== null) as Array<Group>;
 | 
			
		||||
      const lectures = basket.map(({ lecture }) => lecture).filter((lec) => lec !== null) as Array<Group>;
 | 
			
		||||
      const merged = [...classes, ...lectures];
 | 
			
		||||
 | 
			
		||||
      console.log('passed basket');
 | 
			
		||||
      console.log(basket);
 | 
			
		||||
      console.log(`basketgroups`);
 | 
			
		||||
      console.log(basketGroups);
 | 
			
		||||
      const groupsMapped = basketGroups.map(({ id, day, lecturer, room, time }) => ({
 | 
			
		||||
        id,
 | 
			
		||||
        day,
 | 
			
		||||
        lecturer,
 | 
			
		||||
        room,
 | 
			
		||||
        eventRow: groupTimeToEventRowMapping[time],
 | 
			
		||||
      }));
 | 
			
		||||
      setChoosenGroupsMappedToEvents(groupsMapped);
 | 
			
		||||
      if (merged.length >= 1) {
 | 
			
		||||
        const groupsMapped = merged.map(({ id, day, lecturer, room, time }) => ({
 | 
			
		||||
          id,
 | 
			
		||||
          day,
 | 
			
		||||
          lecturer,
 | 
			
		||||
          room,
 | 
			
		||||
          eventRow: groupTimeToEventRowMapping[time],
 | 
			
		||||
        }));
 | 
			
		||||
        setChoosenGroupsMappedToEvents(groupsMapped);
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    mapGroupTimeToEventRow(basket);
 | 
			
		||||
  }, [basket]);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user