{"version":3,"sources":["webpack:///./src/pages/sign-up.js"],"names":["axios","require","SignUpComponent","props","state","company","firstName","lastName","email","password","repassword","customError","errors","touched","handleClick","bind","handleInputChange","handleBlur","field","evt","this","setState","event","target","value","type","checked","name","e","validate","Object","values","some","el","keys","forEach","post","serverUrl","then","response","accountId","data","loginToken","goToInviteTeams","catch","error","console","log","message","isBlank","str","test","validatePassword","pwd","length","sessionStorage","setItem","JSON","stringify","navigate","render","renderError","text","className","shouldMarkError","hasError","shouldShow","theme","showMenu","href","id","htmlFor","maxlength","onChange","onBlur","onClick","Component"],"mappings":"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","file":"component---src-pages-sign-up-js-163d632e4ba8f7290c2a.js","sourcesContent":["import React, { Component } from \"react\"\nimport HeaderComponent from \"../components/header.component\"\nimport LayoutComponent from \"../components/layout.component\"\nimport { navigate } from \"gatsby\"\n\nconst axios = require(\"axios\")\n\nclass SignUpComponent extends Component {\n constructor(props) {\n super(props)\n this.state = {\n company: \"\",\n firstName: \"\",\n lastName: \"\",\n email: \"\",\n password: \"\",\n repassword: \"\",\n customError: null,\n errors: null,\n touched: {\n company: false,\n firstName: false,\n lastName: false,\n email: false,\n password: false,\n repassword: false,\n },\n }\n\n this.handleClick = this.handleClick.bind(this)\n this.handleInputChange = this.handleInputChange.bind(this)\n this.handleBlur = this.handleBlur.bind(this)\n }\n\n handleBlur(field, evt) {\n this.setState({\n touched: { ...this.state.touched, [field]: true },\n })\n }\n\n handleInputChange(event) {\n const target = event.target\n const value = target.type === \"checkbox\" ? target.checked : target.value\n const name = target.name\n\n this.setState({\n [name]: value,\n })\n }\n\n handleClick(e) {\n const errors = this.validate()\n\n if (Object.values(errors).some(el => el)) {\n const touched = this.state.touched\n Object.keys(touched).forEach(el => {\n touched[el] = true\n })\n this.setState({\n touched: touched,\n errors: errors,\n })\n return\n }\n\n this.setState({\n errors: null,\n customError: null,\n })\n\n let serverUrl = process.env.API_URL + \"user\"\n axios\n .post(serverUrl + \"/\", {\n company: this.state.company,\n firstName: this.state.firstName,\n lastName: this.state.lastName,\n email: this.state.email,\n password: this.state.password,\n })\n .then(response => {\n const accountId = response.data.accountId\n const loginToken = response.data.loginToken\n this.goToInviteTeams(accountId, loginToken)\n })\n .catch(error => {\n console.log(\"catch\", error)\n if (error.response) {\n this.setState({\n errors: error.response.data,\n })\n } else {\n this.setState({\n customError:\n \"An error occured while sending the request: \" + error.message,\n })\n }\n })\n }\n\n isBlank(str) {\n return !str || /^\\s*$/.test(str)\n }\n\n validatePassword(pwd) {\n return /^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])[a-zA-Z0-9!@#$%^&*]{8,20}$/.test(\n pwd\n )\n }\n\n validate() {\n const {\n company,\n firstName,\n lastName,\n email,\n password,\n repassword,\n } = this.state\n\n return {\n company: this.isBlank(company) || company.length > 50,\n firstName: this.isBlank(firstName) || firstName.length > 50,\n lastName: this.isBlank(lastName) || lastName.length > 50,\n email: this.isBlank(email) || email.length > 70,\n password:\n this.isBlank(password) ||\n !this.validatePassword(password) ||\n password.length > 50,\n repassword:\n this.isBlank(repassword) ||\n password !== repassword ||\n repassword.length > 50,\n }\n }\n\n goToInviteTeams(accountId, loginToken) {\n sessionStorage.setItem(\n \"wdx_signup\",\n JSON.stringify({\n accountId: accountId,\n loginToken: loginToken,\n })\n )\n\n navigate(\"invite-teams\", {\n state: {\n accountId: accountId,\n loginToken: loginToken,\n },\n })\n /*\n navigate(\"select-carriers\",\n {\n state: { accountId: accountId,\n loginToken: loginToken }\n });\n */\n }\n\n render() {\n let errors = this.validate()\n if (this.state.errors) {\n errors = this.state.errors\n }\n\n const renderError = text => {\n return {text}\n }\n\n const shouldMarkError = field => {\n const hasError = errors[field]\n const shouldShow = this.state.touched[field]\n\n return hasError ? shouldShow : false\n }\n\n return (\n \n {/*FIXME:*/}\n {/**/}\n \n \n \n \n \n Create New Account\n \n Already have an account?\n Sign-in\n \n \n \n \n Company\n {errors.lastName ? renderError(errors.company) : \"\"}\n this.handleBlur(\"company\")}\n />\n \n \n \n \n First Name\n {errors.lastName ? renderError(errors.firstName) : \"\"}\n this.handleBlur(\"firstName\")}\n />\n \n \n \n \n Last Name\n {errors.lastName ? renderError(errors.lastName) : \"\"}\n this.handleBlur(\"lastName\")}\n />\n \n \n \n \n Email\n {errors.email ? renderError(errors.email) : \"\"}\n this.handleBlur(\"email\")}\n />\n \n \n Password\n {errors.password ? renderError(errors.password) : \"\"}\n this.handleBlur(\"password\")}\n />\n \n \n Password must be at least 8 characters (20 max) and must\n include 1 uppercase letter, 1 lowercase letter, and 1 number.\n \n \n \n \n Re-enter password\n {errors.repassword ? renderError(errors.repassword) : \"\"}\n this.handleBlur(\"repassword\")}\n />\n \n \n \n {this.state.customError && (\n {this.state.customError}\n )}\n \n Create Account\n \n \n \n \n )\n }\n}\n\nexport default SignUpComponent\n"],"sourceRoot":""}