{"ast":null,"code":"import{Form,Input,Button,Modal,Select}from'antd';import'./styles.css';import React,{useState}from'react';import setuLogo from'../../assets/setuLogo.png';import Otp from'./otp';import tickmark from'../../assets/tickmark.png';import{useHistory}from'react-router-dom';import{connect}from'react-redux';import{sendOtp,checkUserName,register}from'../../reduxStore/actions/action';import CountryPhoneInput,{ConfigProvider}from'antd-country-phone-input';import en from'world_countries_lists/data/countries/en/world.json';import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";const{Option}=Select;function Signup(_ref){let{sendOtp,isOtpSent,checkUserName,register,configuredAuth}=_ref;const[isModalVisible,setIsModalVisible]=useState(false);const[authMethod,setAuthMethod]=useState('Email');const[form]=Form.useForm();const options=[{lable:'Email',value:'Email'},{lable:\"Phone\",value:'Phone'}];const history=useHistory();const handleSendOtp=value=>{value['newUser']=true;if(value.hasOwnProperty('phone')){value['uniqueId']='+'+value.phone.code+value.phone.phone;}console.log('form value',value);sendOtp(value,()=>{});};const handleCancel=()=>{setIsModalVisible(false);history.push('/setu_game/login');};const handleAuthMethodChange=value=>{setAuthMethod(value);};const validatePhone=async(_,value)=>{var _value$phone,_value$phone2,_value$phone3;// Basic phone number validation\nconst countryCode=value.short;// Get the country code\nif(countryCode==='IN'&&((_value$phone=value.phone)===null||_value$phone===void 0?void 0:_value$phone.length)!==10){return Promise.reject('Invalid phone number!');}else if(((_value$phone2=value.phone)===null||_value$phone2===void 0?void 0:_value$phone2.length)<6||((_value$phone3=value.phone)===null||_value$phone3===void 0?void 0:_value$phone3.length)>14){return Promise.reject('Invalid phone number!');}// Proceed with further validation or logic if needed\nreturn Promise.resolve();};const validateEmail=async(_,value)=>{// Basic email format validation\nif(!value||!/^\\S+@\\S+\\.\\S+$/.test(value)){if(!value){return Promise.reject();}return Promise.reject('Please enter a valid email address!');}return Promise.resolve();};const validateUsername=async(_,value)=>{if(!value){return Promise.resolve();}return new Promise((resolve,reject)=>{checkUserName({\"username\":value},res=>{if(res){reject('Username already exists!');}else{resolve();}},err=>{console.error('Error checking username',err);reject('Unable to process this time!');});});};const handleVerifyOtp=async otp=>{const param={otp:otp};register(param,()=>{setIsModalVisible(true);setTimeout(()=>{history.push('/setu_game/login');// Automatically navigate to login page after 5 seconds\n},5000);},()=>{});};// const validatePhone = (_, value) => {\n//   // Your phone validation logic here\n// };\n// const validateEmail = (_, value) => {\n//   // Your email validation logic here\n// };\nreturn/*#__PURE__*/_jsxs(_Fragment,{children:[!isOtpSent?/*#__PURE__*/_jsx(\"div\",{className:\"component-wrapper\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"form-container\",children:[/*#__PURE__*/_jsx(\"img\",{src:setuLogo,className:\"logo-img\"}),/*#__PURE__*/_jsx(\"span\",{className:\"form-heading\",children:\"Sign Up\"}),/*#__PURE__*/_jsxs(\"div\",{className:\"form-wrapper\",children:[/*#__PURE__*/_jsx(ConfigProvider,{locale:en,children:/*#__PURE__*/_jsxs(Form,{layout:\"vertical\",className:\"setu-form\",autoComplete:\"off\",onFinish:handleSendOtp,form:form,initialValues:{phone:{short:'In'}},children:[/*#__PURE__*/_jsx(Form.Item,{className:\"form-item\",name:\"name\",rules:[{required:true,message:'Please input your name!'}],children:/*#__PURE__*/_jsx(Input,{className:\"form-input\",placeholder:\"Name\"})}),/*#__PURE__*/_jsx(Form.Item,{className:\"form-item\",name:\"username\",rules:[{required:true,message:'Please input your username!'},{validator:validateUsername}],children:/*#__PURE__*/_jsx(Input,{className:\"form-input\",placeholder:\"Username\"})}),configuredAuth==\"Both\"?/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(Form.Item,{className:\"form-item\",children:/*#__PURE__*/_jsx(Select,{className:\"form-input\",defaultValue:\"Email\",onChange:handleAuthMethodChange,options:options})}),authMethod=='Email'?/*#__PURE__*/_jsx(Form.Item,{className:\"form-item\",name:\"uniqueId\",rules:[{required:true,message:'Please input your email id!'},{validator:async(_,value)=>{return validateEmail(_,value);}}],children:/*#__PURE__*/_jsx(Input,{className:\"form-input\",placeholder:\"Enter email id\"})}):/*#__PURE__*/_jsx(Form.Item,{name:\"phone\",className:\"form-item\",form:form,rules:[{required:true,message:'Please input your phone number!'},validate=>({validator(_,value){console.log(value);if(!value.phone){return Promise.reject('Please input your phone number');}return validatePhone(_,value);}})],children:/*#__PURE__*/_jsx(CountryPhoneInput,{placeholder:\"Enter phone number\",className:\"form-input\",inline:true,defaultValue:{short:'In'},onKeyPress:e=>{// Allow only numeric characters\nconst charCode=e.which?e.which:e.keyCode;if(charCode>31&&(charCode<48||charCode>57)){e.preventDefault();}}})})]}):configuredAuth=='Email'?/*#__PURE__*/_jsx(Form.Item,{className:\"form-item\",name:\"uniqueId\",rules:[{required:true,message:'Please input your email id!'},{validator:async(_,value)=>{return validateEmail(_,value);}}],children:/*#__PURE__*/_jsx(Input,{className:\"form-input\",placeholder:\"Enter email id\"})}):/*#__PURE__*/_jsx(Form.Item,{name:\"phone\",className:\"form-item\",form:form,rules:[{required:true,message:'Please input your phone number!'},validate=>({validator(_,value){if(!value.phone){return Promise.reject('Please input your phone number');}return validatePhone(_,value);}})],children:/*#__PURE__*/_jsx(CountryPhoneInput,{placeholder:\"Enter phone number\",className:\"form-input\",inline:true,defaultValue:{short:'In'},onKeyPress:e=>{// Allow only numeric characters\nconst charCode=e.which?e.which:e.keyCode;if(charCode>31&&(charCode<48||charCode>57)){e.preventDefault();}}})}),/*#__PURE__*/_jsx(Form.Item,{className:\"form-item\",name:\"password\",rules:[{required:true,message:'Please input new password!'}],children:/*#__PURE__*/_jsx(Input,{autoComplete:\"new-password\",placeholder:\"Create password\",className:\"form-input\"})}),/*#__PURE__*/_jsx(Form.Item,{className:\"form-item\",name:\"city\",rules:[{required:true,message:'Please input city!'}],children:/*#__PURE__*/_jsx(Input,{placeholder:\"City\",className:\"form-input\"})}),/*#__PURE__*/_jsx(Form.Item,{children:/*#__PURE__*/_jsx(Button,{className:\"form-submit-btn\",htmlType:\"submit\",children:\"Get OTP\"})})]})}),/*#__PURE__*/_jsx(\"div\",{className:\"form-link\",children:/*#__PURE__*/_jsxs(\"p\",{children:[\"Already have an Account? \",/*#__PURE__*/_jsx(\"a\",{href:\"/setu_game/login\",children:\"Login\"})]})})]})]})}):/*#__PURE__*/_jsx(Otp,{title:\"Sign Up\",handleVerifyOtp:handleVerifyOtp}),/*#__PURE__*/_jsx(Modal,{visible:isModalVisible,onCancel:handleCancel,footer:null,centered:true,maskClosable:false,className:\"success-modal\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"otp-success-modal\",children:[/*#__PURE__*/_jsx(\"img\",{src:tickmark,style:{maxWidth:'150px'}}),/*#__PURE__*/_jsx(\"span\",{children:\"Thank You!\"}),/*#__PURE__*/_jsx(\"p\",{children:\"Your code has been successfully verified!\"})]})})]});}const mapStateToProps=state=>{const{isOtpSent,organisation}=state.SeTu;const configuredAuth=organisation===null||organisation===void 0?void 0:organisation.configuredAuth;return{isOtpSent,configuredAuth};};const mapDispatchToProps=dispatch=>({sendOtp:(params,successCallback)=>dispatch(sendOtp(params,successCallback)),checkUserName:(params,successCallback,callback)=>dispatch(checkUserName(params,successCallback,callback)),register:(param,successCallback,callback)=>dispatch(register(param,successCallback,callback))});export default connect(mapStateToProps,mapDispatchToProps)(Signup);","map":{"version":3,"names":["Form","Input","Button","Modal","Select","React","useState","setuLogo","Otp","tickmark","useHistory","connect","sendOtp","checkUserName","register","CountryPhoneInput","ConfigProvider","en","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Option","Signup","_ref","isOtpSent","configuredAuth","isModalVisible","setIsModalVisible","authMethod","setAuthMethod","form","useForm","options","lable","value","history","handleSendOtp","hasOwnProperty","phone","code","console","log","handleCancel","push","handleAuthMethodChange","validatePhone","_","_value$phone","_value$phone2","_value$phone3","countryCode","short","length","Promise","reject","resolve","validateEmail","test","validateUsername","res","err","error","handleVerifyOtp","otp","param","setTimeout","children","className","src","locale","layout","autoComplete","onFinish","initialValues","Item","name","rules","required","message","placeholder","validator","defaultValue","onChange","validate","inline","onKeyPress","e","charCode","which","keyCode","preventDefault","htmlType","href","title","visible","onCancel","footer","centered","maskClosable","style","maxWidth","mapStateToProps","state","organisation","SeTu","mapDispatchToProps","dispatch","params","successCallback","callback"],"sources":["/opt/bitnami/apache/htdocs/setu_beta_game/src/pages/auth/register.js"],"sourcesContent":["import {Form, Input,Button,Modal,Select} from 'antd'\r\nimport './styles.css'\r\nimport React, { useState } from 'react';\r\nimport setuLogo from '../../assets/setuLogo.png';\r\nimport Otp from './otp';\r\nimport tickmark from '../../assets/tickmark.png'\r\nimport { useHistory } from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\nimport {sendOtp,checkUserName, register } from '../../reduxStore/actions/action';\r\nimport CountryPhoneInput,{ConfigProvider} from 'antd-country-phone-input';\r\n\r\nimport en from 'world_countries_lists/data/countries/en/world.json';\r\nconst { Option } = Select;\r\nfunction Signup({sendOtp,isOtpSent,checkUserName,register,configuredAuth}) {\r\nconst [isModalVisible, setIsModalVisible] = useState(false);\r\nconst [authMethod,setAuthMethod]=useState('Email');\r\nconst [form] = Form.useForm();\r\nconst options=[\r\n  {\r\n    lable:'Email',\r\n    value:'Email'\r\n  },{\r\n    lable:\"Phone\",\r\n    value:'Phone'\r\n  }\r\n]\r\nconst history = useHistory();\r\n const handleSendOtp=(value)=>{\r\n      value['newUser']=true;\r\n      if(value.hasOwnProperty('phone')){\r\n        value['uniqueId']='+'+value.phone.code+value.phone.phone;\r\n      }\r\n      console.log('form value',value)\r\n       sendOtp(value,()=>{\r\n         \r\n       })\r\n }\r\n\r\n const handleCancel=()=>{\r\n    setIsModalVisible(false);\r\n    history.push('/setu_game/login');\r\n }\r\n const handleAuthMethodChange=(value)=>{\r\n  setAuthMethod(value)\r\n\r\n }\r\n\r\n\r\n const validatePhone = async (_, value) => {\r\n    // Basic phone number validation\r\n  \r\n \r\n    const countryCode = value.short; // Get the country code\r\n\r\n  if (countryCode === 'IN'  && value.phone?.length !== 10) {\r\n    return Promise.reject('Invalid phone number!');\r\n  }\r\n   else if (value.phone?.length < 6 || value.phone?.length > 14) {\r\n      return Promise.reject('Invalid phone number!');\r\n    }\r\n    \r\n  \r\n    // Proceed with further validation or logic if needed\r\n  \r\n    return Promise.resolve();\r\n\r\n\r\n};\r\n\r\nconst validateEmail = async (_, value) => {\r\n\r\n    // Basic email format validation\r\n    if (!value || !/^\\S+@\\S+\\.\\S+$/.test(value)) {\r\n      if(!value){\r\n        return Promise.reject();\r\n      }\r\n      return Promise.reject('Please enter a valid email address!');\r\n    }\r\n  return Promise.resolve();\r\n};\r\n\r\nconst validateUsername = async (_, value) => {\r\n  if (!value) {\r\n    return Promise.resolve();\r\n  }\r\n\r\n  return new Promise((resolve, reject) => {\r\n    checkUserName(\r\n      { \"username\": value },\r\n      (res) => {\r\n        if (res) {\r\n          reject('Username already exists!');\r\n        } else {\r\n           resolve()\r\n        }\r\n      },\r\n      (err) => {\r\n        console.error('Error checking username', err);\r\n        reject('Unable to process this time!');\r\n      }\r\n    );\r\n  });\r\n};\r\n\r\n const handleVerifyOtp = async (otp) => {\r\n  const param={\r\n    otp:otp\r\n  }\r\n      register(param,()=>{\r\n        setIsModalVisible(true);\r\n        setTimeout(() => {\r\n          history.push('/setu_game/login'); // Automatically navigate to login page after 5 seconds\r\n        }, 5000);\r\n      },()=>{\r\n\r\n      })\r\n  }\r\n\r\n  \r\n  // const validatePhone = (_, value) => {\r\n  //   // Your phone validation logic here\r\n  // };\r\n\r\n  // const validateEmail = (_, value) => {\r\n  //   // Your email validation logic here\r\n  // };\r\n    return (\r\n        <>\r\n      {!isOtpSent?\r\n        <div className='component-wrapper'>\r\n        <div className='form-container'>\r\n     \r\n       <img src={setuLogo} className='logo-img'/>\r\n\r\n       <span className='form-heading'>Sign Up</span>\r\n   \r\n        <div className='form-wrapper'>\r\n        <ConfigProvider locale={en}>\r\n            <Form\r\n             layout=\"vertical\"\r\n             className='setu-form'\r\n             autoComplete='off'\r\n             onFinish={ handleSendOtp}\r\n             form={form}\r\n             initialValues={{ phone: { short: 'In' } }}\r\n            >\r\n                     <Form.Item\r\n    className='form-item'\r\n      name=\"name\"\r\n      rules={[\r\n        {\r\n          required: true,\r\n          message: 'Please input your name!',\r\n        },\r\n      ]}\r\n    >\r\n      <Input  className='form-input' placeholder='Name' />\r\n    </Form.Item>\r\n            <Form.Item\r\n    className='form-item'\r\n      name=\"username\"\r\n      rules={[\r\n        {\r\n          required: true,\r\n          message: 'Please input your username!',\r\n        },\r\n        {\r\n            validator: validateUsername,\r\n          },\r\n      ]}\r\n    >\r\n      <Input  className='form-input' placeholder='Username' />\r\n    </Form.Item>\r\n    {configuredAuth==\"Both\"?\r\n    <div>\r\n    <Form.Item\r\n        className='form-item'\r\n    >\r\n    <Select\r\n    className='form-input'\r\n      \r\n          defaultValue=\"Email\"\r\n          onChange={handleAuthMethodChange}\r\n          options={options}\r\n        />\r\n\r\n    </Form.Item>\r\n   { authMethod=='Email'?\r\n   <Form.Item\r\n    className='form-item'\r\n      name=\"uniqueId\"\r\n      rules={[\r\n        {\r\n          required: true,\r\n          message: 'Please input your email id!',\r\n        },\r\n        {\r\n            validator: async (_, value) => {\r\n         \r\n  \r\n              return  validateEmail(_,value)\r\n              \r\n            },\r\n          },\r\n       \r\n      ]}\r\n    >\r\n      <Input  className='form-input' placeholder='Enter email id' />\r\n    </Form.Item>\r\n   \r\n   :\r\n \r\n\r\n<Form.Item\r\n  name=\"phone\"\r\n   className='form-item'\r\n   form={form}\r\n  rules={[\r\n        { required: true, message: 'Please input your phone number!' },\r\n        validate => ({\r\n          validator(_, value) {\r\n            console.log(value)\r\n            if (!value.phone ) {\r\n              return Promise.reject('Please input your phone number');\r\n            }\r\n            return validatePhone(_,value)\r\n          },\r\n        }),\r\n      ]}\r\n      \r\n\r\n>\r\n\r\n\r\n\r\n    <CountryPhoneInput  placeholder=\"Enter phone number\"  className='form-input' inline \r\n     defaultValue={{ short: 'In' }}\r\n  \r\n\r\n    onKeyPress={(e) => {\r\n      // Allow only numeric characters\r\n      const charCode = e.which ? e.which : e.keyCode;\r\n      if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n        e.preventDefault();\r\n      }\r\n    }}\r\n    />\r\n  \r\n\r\n \r\n</Form.Item>\r\n\r\n\r\n   \r\n   }\r\n\r\n   </div>\r\n    \r\n     :\r\n    configuredAuth=='Email'?\r\n   <Form.Item\r\n    className='form-item'\r\n      name=\"uniqueId\"\r\n      rules={[\r\n        {\r\n          required: true,\r\n          message: 'Please input your email id!',\r\n        },\r\n        {\r\n            validator: async (_, value) => {\r\n         \r\n  \r\n              return  validateEmail(_,value)\r\n              \r\n            },\r\n          },\r\n       \r\n      ]}\r\n    >\r\n      <Input  className='form-input' placeholder='Enter email id' />\r\n    </Form.Item>\r\n   \r\n   :\r\n   <Form.Item\r\n  name=\"phone\"\r\n   className='form-item'\r\n   form={form}\r\n  rules={[\r\n        { required: true, message: 'Please input your phone number!' },\r\n        validate => ({\r\n          validator(_, value) {\r\n           \r\n            if (!value.phone) {\r\n              return Promise.reject('Please input your phone number');\r\n            }\r\n            return validatePhone(_,value)\r\n          },\r\n        }),\r\n      ]}\r\n      \r\n\r\n>\r\n\r\n\r\n\r\n    <CountryPhoneInput  placeholder=\"Enter phone number\"  className='form-input' inline \r\n     defaultValue={{ short: 'In' }}\r\n  \r\n\r\n    onKeyPress={(e) => {\r\n      // Allow only numeric characters\r\n      const charCode = e.which ? e.which : e.keyCode;\r\n      if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n        e.preventDefault();\r\n      }\r\n    }}\r\n    />\r\n  \r\n\r\n \r\n</Form.Item>\r\n   \r\n   \r\n   }\r\n  \r\n    <Form.Item\r\n    className='form-item'\r\n   \r\n      name=\"password\"\r\n      rules={[\r\n        {\r\n          required: true,\r\n          message: 'Please input new password!',\r\n        },\r\n      ]}\r\n    >\r\n      <Input  autoComplete=\"new-password\"  placeholder=\"Create password\"  className='form-input'   />\r\n    </Form.Item>\r\n\r\n    <Form.Item\r\n    className='form-item'\r\n   \r\n      name=\"city\"\r\n      rules={[\r\n        {\r\n          required: true,\r\n          message: 'Please input city!',\r\n        },\r\n      ]}\r\n    >\r\n      <Input placeholder=\"City\"  className='form-input'   />\r\n    </Form.Item>\r\n    <Form.Item\r\n \r\n    >\r\n      <Button className='form-submit-btn' htmlType=\"submit\" >\r\n        Get OTP\r\n      </Button>\r\n    </Form.Item>\r\n            </Form>\r\n            </ConfigProvider>\r\n       <div className='form-link'>\r\n        <p>Already have an Account? <a href='/setu_game/login'>Login</a></p>\r\n       \r\n       </div>\r\n        </div>\r\n\r\n       </div>\r\n           \r\n        </div>:\r\n        <Otp title={\"Sign Up\"}  handleVerifyOtp={handleVerifyOtp}/>}\r\n        <Modal\r\n        visible={isModalVisible}\r\n        onCancel={handleCancel}\r\n        footer={null}\r\n       centered={true}\r\n       maskClosable={false}\r\n        className='success-modal'\r\n      >\r\n      <div className='otp-success-modal'>\r\n        <img src={tickmark} style={{maxWidth:'150px'}}></img>\r\n        <span>Thank You!</span>\r\n        <p>Your code has been successfully verified!</p>\r\n      </div>\r\n    \r\n      </Modal>\r\n\r\n        </>\r\n    )\r\n}\r\n\r\nconst mapStateToProps = state => {\r\n  const {\r\nisOtpSent,organisation\r\n}  = state.SeTu;\r\n\r\nconst configuredAuth=organisation?.configuredAuth\r\nreturn { isOtpSent,configuredAuth}\r\n}\r\n\r\n\r\nconst mapDispatchToProps = dispatch =>  ({\r\n  sendOtp: (params,successCallback) => dispatch(sendOtp(params,successCallback)),\r\n  checkUserName:(params,successCallback,callback)=>dispatch(checkUserName(params,successCallback,callback)),\r\n  register:(param,successCallback,callback)=>dispatch(register(param,successCallback,callback))\r\n \r\n})\r\n\r\nexport default connect( mapStateToProps,mapDispatchToProps)(Signup)\r\n\r\n\r\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}