@@ -2,48 +2,50 @@ import React, { useState } from "react";
2
2
import { View , StyleSheet } from "react-native" ;
3
3
import { Text } from "react-native-paper" ;
4
4
5
- import { Theme } from "../Theme" ;
6
5
import BackButton from "../components/BackButton" ;
7
- import Background from "../components/Background" ;
8
6
import Button from "../components/Button" ;
9
7
import Card from "../components/Card" ;
10
8
import Header from "../components/Header" ;
9
+ import Layout from "../components/Layout" ;
11
10
import Link from "../components/Link" ;
12
11
import TextInput from "../components/TextInput" ;
12
+ import { emailValidator } from "../helpers/emailValidator" ;
13
+ import { passwordValidator } from "../helpers/passwordValidator" ;
14
+ import { usernameValidator } from "../helpers/usernameValidator" ;
13
15
14
16
export default function CreateAccountScreen ( { navigation } ) {
15
- const [ name , setName ] = useState ( { value : "" , error : "" } ) ;
17
+ const [ username , setUsername ] = useState ( { value : "" , error : "" } ) ;
16
18
const [ email , setEmail ] = useState ( { value : "" , error : "" } ) ;
17
19
const [ password , setPassword ] = useState ( { value : "" , error : "" } ) ;
18
20
19
21
const onSignUpPressed = ( ) => {
20
- // const nameError = nameValidator(name .value);
21
- // const emailError = emailValidator(email.value);
22
- // const passwordError = passwordValidator(password.value);
23
- // if (emailError || passwordError || nameError ) {
24
- // setName ({ ...name , error: nameError });
25
- // setEmail({ ...email, error: emailError });
26
- // setPassword({ ...password, error: passwordError });
27
- // return;
28
- // }
22
+ const usernameError = usernameValidator ( username . value ) ;
23
+ const emailError = emailValidator ( email . value ) ;
24
+ const passwordError = passwordValidator ( password . value ) ;
25
+ if ( emailError || passwordError || usernameError ) {
26
+ setUsername ( { ...username , error : usernameError } ) ;
27
+ setEmail ( { ...email , error : emailError } ) ;
28
+ setPassword ( { ...password , error : passwordError } ) ;
29
+ return ;
30
+ }
29
31
navigation . reset ( {
30
32
index : 0 ,
31
33
routes : [ { name : "Dashboard" } ] ,
32
34
} ) ;
33
35
} ;
34
36
35
37
return (
36
- < Background >
38
+ < Layout navigation = { navigation } >
37
39
< BackButton goBack = { navigation . goBack } />
38
40
< Header > Create account</ Header >
39
41
< Card >
40
42
< TextInput
41
- label = "Name "
43
+ label = "Username "
42
44
returnKeyType = "next"
43
- value = { name . value }
44
- onChangeText = { ( text ) => setName ( { value : text , error : "" } ) }
45
- error = { ! ! name . error }
46
- errorText = { name . error }
45
+ value = { username . value }
46
+ onChangeText = { ( text ) => setUsername ( { value : text , error : "" } ) }
47
+ error = { ! ! username . error }
48
+ errorText = { username . error }
47
49
/>
48
50
< TextInput
49
51
label = "Email"
@@ -78,7 +80,7 @@ export default function CreateAccountScreen({ navigation }) {
78
80
< Link onPress = { ( ) => navigation . replace ( "LoginScreen" ) } > Log in</ Link >
79
81
</ View >
80
82
</ Card >
81
- </ Background >
83
+ </ Layout >
82
84
) ;
83
85
}
84
86
@@ -87,8 +89,4 @@ const styles = StyleSheet.create({
87
89
flexDirection : "row" ,
88
90
marginTop : 4 ,
89
91
} ,
90
- link : {
91
- fontWeight : "bold" ,
92
- color : Theme . colors . primary ,
93
- } ,
94
92
} ) ;
0 commit comments