import { Button, FormHelperText, Grid, Typography } from "@material-ui/core"; import { Description as DescriptionIcon } from "@material-ui/icons"; import { DropzoneArea } from "material-ui-dropzone"; import { Actions } from "@/components"; import { Link as RouterLink, useHistory } from "react-router-dom"; import { route } from "@/routing"; import React, { useState } from "react"; import { useTranslation } from "react-i18next"; import { InternshipPlanActions, useDispatch } from "@/state/actions"; import { UploadType } from "@/api/upload"; import api from "@/api"; import { useSelector } from "react-redux"; import { AppState } from "@/state/reducer"; import { InternshipDocument } from "@/api/dto/internship-registration"; export const PlanForm = () => { const { t } = useTranslation(); const [file, setFile] = useState(); const dispatch = useDispatch(); const history = useHistory(); const document = useSelector(state => state.plan.document); const handleSubmit = async () => { if (!file) { return; } let destination: InternshipDocument = document as any; if (!destination) { destination = await api.upload.create(UploadType.Ipp); dispatch({ type: InternshipPlanActions.Send, document: destination }); } await api.upload.upload(destination, file); history.push("/"); } return { t('forms.plan.instructions') } setFile(files[0]) }/> { t('forms.plan.dropzone-help') } }