{"ast":null,"code":"import _regeneratorRuntime from\"C:/laragon/www/iot.mksolusi/DriverOPCDA/frontend/node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator\";import _objectSpread from\"C:/laragon/www/iot.mksolusi/DriverOPCDA/frontend/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2\";import _asyncToGenerator from\"C:/laragon/www/iot.mksolusi/DriverOPCDA/frontend/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/asyncToGenerator\";import _slicedToArray from\"C:/laragon/www/iot.mksolusi/DriverOPCDA/frontend/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray\";import React from\"react\";import{useState,useEffect}from\"react\";import Button from\"@material-ui/core/Button\";import CssBaseline from\"@material-ui/core/CssBaseline\";import{useHistory}from\"react-router-dom\";import FormControlLabel from\"@material-ui/core/FormControlLabel\";import Link from\"@material-ui/core/Link\";import Grid from\"@material-ui/core/Grid\";import Box from\"@material-ui/core/Box\";import Typography from\"@material-ui/core/Typography\";import{makeStyles}from\"@material-ui/core/styles\";import{IconButton}from\"@material-ui/core\";import{Visibility,VisibilityOff}from\"@material-ui/icons\";import{withStyles}from\"@material-ui/core/styles\";import axios from\"axios\";import Container from\"@material-ui/core/Container\";import logo_eh from\"../../assets/logo_eh.png\";import logo_gr from\"../../assets/logo_groot.png\";import{green}from\"@material-ui/core/colors\";import CircularProgress from\"@material-ui/core/CircularProgress\";import{connect}from\"react-redux\";import{setUserAuth as _setUserAuth,setIsAuth as _setIsAuth}from\"../../../src/redux/UserLogin/userLogin.action\";import{ValidatorForm,TextValidator}from\"react-material-ui-form-validator\";import{jsx as _jsx}from\"react/jsx-runtime\";import{jsxs as _jsxs}from\"react/jsx-runtime\";var AddUserButton=withStyles({root:{background:\"linear-gradient(45deg, #2196F3 30%, #2196F3 90%)\",borderRadius:3,border:0,float:\"right\",color:\"white\",height:40,padding:\"0 30px\",boxShadow:\"0 3px 20px 2px rgb(151 151 151 / 42%)\"},label:{textTransform:\"capitalize\"}})(Button);function Copyright(){return/*#__PURE__*/_jsxs(Typography,{variant:\"body2\",color:\"textSecondary\",align:\"center\",children:[\"Powered By  \",/*#__PURE__*/_jsx(Link,{color:\"inherit\",href:\"https://grootech.id\",children:/*#__PURE__*/_jsx(\"img\",{src:logo_gr,style:{maxHeight:\"40px\",marginBlock:\"-14px\"},alt:\"logo\"})}),\" \",new Date().getFullYear(),\".\"]});}var useStyles=makeStyles(function(theme){return{paper:{marginTop:theme.spacing(8),display:\"flex\",flexDirection:\"column\",alignItems:\"center\"},avatar:{margin:theme.spacing(1),backgroundColor:theme.palette.secondary.main},form:{width:\"100%\",// Fix IE 11 issue.\nmarginTop:theme.spacing(1)},submit:{margin:theme.spacing(3,0,2)},wrapper:{margin:theme.spacing(1),position:\"relative\"},buttonSuccess:{backgroundColor:green[500],\"&:hover\":{backgroundColor:green[700]}},fabProgress:{color:green[500],position:\"absolute\",top:-6,left:-6,zIndex:1},buttonProgress:{color:green[500],position:\"absolute\",top:\"50%\",left:\"50%\",marginTop:-12,marginLeft:-12}};});function Login(props){var history=useHistory();var classes=useStyles();var _useState=useState(\"\"),_useState2=_slicedToArray(_useState,2),emailOrUsername=_useState2[0],setEmailOrUsername=_useState2[1];var _useState3=useState(\"\"),_useState4=_slicedToArray(_useState3,2),password=_useState4[0],setPassword=_useState4[1];var _React$useState=React.useState({showPassword:false}),_React$useState2=_slicedToArray(_React$useState,2),values=_React$useState2[0],setValues=_React$useState2[1];var _React$useState3=React.useState(false),_React$useState4=_slicedToArray(_React$useState3,2),loading=_React$useState4[0],setLoading=_React$useState4[1];function handleSubmit(){return _handleSubmit.apply(this,arguments);}function _handleSubmit(){_handleSubmit=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(){var params;return _regeneratorRuntime.wrap(function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:params={emailOrUsername:emailOrUsername,password:password};setLoading(true);_context.next=4;return axios.post(process.env.REACT_APP_BASE_URL+\"/login\",params).then(function(res){if(res.data.code!==200){alert(res.data.message);setLoading(false);}else{setLoading(false);props.setUserAuth(res.data.data.user);props.setIsAuth(true);history.push(\"/dashboard\");}});case 4:case\"end\":return _context.stop();}}},_callee);}));return _handleSubmit.apply(this,arguments);}var handleClickShowPassword=function handleClickShowPassword(){setValues(_objectSpread(_objectSpread({},values),{},{showPassword:!values.showPassword}));};var handleMouseDownPassword=function handleMouseDownPassword(event){event.preventDefault();};useEffect(function(){document.title=process.env.REACT_APP_APP_NAME+\" - \"+\"Login\";return function(){};},[]);return/*#__PURE__*/_jsxs(Container,{component:\"main\",maxWidth:\"xs\",children:[/*#__PURE__*/_jsx(CssBaseline,{}),/*#__PURE__*/_jsxs(\"div\",{className:classes.paper,children:[/*#__PURE__*/_jsx(\"img\",{src:logo_eh,style:{maxHeight:\"125px\"},alt:\"logo\",className:classes.logo}),/*#__PURE__*/_jsx(Typography,{component:\"h2\",variant:\"h5\",children:\"Endress+Hauser\"}),/*#__PURE__*/_jsx(Typography,{component:\"h2\",variant:\"h5\",children:\"TankVision Login\"}),/*#__PURE__*/_jsxs(ValidatorForm,{className:classes.form,onSubmit:handleSubmit,children:[/*#__PURE__*/_jsx(TextValidator,{variant:\"outlined\",margin:\"normal\",validators:[\"required\"],errorMessages:[\"this field is required\"],fullWidth:true,id:\"emailorusername\",label:\"Email / Username\",name:\"email_or_username\",autoComplete:\"email/username\",autoFocus:true,onChange:function onChange(e){return setEmailOrUsername(e.target.value);},value:emailOrUsername}),/*#__PURE__*/_jsx(TextValidator,{variant:\"outlined\",margin:\"normal\",validators:[\"required\"],errorMessages:[\"this field is required\"],fullWidth:true,name:\"password\",label:\"Password\",type:values.showPassword?\"text\":\"password\",id:\"password\",value:password,onChange:function onChange(e){return setPassword(e.target.value);}}),/*#__PURE__*/_jsx(FormControlLabel,{control:/*#__PURE__*/_jsx(IconButton,{\"aria-label\":\"toggle password visibility\",onClick:handleClickShowPassword,onMouseDown:handleMouseDownPassword,children:values.showPassword?/*#__PURE__*/_jsx(Visibility,{}):/*#__PURE__*/_jsx(VisibilityOff,{})}),label:\"Password Visibility\"}),/*#__PURE__*/_jsxs(\"div\",{className:classes.wrapper,children:[/*#__PURE__*/_jsx(AddUserButton,{type:\"submit\",fullWidth:true,variant:\"contained\",color:\"primary\",disabled:loading// onClick={(e) => onLogin(e)}\n,className:classes.submit,children:\"Log In\"}),loading&&/*#__PURE__*/_jsx(CircularProgress,{size:24,className:classes.buttonProgress})]}),/*#__PURE__*/_jsx(Grid,{container:true})]})]}),/*#__PURE__*/_jsx(Box,{mt:8,children:/*#__PURE__*/_jsx(Copyright,{})})]});}var mapStateToProps=function mapStateToProps(state){return{StateUserAuth:state.auth};};var mapDispatchToProps=function mapDispatchToProps(dispact){return{setUserAuth:function setUserAuth(p){return dispact(_setUserAuth(p));},setIsAuth:function setIsAuth(p){return dispact(_setIsAuth(p));}};};export default connect(mapStateToProps,mapDispatchToProps)(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","showPassword","values","setValues","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"}