import React from "react"; import { Course } from "@/data"; import { Semester } from "@/data/student"; import { useTranslation } from "react-i18next"; import { useSpacing } from "@/styles"; import { Field, FieldProps } from "formik"; import { TextField as TextFieldFormik } from "formik-material-ui"; import { Checkbox, Grid } from "@material-ui/core"; import { identityTransformer, Transformer } from "@/serialization"; export type CourseFormValues = Omit; export const initialCourseFormValues: CourseFormValues = { name: "", desiredSemesters: [] } export const courseFormValuesTransformer: Transformer = identityTransformer; export const DesiredSemestersField = ({ field, form, meta, ...props }: FieldProps) => { const { name, value = [] } = field; const { t } = useTranslation("management"); const toggle = (sid: Semester) => () => { if (!value.includes(sid)) { form.setFieldValue(name, [...value, sid]); } else { form.setFieldValue(name, value.filter((a) => a != sid)); } } const isChecked = (sid: Semester) => value.includes(sid); const desiredSemesterCheckboxes = []; for (var semesterId = 1; semesterId <= 10; semesterId++) { const sid = semesterId; desiredSemesterCheckboxes.push( { t("course.field.desiredSemester", {semesterId: semesterId})} ); } return { desiredSemesterCheckboxes } } export function CourseForm() { const { t } = useTranslation("management"); const spacing = useSpacing(2); return
}