2020-08-09 20:44:35 +02:00
|
|
|
import React, { useState } from "react";
|
2020-07-24 18:59:45 +02:00
|
|
|
import { Lecture } from "./types/lecture";
|
2020-07-30 18:06:27 +02:00
|
|
|
import { Group } from "./types/group";
|
2020-06-30 22:09:13 +02:00
|
|
|
interface ILectureContext {
|
2020-07-24 18:59:45 +02:00
|
|
|
lectures: Array<Lecture>;
|
2020-08-09 20:44:35 +02:00
|
|
|
addLecture: (lectures: Lecture) => void;
|
2020-06-30 22:09:13 +02:00
|
|
|
}
|
2020-07-24 18:59:45 +02:00
|
|
|
export const LecturesContext = React.createContext({
|
|
|
|
lectures: Array<Lecture>(),
|
2020-07-30 18:06:27 +02:00
|
|
|
choosenGroups: Array<Group>(),
|
2020-08-09 20:44:35 +02:00
|
|
|
addLecture: (lecture: Lecture) => {},
|
|
|
|
addGroup: (group : Group) => {}
|
2020-07-24 18:59:45 +02:00
|
|
|
});
|
|
|
|
|
|
|
|
export const LecturesProvider: React.FC = (props) => {
|
|
|
|
const [lectures, setLectures] = useState<Array<Lecture>>([]);
|
2020-07-30 18:06:27 +02:00
|
|
|
const [choosenGroups, setChoosenGroups] = useState<Array<Group>>([]);
|
2020-08-09 20:44:35 +02:00
|
|
|
const addLecture = (lecture: Lecture) => {
|
2020-07-24 18:59:45 +02:00
|
|
|
setLectures([...lectures, lecture]);
|
|
|
|
};
|
2020-08-09 20:44:35 +02:00
|
|
|
const addGroup = (group : Group) => {
|
2020-07-30 18:06:27 +02:00
|
|
|
setChoosenGroups([...choosenGroups, group]);
|
|
|
|
};
|
|
|
|
|
|
|
|
|
2020-07-24 18:59:45 +02:00
|
|
|
return (
|
|
|
|
<LecturesContext.Provider
|
2020-08-09 20:44:35 +02:00
|
|
|
value={{ lectures, choosenGroups, addLecture, addGroup }}
|
2020-07-24 18:59:45 +02:00
|
|
|
>
|
|
|
|
{props.children}
|
|
|
|
</LecturesContext.Provider>
|
|
|
|
);
|
|
|
|
};
|