1- import React , { useState } from 'react' ;
2- import { Link , useHistory } from 'react-router-dom' ;
3- import { login , register } from '../api/auth' ;
1+ import React , { useState } from 'react' ;
2+ import { Link , useHistory } from 'react-router-dom' ;
3+ import { login , register } from '../api/auth' ;
44import useToken from '../hooks/token' ;
5- import Label from " ./utils/Label" ;
5+ import Label from ' ./utils/Label' ;
66
77const Register : React . FC = ( ) => {
88 const history = useHistory ( ) ;
99 const { token, setToken } = useToken ( ) ;
10- const [ status , setStatus ] = useState ( ) ;
11- const [ message , setMessage ] = useState ( ) ;
12-
10+ const [ status , setStatus ] = useState ( '' ) ;
11+ const [ message , setMessage ] = useState ( '' ) ;
1312
1413 if ( token ) {
1514 history . push ( '/dashboard' ) ;
1615 }
1716 const registerUser = async ( event : any ) => {
1817 event . preventDefault ( ) ;
1918
20- if ( event . target . password . value !== event . target . passwordConfirmed . value ) {
21- // @ts -ignore
22- setMessage ( "Passwords doesn't match" ) ;
23- // @ts -ignore
19+ if ( event . target . password . value !== event . target . passwordConfirmed . value ) {
20+ setMessage ( "Passwords doesn't match" ) ;
2421 setStatus ( 'Error' ) ;
25- return
22+ return ;
2623 }
2724
28- let errorOnRegister : boolean = false
25+ let errorOnRegister : boolean = false ;
2926 await register (
3027 event . target . name . value ,
3128 event . target . email . value ,
3229 event . target . username . value ,
3330 event . target . password . value ,
34- ) . catch ( event => {
31+ ) . catch ( ( event ) => {
3532 if ( event . response . status === 409 ) {
36- errorOnRegister = true
33+ errorOnRegister = true ;
3734 }
3835 } ) ;
3936
4037 if ( errorOnRegister ) {
41- // @ts -ignore
42- setMessage ( "Email or username already taken" ) ;
43- // @ts -ignore
38+ setMessage ( 'Email or username already taken' ) ;
4439 setStatus ( 'Error' ) ;
45- return
40+ return ;
4641 }
4742
4843 const token = await login (
49- event . target . username . value ,
50- event . target . password . value ,
44+ event . target . username . value ,
45+ event . target . password . value ,
5146 ) ;
5247
5348 setToken ( token ) ;
@@ -60,6 +55,13 @@ const Register: React.FC = () => {
6055 < div className = "flex justify-center px-2 py-6 " >
6156 < div className = "flex w-full rounded-lg xl:w-3/4 lg:w-11/12 lg:shadow-xl " >
6257 < div className = "w-full px-8 py-24 bg-white rounded-lg border-blueGray-100 lg:w-8/12 lg:px-24 lg:py-4 lg:rounded-l-none s" >
58+ < Link to = "/" >
59+ < img
60+ className = "rounded mx-auto mb-8 w-1/3"
61+ src = "https://images2.imgbox.com/ab/88/aS4VAVYc_o.png"
62+ alt = "Codebench logo"
63+ />
64+ </ Link >
6365 < div className = "relative z-10 text-left " >
6466 < form className = "mt-6" onSubmit = { registerUser } >
6567 < div >
@@ -121,22 +123,22 @@ const Register: React.FC = () => {
121123 </ div >
122124 < div className = "w-full px-3 mb-6 md:w-1/2 md:mb-0" >
123125 < label
124- className = "text-base font-medium leading-relaxed text-blueGray-700"
125- htmlFor = "password"
126+ className = "text-base font-medium leading-relaxed text-blueGray-700"
127+ htmlFor = "password"
126128 >
127129 { ' ' }
128130 Confirm password{ ' ' }
129131 </ label >
130132 < input
131- className = "block w-full px-4 py-2 mt-2 text-base text-black transition duration-500 ease-in-out transform border-transparent rounded-lg bg-blueGray-100 focus:outline-none focus:shadow-outline focus:ring-2 ring-offset-current ring-offset-2 ext-black focus:border-blueGray-500"
132- id = "passwordConfirmed"
133- type = "password"
134- placeholder = "Confirm Your Password"
135- required = { true }
133+ className = "block w-full px-4 py-2 mt-2 text-base text-black transition duration-500 ease-in-out transform border-transparent rounded-lg bg-blueGray-100 focus:outline-none focus:shadow-outline focus:ring-2 ring-offset-current ring-offset-2 ext-black focus:border-blueGray-500"
134+ id = "passwordConfirmed"
135+ type = "password"
136+ placeholder = "Confirm Your Password"
137+ required = { true }
136138 />
137139 </ div >
138140 </ div >
139- < Label status = { status } message = { message } />
141+ < Label status = { status } message = { message } />
140142 < button
141143 type = "submit"
142144 className = "block w-full px-4 py-3 mt-6 font-semibold text-white transition duration-500 ease-in-out transform rounded-lg bg-gradient-to-r from-black hover:from-black to-black focus:outline-none focus:shadow-outline focus:ring-2 ring-offset-current ring-offset-2 hover:to-black"
@@ -147,16 +149,14 @@ const Register: React.FC = () => {
147149 < p className = "mt-8 text-center" >
148150 Already have an account?{ ' ' }
149151 < Link
150- className = "font-semibold text-black hover:text-black"
151- to = "/login"
152- > Sign In
152+ className = "font-semibold text-black hover:text-black"
153+ to = "/login"
154+ >
155+ Sign In
153156 </ Link >
154157 </ p >
155158 </ div >
156159 </ div >
157- < Link to = "/" >
158- < img className = "rounded" src = "https://images2.imgbox.com/ab/88/aS4VAVYc_o.png" alt = "Codebench logo" />
159- </ Link >
160160 </ div >
161161 </ div >
162162 </ div >
0 commit comments