{"ast":null,"code":"var _jsxFileName = \"C:\\\\laragon\\\\www\\\\iot.mksolusi\\\\DriverOPCDA\\\\frontend\\\\src\\\\components\\\\pages\\\\Login.jsx\",\n    _s = $RefreshSig$();\n\nimport React from \"react\";\nimport { useState, useEffect } from \"react\";\nimport Button from \"@material-ui/core/Button\";\nimport CssBaseline from \"@material-ui/core/CssBaseline\";\nimport { useHistory } from \"react-router-dom\";\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\nimport Link from \"@material-ui/core/Link\";\nimport Grid from \"@material-ui/core/Grid\";\nimport Box from \"@material-ui/core/Box\";\nimport Typography from \"@material-ui/core/Typography\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport { IconButton } from \"@material-ui/core\";\nimport { Visibility, VisibilityOff } from \"@material-ui/icons\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport axios from \"axios\";\nimport Container from \"@material-ui/core/Container\";\nimport logo_eh from \"../../assets/logo_eh.png\";\nimport logo_gr from \"../../assets/logo_groot.png\";\nimport { green } from \"@material-ui/core/colors\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\nimport { connect } from \"react-redux\";\nimport { setUserAuth, setIsAuth } from \"../../../src/redux/UserLogin/userLogin.action\";\nimport { ValidatorForm, TextValidator } from \"react-material-ui-form-validator\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst AddUserButton = withStyles({\n  root: {\n    background: \"linear-gradient(45deg, #2196F3 30%, #2196F3 90%)\",\n    borderRadius: 3,\n    border: 0,\n    float: \"right\",\n    color: \"white\",\n    height: 40,\n    padding: \"0 30px\",\n    boxShadow: \"0 3px 20px 2px rgb(151 151 151 / 42%)\"\n  },\n  label: {\n    textTransform: \"capitalize\"\n  }\n})(Button);\n\nfunction Copyright() {\n  return /*#__PURE__*/_jsxDEV(Typography, {\n    variant: \"body2\",\n    color: \"textSecondary\",\n    align: \"center\",\n    children: [\"Powered By  \", /*#__PURE__*/_jsxDEV(Link, {\n      color: \"inherit\",\n      href: \"https://grootech.id\",\n      children: /*#__PURE__*/_jsxDEV(\"img\", {\n        src: logo_gr,\n        style: {\n          maxHeight: \"40px\",\n          marginBlock: \"-14px\"\n        },\n        alt: \"logo\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 46,\n        columnNumber: 9\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 44,\n      columnNumber: 7\n    }, this), \" \", new Date().getFullYear(), \".\"]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 42,\n    columnNumber: 5\n  }, this);\n}\n\n_c = Copyright;\nconst useStyles = makeStyles(theme => ({\n  paper: {\n    marginTop: theme.spacing(8),\n    display: \"flex\",\n    flexDirection: \"column\",\n    alignItems: \"center\"\n  },\n  avatar: {\n    margin: theme.spacing(1),\n    backgroundColor: theme.palette.secondary.main\n  },\n  form: {\n    width: \"100%\",\n    // Fix IE 11 issue.\n    marginTop: theme.spacing(1)\n  },\n  submit: {\n    margin: theme.spacing(3, 0, 2)\n  },\n  wrapper: {\n    margin: theme.spacing(1),\n    position: \"relative\"\n  },\n  buttonSuccess: {\n    backgroundColor: green[500],\n    \"&:hover\": {\n      backgroundColor: green[700]\n    }\n  },\n  fabProgress: {\n    color: green[500],\n    position: \"absolute\",\n    top: -6,\n    left: -6,\n    zIndex: 1\n  },\n  buttonProgress: {\n    color: green[500],\n    position: \"absolute\",\n    top: \"50%\",\n    left: \"50%\",\n    marginTop: -12,\n    marginLeft: -12\n  }\n}));\n\nfunction Login(props) {\n  _s();\n\n  const history = useHistory();\n  const classes = useStyles();\n  const [emailOrUsername, setEmailOrUsername] = useState(\"\");\n  const [password, setPassword] = useState(\"\");\n  const [values, setValues] = React.useState({\n    showPassword: false\n  });\n  const [loading, setLoading] = React.useState(false);\n\n  async function handleSubmit() {\n    let params = {\n      emailOrUsername: emailOrUsername,\n      password: password\n    };\n    setLoading(true);\n    await axios.post(process.env.REACT_APP_BASE_URL + \"/login\", params).then(res => {\n      if (res.data.code !== 200) {\n        alert(res.data.message);\n        setLoading(false);\n      } else {\n        setLoading(false);\n        props.setUserAuth(res.data.data.user);\n        props.setIsAuth(true);\n        history.push(\"/dashboard\");\n      }\n    });\n  }\n\n  const handleClickShowPassword = () => {\n    setValues({ ...values,\n      showPassword: !values.showPassword\n    });\n  };\n\n  const handleMouseDownPassword = event => {\n    event.preventDefault();\n  };\n\n  useEffect(() => {\n    document.title = process.env.REACT_APP_APP_NAME + \" - \" + \"Login\";\n    return () => {};\n  }, []);\n  return /*#__PURE__*/_jsxDEV(Container, {\n    component: \"main\",\n    maxWidth: \"xs\",\n    children: [/*#__PURE__*/_jsxDEV(CssBaseline, {}, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 147,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n      className: classes.paper,\n      children: [/*#__PURE__*/_jsxDEV(\"img\", {\n        src: logo_eh,\n        style: {\n          maxHeight: \"125px\"\n        },\n        alt: \"logo\",\n        className: classes.logo\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 149,\n        columnNumber: 9\n      }, this), /*#__PURE__*/_jsxDEV(Typography, {\n        component: \"h2\",\n        variant: \"h5\",\n        children: \"Endress+Hauser\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 155,\n        columnNumber: 9\n      }, this), /*#__PURE__*/_jsxDEV(Typography, {\n        component: \"h2\",\n        variant: \"h5\",\n        children: \"TankVision Login\"\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 158,\n        columnNumber: 9\n      }, this), /*#__PURE__*/_jsxDEV(ValidatorForm, {\n        className: classes.form,\n        onSubmit: handleSubmit,\n        children: [/*#__PURE__*/_jsxDEV(TextValidator, {\n          variant: \"outlined\",\n          margin: \"normal\",\n          validators: [\"required\"],\n          errorMessages: [\"this field is required\"],\n          fullWidth: true,\n          id: \"emailorusername\",\n          label: \"Email / Username\",\n          name: \"email_or_username\",\n          autoComplete: \"email/username\",\n          autoFocus: true,\n          onChange: e => setEmailOrUsername(e.target.value),\n          value: emailOrUsername\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 163,\n          columnNumber: 11\n        }, this), /*#__PURE__*/_jsxDEV(TextValidator, {\n          variant: \"outlined\",\n          margin: \"normal\",\n          validators: [\"required\"],\n          errorMessages: [\"this field is required\"],\n          fullWidth: true,\n          name: \"password\",\n          label: \"Password\",\n          type: values.showPassword ? \"text\" : \"password\",\n          id: \"password\",\n          value: password,\n          onChange: e => setPassword(e.target.value)\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 191,\n          columnNumber: 11\n        }, this), /*#__PURE__*/_jsxDEV(FormControlLabel, {\n          control: /*#__PURE__*/_jsxDEV(IconButton, {\n            \"aria-label\": \"toggle password visibility\",\n            onClick: handleClickShowPassword,\n            onMouseDown: handleMouseDownPassword,\n            children: values.showPassword ? /*#__PURE__*/_jsxDEV(Visibility, {}, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 212,\n              columnNumber: 40\n            }, this) : /*#__PURE__*/_jsxDEV(VisibilityOff, {}, void 0, false, {\n              fileName: _jsxFileName,\n              lineNumber: 212,\n              columnNumber: 57\n            }, this)\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 207,\n            columnNumber: 15\n          }, this),\n          label: \"Password Visibility\"\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 205,\n          columnNumber: 11\n        }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n          className: classes.wrapper,\n          children: [/*#__PURE__*/_jsxDEV(AddUserButton, {\n            type: \"submit\",\n            fullWidth: true,\n            variant: \"contained\",\n            color: \"primary\",\n            disabled: loading // onClick={(e) => onLogin(e)}\n            ,\n            className: classes.submit,\n            children: \"Log In\"\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 218,\n            columnNumber: 13\n          }, this), loading && /*#__PURE__*/_jsxDEV(CircularProgress, {\n            size: 24,\n            className: classes.buttonProgress\n          }, void 0, false, {\n            fileName: _jsxFileName,\n            lineNumber: 231,\n            columnNumber: 15\n          }, this)]\n        }, void 0, true, {\n          fileName: _jsxFileName,\n          lineNumber: 217,\n          columnNumber: 11\n        }, this), /*#__PURE__*/_jsxDEV(Grid, {\n          container: true\n        }, void 0, false, {\n          fileName: _jsxFileName,\n          lineNumber: 235,\n          columnNumber: 11\n        }, this)]\n      }, void 0, true, {\n        fileName: _jsxFileName,\n        lineNumber: 161,\n        columnNumber: 9\n      }, this)]\n    }, void 0, true, {\n      fileName: _jsxFileName,\n      lineNumber: 148,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(Box, {\n      mt: 8,\n      children: /*#__PURE__*/_jsxDEV(Copyright, {}, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 251,\n        columnNumber: 9\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 250,\n      columnNumber: 7\n    }, this)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 146,\n    columnNumber: 5\n  }, this);\n}\n\n_s(Login, \"/MDpE4I+qBiMbla9YuV5/vDFOFw=\", false, function () {\n  return [useHistory, useStyles];\n});\n\n_c2 = Login;\n\nconst mapStateToProps = state => {\n  return {\n    StateUserAuth: state.auth\n  };\n};\n\nconst mapDispatchToProps = dispact => {\n  return {\n    setUserAuth: p => dispact(setUserAuth(p)),\n    setIsAuth: p => dispact(setIsAuth(p))\n  };\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Login);\n\nvar _c, _c2;\n\n$RefreshReg$(_c, \"Copyright\");\n$RefreshReg$(_c2, \"Login\");","map":{"version":3,"sources":["C:/laragon/www/iot.mksolusi/DriverOPCDA/frontend/src/components/pages/Login.jsx"],"names":["React","useState","useEffect","Button","CssBaseline","useHistory","FormControlLabel","Link","Grid","Box","Typography","makeStyles","IconButton","Visibility","VisibilityOff","withStyles","axios","Container","logo_eh","logo_gr","green","CircularProgress","connect","setUserAuth","setIsAuth","ValidatorForm","TextValidator","AddUserButton","root","background","borderRadius","border","float","color","height","padding","boxShadow","label","textTransform","Copyright","maxHeight","marginBlock","Date","getFullYear","useStyles","theme","paper","marginTop","spacing","display","flexDirection","alignItems","avatar","margin","backgroundColor","palette","secondary","main","form","width","submit","wrapper","position","buttonSuccess","fabProgress","top","left","zIndex","buttonProgress","marginLeft","Login","props","history","classes","emailOrUsername","setEmailOrUsername","password","setPassword","values","setValues","showPassword","loading","setLoading","handleSubmit","params","post","process","env","REACT_APP_BASE_URL","then","res","data","code","alert","message","user","push","handleClickShowPassword","handleMouseDownPassword","event","preventDefault","document","title","REACT_APP_APP_NAME","logo","e","target","value","mapStateToProps","state","StateUserAuth","auth","mapDispatchToProps","dispact","p"],"mappings":"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","sourcesContent":["import React from \"react\";\r\nimport { useState, useEffect } from \"react\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport CssBaseline from \"@material-ui/core/CssBaseline\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\r\nimport Link from \"@material-ui/core/Link\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport Box from \"@material-ui/core/Box\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport { IconButton } from \"@material-ui/core\";\r\nimport { Visibility, VisibilityOff } from \"@material-ui/icons\";\r\nimport { withStyles } from \"@material-ui/core/styles\";\r\nimport axios from \"axios\";\r\nimport Container from \"@material-ui/core/Container\";\r\nimport logo_eh from \"../../assets/logo_eh.png\";\r\nimport logo_gr from \"../../assets/logo_groot.png\";\r\nimport { green } from \"@material-ui/core/colors\";\r\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\r\nimport { connect } from \"react-redux\";\r\nimport { setUserAuth,setIsAuth } from \"../../../src/redux/UserLogin/userLogin.action\";\r\n\r\nimport { ValidatorForm, TextValidator } from \"react-material-ui-form-validator\";\r\nconst AddUserButton = withStyles({\r\n  root: {\r\n    background: \"linear-gradient(45deg, #2196F3 30%, #2196F3 90%)\",\r\n    borderRadius: 3,\r\n    border: 0,\r\n    float: \"right\",\r\n    color: \"white\",\r\n    height: 40,\r\n    padding: \"0 30px\",\r\n    boxShadow: \"0 3px 20px 2px rgb(151 151 151 / 42%)\",\r\n  },\r\n  label: {\r\n    textTransform: \"capitalize\",\r\n  },\r\n})(Button);\r\nfunction Copyright() {\r\n  return (\r\n    <Typography variant=\"body2\" color=\"textSecondary\" align=\"center\">\r\n      {\"Powered By  \"}\r\n      <Link color=\"inherit\" href=\"https://grootech.id\">\r\n        {/* Grootech */}\r\n        <img\r\n          src={logo_gr}\r\n          style={{ maxHeight: \"40px\", marginBlock: \"-14px\" }}\r\n          alt=\"logo\"\r\n        />\r\n      </Link>{\" \"}\r\n      {new Date().getFullYear()}\r\n      {\".\"}\r\n    </Typography>\r\n  );\r\n}\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n  paper: {\r\n    marginTop: theme.spacing(8),\r\n    display: \"flex\",\r\n    flexDirection: \"column\",\r\n    alignItems: \"center\",\r\n  },\r\n  avatar: {\r\n    margin: theme.spacing(1),\r\n    backgroundColor: theme.palette.secondary.main,\r\n  },\r\n  form: {\r\n    width: \"100%\", // Fix IE 11 issue.\r\n    marginTop: theme.spacing(1),\r\n  },\r\n  submit: {\r\n    margin: theme.spacing(3, 0, 2),\r\n  },\r\n  wrapper: {\r\n    margin: theme.spacing(1),\r\n    position: \"relative\",\r\n  },\r\n  buttonSuccess: {\r\n    backgroundColor: green[500],\r\n    \"&:hover\": {\r\n      backgroundColor: green[700],\r\n    },\r\n  },\r\n  fabProgress: {\r\n    color: green[500],\r\n    position: \"absolute\",\r\n    top: -6,\r\n    left: -6,\r\n    zIndex: 1,\r\n  },\r\n  buttonProgress: {\r\n    color: green[500],\r\n    position: \"absolute\",\r\n    top: \"50%\",\r\n    left: \"50%\",\r\n    marginTop: -12,\r\n    marginLeft: -12,\r\n  },\r\n}));\r\n\r\nfunction Login(props) {\r\n  const history = useHistory();\r\n  const classes = useStyles();\r\n  const [emailOrUsername, setEmailOrUsername] = useState(\"\");\r\n  const [password, setPassword] = useState(\"\");\r\n  const [values, setValues] = React.useState({\r\n    showPassword: false,\r\n  });\r\n  const [loading, setLoading] = React.useState(false);\r\n\r\n  async function handleSubmit() {\r\n    let params = {\r\n      emailOrUsername: emailOrUsername,\r\n      password: password,\r\n    };\r\n    setLoading(true);\r\n    await axios\r\n      .post(process.env.REACT_APP_BASE_URL + \"/login\", params)\r\n      .then((res) => {\r\n        if (res.data.code !== 200) {\r\n          alert(res.data.message);\r\n          setLoading(false);\r\n        } else {\r\n          setLoading(false);\r\n          props.setUserAuth(res.data.data.user);\r\n          props.setIsAuth(true);\r\n          history.push(\"/dashboard\");\r\n        }\r\n      });\r\n  }\r\n  const handleClickShowPassword = () => {\r\n    setValues({ ...values, showPassword: !values.showPassword });\r\n  };\r\n\r\n  const handleMouseDownPassword = (event) => {\r\n    event.preventDefault();\r\n  };\r\n  useEffect(() => {\r\n    document.title = process.env.REACT_APP_APP_NAME + \" - \" + \"Login\";\r\n    return () => {};\r\n  }, []);\r\n\r\n  return (\r\n    <Container component=\"main\" maxWidth=\"xs\">\r\n      <CssBaseline />\r\n      <div className={classes.paper}>\r\n        <img\r\n          src={logo_eh}\r\n          style={{ maxHeight: \"125px\" }}\r\n          alt=\"logo\"\r\n          className={classes.logo}\r\n        />\r\n        <Typography component=\"h2\" variant=\"h5\">\r\n          Endress+Hauser\r\n        </Typography>\r\n        <Typography component=\"h2\" variant=\"h5\">\r\n          TankVision Login\r\n        </Typography>\r\n        <ValidatorForm className={classes.form} onSubmit={handleSubmit}>\r\n          {/* <form className={classes.form} noValidate> */}\r\n          <TextValidator\r\n            variant=\"outlined\"\r\n            margin=\"normal\"\r\n            validators={[\"required\"]}\r\n            errorMessages={[\"this field is required\"]}\r\n            fullWidth\r\n            id=\"emailorusername\"\r\n            label=\"Email / Username\"\r\n            name=\"email_or_username\"\r\n            autoComplete=\"email/username\"\r\n            autoFocus\r\n            onChange={(e) => setEmailOrUsername(e.target.value)}\r\n            value={emailOrUsername}\r\n          />\r\n          {/* <TextValidator\r\n            variant=\"outlined\"\r\n            margin=\"normal\"\r\n            validators={[\"required\"]}\r\n            errorMessages={[\"this field is required\"]}\r\n            fullWidth\r\n            name=\"password\"\r\n            label=\"Password\"\r\n            type=\"password\"\r\n            id=\"password\"\r\n            autoComplete=\"current-password\"\r\n            value={password}\r\n            onChange={(e) => setPassword(e.target.value)}\r\n          /> */}\r\n          <TextValidator\r\n            variant=\"outlined\"\r\n            margin=\"normal\"\r\n            validators={[\"required\"]}\r\n            errorMessages={[\"this field is required\"]}\r\n            fullWidth\r\n            name=\"password\"\r\n            label=\"Password\"\r\n            type={values.showPassword ? \"text\" : \"password\"}\r\n            id=\"password\"\r\n            value={password}\r\n            onChange={(e) => setPassword(e.target.value)}\r\n          />\r\n\r\n          <FormControlLabel\r\n            control={\r\n              <IconButton\r\n                aria-label=\"toggle password visibility\"\r\n                onClick={handleClickShowPassword}\r\n                onMouseDown={handleMouseDownPassword}\r\n              >\r\n                {values.showPassword ? <Visibility /> : <VisibilityOff />}\r\n              </IconButton>\r\n            }\r\n            label=\"Password Visibility\"\r\n          />\r\n          <div className={classes.wrapper}>\r\n            <AddUserButton\r\n              type=\"submit\"\r\n              fullWidth\r\n              variant=\"contained\"\r\n              color=\"primary\"\r\n              disabled={loading}\r\n              // onClick={(e) => onLogin(e)}\r\n              className={classes.submit}\r\n            >\r\n              Log In\r\n            </AddUserButton>\r\n\r\n            {loading && (\r\n              <CircularProgress size={24} className={classes.buttonProgress} />\r\n            )}\r\n          </div>\r\n\r\n          <Grid container>\r\n            {/* <Grid item xs>\r\n              <Link href=\"#\" variant=\"body2\">\r\n                Forgot password?\r\n              </Link>\r\n            </Grid>\r\n            <Grid item>\r\n              <Link href=\"#\" variant=\"body2\">\r\n                {\"Don't have an account? Sign Up\"}\r\n              </Link>\r\n            </Grid> */}\r\n          </Grid>\r\n          {/* </form> */}\r\n        </ValidatorForm>\r\n      </div>\r\n      <Box mt={8}>\r\n        <Copyright />\r\n      </Box>\r\n    </Container>\r\n  );\r\n}\r\n\r\n\r\n\r\nconst mapStateToProps = (state) => {\r\n  return {\r\n    StateUserAuth: state.auth,\r\n  };\r\n};\r\nconst mapDispatchToProps = (dispact) => {\r\n  return {\r\n    setUserAuth: (p) => dispact(setUserAuth(p)),\r\n    setIsAuth: (p) => dispact(setIsAuth(p)),\r\n  };\r\n};\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Login);"]},"metadata":{},"sourceType":"module"}