1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
import { StyleSheet, Text, TextInput, Pressable, View } from 'react-native';
import { useState } from 'react';
const Login = ({ login }) => {
const [email, setEmail] = useState('');
const [pass, setPass] = useState('');
const disabled = (e, p) => !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e) || p.length < 6;
return (
<View style={styles.container}>
<Text style={styles.title}>Login to Notes</Text>
<Text style={styles.text}>Account can be created through apps.pruss.it website</Text>
<TextInput
style={styles.input}
autoComplete="email"
placeholder="Email"
placeholderTextColor="#BBB"
keyboardType="email-address"
returnKeyType="next"
autoComplete="email"
textContentType="emailAddress"
value={email}
onChange={e => setEmail(e.nativeEvent.text.toLowerCase())}
/>
<TextInput
style={styles.input}
autoComplete="password"
placeholder="Password"
placeholderTextColor="#BBB"
returnKeyType="next"
autoComplete="password-new"
secureTextEntry={true}
textContentType="newPassword"
value={pass}
onChange={e => setPass(e.nativeEvent.text)}
/>
<Pressable
onPress={() => login(email, pass)}
style={{...styles.button, opacity: disabled(email, pass) ? .3 : 1}}
disabled={disabled(email, pass)}
>
<Text style={styles.buttonText}>Login</Text>
</Pressable>
</View>
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
alignItems: 'center',
justifyContent: 'center',
height: '100%'
},
title: {
color: 'white',
fontSize: 26,
marginBottom: 40,
},
text: {
color: 'white',
marginBottom: 50,
},
input: {
height: 50,
width: 280,
padding: 10,
marginBottom: 20,
color: 'white',
backgroundColor: '#444',
borderColor: '#aaa',
borderWidth: 1,
borderStyle: 'solid',
borderRadius: 10,
},
button: {
width: 100,
height: 40,
backgroundColor: '#666',
borderRadius: 5,
marginTop: 40,
alignItems: 'center',
justifyContent: 'center',
},
buttonText: {
color: 'white',
}
});
export default Login;
|