dappros/ethora

View on GitHub
client-web/build/static/js/177.503185eb.chunk.js.map

Summary

Maintainability
Test Coverage
{"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":""}