client-web/build/static/js/177.503185eb.chunk.js.map
{"version":3,"file":"static/js/177.503185eb.chunk.js","mappings":"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","sources":["pages/UploadDocument/UploadDocument.tsx"],"sourcesContent":["import React, { useRef, useState } from \"react\";\nimport { Box, Button, FormHelperText, TextField } from \"@mui/material\";\nimport { useFormik } from \"formik\";\nimport * as http from \"../../http\";\nimport { useSnackbar } from \"../../context/SnackbarContext\";\n\nexport interface IUploadDocument {}\n\nconst UploadDocument: React.FC<IUploadDocument> = ({}) => {\n const [loading, setLoading] = useState(false);\n const fileRef = useRef<HTMLInputElement>(null);\n const { showSnackbar } = useSnackbar();\n const [uploadedFile, setUploadedFile] = useState({\n _id: \"\",\n createdAt: \"\",\n expiresAt: 0,\n filename: \"\",\n isVisible: true,\n location: \"\",\n locationPreview: \"\",\n mimetype: \"\",\n originalname: \"\",\n ownerKey: \"\",\n size: 0,\n updatedAt: \"\",\n userId: \"\",\n });\n\n const formik = useFormik({\n initialValues: {\n documentName: \"\",\n file: null,\n },\n validate: (values) => {\n const errors: Record<string, string> = {};\n\n if (!values.documentName) {\n errors.documentName = \"Required\";\n }\n\n if (!uploadedFile) {\n errors.file = \"File required\";\n }\n\n return errors;\n },\n onSubmit: async (values) => {\n setLoading(true);\n try {\n const fileLocation = uploadedFile.location;\n const documentUploadRest = await http.httpWithAuth().post(\"/docs\", {\n documentName: values.documentName,\n files: [fileLocation],\n });\n showSnackbar(\"success\", \"Document uploaded successfully\");\n\n setLoading(false);\n } catch (e) {\n console.log(e);\n showSnackbar(\"error\", \"Uploading failed\");\n\n setLoading(false);\n }\n },\n });\n\n const onFileChange = async (e: React.ChangeEvent<HTMLInputElement>) => {\n setLoading(true);\n console.log(e);\n try {\n const fd = new FormData();\n fd.append(\"files\", e.target.files[0]);\n const fileUploadResp = await http.httpWithAuth().post(\"/files\", fd);\n setUploadedFile(fileUploadResp.data.results[0]);\n formik.setValues(fileUploadResp.data.results[0]);\n } catch (error) {\n console.log(error);\n }\n setLoading(false);\n };\n return (\n <Box>\n <Box sx={{ width: \"100%\" }}>\n <Box\n sx={{\n width: \"50%\",\n typography: \"body1\",\n padding: 1,\n margin: \"auto\",\n }}\n >\n <form style={{ flex: \"1\" }} onSubmit={formik.handleSubmit}>\n <Box\n style={{\n padding: \"10px\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: uploadedFile.locationPreview ? \"end\" : \"center\",\n border: uploadedFile.locationPreview\n ? \"none\"\n : \"1px solid gray\",\n borderRadius: \"10px\",\n height: \"300px\",\n backgroundImage: uploadedFile.locationPreview\n ? `url(${uploadedFile.locationPreview})`\n : \"none\",\n backgroundSize: \"contain\",\n backgroundPosition: \"center\",\n backgroundRepeat: \"no-repeat\",\n }}\n >\n <input\n onChange={onFileChange}\n ref={fileRef}\n type=\"file\"\n style={{ display: \"none\" }}\n />\n <Button\n disabled={loading}\n color=\"secondary\"\n variant=\"contained\"\n onClick={() => fileRef?.current?.click()}\n >\n Upload File\n </Button>\n </Box>\n\n {formik.touched.file && formik.errors.file && (\n <FormHelperText error>\n {formik.errors.file as string}\n </FormHelperText>\n )}\n <TextField\n margin=\"dense\"\n inputProps={{\n autoComplete: \"off\",\n }}\n label=\"Document Name\"\n name=\"documentName\"\n type=\"text\"\n fullWidth\n variant=\"standard\"\n onChange={(e) => {\n formik.handleChange(e);\n }}\n onBlur={formik.handleBlur}\n error={\n formik.touched.documentName &&\n Boolean(formik.errors.documentName)\n }\n helperText={\n formik.touched.documentName && formik.errors.documentName\n ? formik.errors.documentName\n : \"\"\n }\n />\n <Box sx={{ margin: 2, display: \"flex\", justifyContent: \"center\" }}>\n <Button disabled={loading} type=\"submit\" variant=\"contained\">\n Create\n </Button>\n </Box>\n </form>\n </Box>\n </Box>\n </Box>\n );\n};\nexport default UploadDocument;\n"],"names":["useState","loading","setLoading","fileRef","useRef","showSnackbar","useSnackbar","_id","createdAt","expiresAt","filename","isVisible","location","locationPreview","mimetype","originalname","ownerKey","size","updatedAt","userId","uploadedFile","setUploadedFile","formik","useFormik","initialValues","documentName","file","validate","values","errors","onSubmit","fileLocation","http","post","files","console","log","onFileChange","e","fd","FormData","append","target","fileUploadResp","data","results","setValues","sx","width","typography","padding","margin","style","flex","handleSubmit","display","flexDirection","alignItems","justifyContent","border","borderRadius","height","backgroundImage","backgroundSize","backgroundPosition","backgroundRepeat","onChange","ref","type","disabled","color","variant","onClick","current","click","touched","error","inputProps","autoComplete","label","name","fullWidth","handleChange","onBlur","handleBlur","Boolean","helperText"],"sourceRoot":""}