Apply Prettier styles

This commit is contained in:
TUTOR03 2020-12-13 14:15:30 +00:00 committed by GitHub Actions
parent adaf786ddd
commit 7ad62907ec
3 changed files with 74 additions and 39 deletions

View File

@ -11,55 +11,83 @@ import {
CardT,
SubjectT,
} from "./types/timetable";
import { initialEventLessonsGenrator } from './utils/timetable'
import { initialEventLessonsGenrator } from "./utils/timetable";
export const useTimetable: UseTimetableHookFT = () => {
const [cardState, setCardState] = useState<CardT[]>([])
const [dayState, setDayState] = useState<DayT[]>([])
const [subjectState, setSubjectState] = useState<SubjectT[]>([])
const [cardState, setCardState] = useState<CardT[]>([]);
const [dayState, setDayState] = useState<DayT[]>([]);
const [subjectState, setSubjectState] = useState<SubjectT[]>([]);
// const [startDateState, setStartDateState] = useState<number>(0)
const createSubject: CreateSubjectFT = (title, teachers) => {
setSubjectState((prev) => ([...prev, { title, teachers }]))
setSubjectState(prev => [...prev, { title, teachers }]);
};
const createCard: CreateCardFT = (subject, teacher, room) => {
setCardState((prev) => ([...prev, { subject, teacher, room }]))
setCardState(prev => [...prev, { subject, teacher, room }]);
};
const createDay: CreateDayFT = (date) => {
setDayState((prev) => [...prev, { date, events: [] }])
}
const createDay: CreateDayFT = date => {
setDayState(prev => [...prev, { date, events: [] }]);
};
const addEvent: AddEventFT = (dayId) => {
setDayState((days) => days.map((day, i) => (i == dayId) ? { ...day, events: [...day.events, { lessons: initialEventLessonsGenrator() }] } : day))
}
const addLesson: AddLessonFT = (dayId, eventId, groupId, isPair, lessonId, lessonNumber) => {
setDayState((days) => days.map(
(day, dayIndex) => (
(dayIndex == dayId) ? {
const addEvent: AddEventFT = dayId => {
setDayState(days =>
days.map((day, i) =>
i == dayId
? {
...day,
events: day.events.map(
(event, eventIndex) => (
(eventIndex == eventId) ? {
lessons: event.lessons.map(
(lesson, lessonIndex) => (
(lessonIndex == groupId) ? (
(isPair) ? [lessonId, lessonId] : lesson.map((lessonElement, lessonElementIndex) => (
(lessonElementIndex == lessonNumber) ? lessonId : lessonElement
))
) : lesson
)
)
} : event
)
)
} : day
)
))
events: [
...day.events,
{ lessons: initialEventLessonsGenrator() },
],
}
return { state: { cards: cardState, subjects: subjectState, days: dayState }, createCard, createSubject, createDay, addLesson };
: day
)
);
};
const addLesson: AddLessonFT = (
dayId,
eventId,
groupId,
isPair,
lessonId,
lessonNumber
) => {
setDayState(days =>
days.map((day, dayIndex) =>
dayIndex == dayId
? {
...day,
events: day.events.map((event, eventIndex) =>
eventIndex == eventId
? {
lessons: event.lessons.map((lesson, lessonIndex) =>
lessonIndex == groupId
? isPair
? [lessonId, lessonId]
: lesson.map((lessonElement, lessonElementIndex) =>
lessonElementIndex == lessonNumber
? lessonId
: lessonElement
)
: lesson
),
}
: event
),
}
: day
)
);
};
return {
state: { cards: cardState, subjects: subjectState, days: dayState },
createCard,
createSubject,
createDay,
addLesson,
};
};

View File

@ -36,7 +36,14 @@ export type CreateDayFT = (date: number) => void;
export type AddEventFT = (dayId: number) => void;
export type AddLessonFT = (dayId: number, eventId: number, groupId:number, isPair: boolean, lessonId: number, lessonNumber?: number) => void;
export type AddLessonFT = (
dayId: number,
eventId: number,
groupId: number,
isPair: boolean,
lessonId: number,
lessonNumber?: number
) => void;
export type UseTimetableHookFT = () => {
createSubject: CreateSubjectFT;

View File

@ -1,2 +1,2 @@
export const initialEventLessonsGenrator = () =>
Array(6).map<number[]>(() => [0, 0])
Array(6).map<number[]>(() => [0, 0]);