Files
ota-admin-portal/src/components/FileUploadForm/index.jsx
John Wu fcde299197 Enable file upload form
Enable error boundary to catch React errors (#7)
Fix warning for link noreferrer
Include authorization header with file upload
2021-01-20 13:36:40 -08:00

47 lines
1.4 KiB
JavaScript

import React from "react";
import { Button, Container, CssBaseline, Grid, Typography } from "@material-ui/core";
import { DropzoneAreaBase } from "material-ui-dropzone";
import { useUserContext } from "../Contexts/UserContext";
import { useFileUploadContext, FileUploadProvider } from "../Contexts/FileUploadContext";
import ModalProgressBar from "../ModalProgressBar";
import useStyles from "../Styles";
const FileUploadZone = ({ classes, token }) => {
const { upload } = useFileUploadContext();
const { token: { accessToken: { jwtToken : authToken } } } = useUserContext();
return (
<form className={classes.form} noValidate>
<DropzoneAreaBase
maxFileSize={5e+7}
showAlerts={false}
onAdd={(files) => upload(files, authToken)}
/>
<ModalProgressBar />
</form>
);
};
export default function FileUploadForm() {
const { signOut } = useUserContext();
const classes = useStyles();
return (
<Container component="main" maxWidth="xs">
<CssBaseline />
<div className={classes.paper}>
<Typography component="h1" variant="h5">
Upload file
</Typography>
<FileUploadProvider>
<FileUploadZone classes={classes} />
</FileUploadProvider>
<Grid container>
<Grid item >
<Button onClick={signOut}>Sign Out</Button>
</Grid>
</Grid>
</div>
</Container>
);
}