135 lines
3.3 KiB
JavaScript
135 lines
3.3 KiB
JavaScript
import React from "react";
|
|
import {
|
|
StyleSheet,
|
|
Text,
|
|
View,
|
|
TouchableOpacity,
|
|
TextInput,
|
|
} from "react-native";
|
|
import SetupView from '../components/SetupView';
|
|
import EvilIcon from "react-native-vector-icons/EvilIcons";
|
|
import MaterialIcon from "react-native-vector-icons/MaterialCommunityIcons";
|
|
import themeColors from '../components/themeColors';
|
|
|
|
|
|
function WifiPasswordView(props) {
|
|
|
|
let iconName = "wifi-strength-" + props.strength;
|
|
if (props.lock) {
|
|
iconName += "-lock";
|
|
}
|
|
|
|
return (
|
|
<SetupView
|
|
headerText="WiFi Password"
|
|
lowerRightButtonText="Need help?"
|
|
>
|
|
<Text style={styles.subtext}>
|
|
{props.subText}
|
|
</Text>
|
|
|
|
<View style={styles.formContainer}>
|
|
<View style={[styles.row, { backgroundColor: "rgba(155,155,155,0.8)" }]}>
|
|
<MaterialIcon style={styles.ssidIcon} name={iconName}></MaterialIcon>
|
|
<Text style={styles.ssidLabel} >{props.ssid}</Text>
|
|
</View>
|
|
|
|
<View style={styles.row}>
|
|
<EvilIcon name="lock" style={styles.ssidIcon}></EvilIcon>
|
|
<TextInput style={styles.passwordInput}
|
|
autoCompleteType="password"
|
|
placeholder="Password"
|
|
placeholderTextColor="rgba(255,255,255,0.5)"
|
|
secureTextEntry={true}
|
|
></TextInput>
|
|
</View>
|
|
|
|
{props.confirmPwInput &&
|
|
< View style={styles.row}>
|
|
<EvilIcon name="lock" style={styles.ssidIcon}></EvilIcon>
|
|
<TextInput style={styles.passwordInput}
|
|
autoCompleteType="password"
|
|
placeholder="Repeat Password"
|
|
placeholderTextColor="rgba(255,255,255,0.5)"
|
|
secureTextEntry={true}
|
|
></TextInput>
|
|
</View>
|
|
}
|
|
|
|
<TouchableOpacity style={[styles.row, styles.button]}>
|
|
<Text style={[styles.ssidLabel, { alignSelf: "center", textAlign: "center" }]}>{props.buttonText}</Text>
|
|
</TouchableOpacity>
|
|
|
|
</View>
|
|
|
|
</SetupView >
|
|
);
|
|
}
|
|
|
|
WifiPasswordView.defaultProps = {
|
|
lock: true,
|
|
strength: 2,
|
|
ssid: "TheWLANName",
|
|
confirmPwInput: false,
|
|
buttonText: "Set Password",
|
|
subText: "Please enter password for your home WiFi"
|
|
}
|
|
|
|
|
|
WifiPasswordView.defaultProps = {
|
|
lock: true,
|
|
strength: 3,
|
|
ssid: "swimtracker-E2842S",
|
|
subText: "Use this option only if you're home WiFi doesn't reach the SwimTracker. The SwimTracker creates its own WiFi with the password you set here.",
|
|
confirmPwInput: true,
|
|
buttonText: "Set Password",
|
|
}
|
|
|
|
|
|
const styles = StyleSheet.create({
|
|
subtext: {
|
|
color: "rgba(255,255,255,1)",
|
|
textAlign: "left",
|
|
fontSize: 18,
|
|
lineHeight: 25,
|
|
width: "80%",
|
|
},
|
|
formContainer: {
|
|
},
|
|
row: {
|
|
backgroundColor: "rgba(255,255,255,0.4)",
|
|
borderRadius: 5,
|
|
width: "100%",
|
|
height: 50,
|
|
flexDirection: "row",
|
|
alignItems: "center",
|
|
marginTop: 5,
|
|
marginBottom: 5,
|
|
},
|
|
ssidLabel: {
|
|
color: "rgba(255,255,255,1)",
|
|
fontSize: 18,
|
|
width: "100%"
|
|
},
|
|
button: {
|
|
marginTop: 20,
|
|
backgroundColor: themeColors["GREEN SEA"],
|
|
justifyContent: "center"
|
|
},
|
|
ssidIcon: {
|
|
fontSize: 25,
|
|
color: "rgba(255,255,255,1)",
|
|
marginLeft: 15,
|
|
marginRight: 15,
|
|
},
|
|
passwordInput: {
|
|
height: 30,
|
|
color: "rgba(255,255,255,1)",
|
|
width: "100%",
|
|
fontSize: 18,
|
|
}
|
|
|
|
});
|
|
|
|
|
|
export default WifiPasswordView; |