diff --git a/components/SetupView.js b/components/SetupView.js new file mode 100644 index 0000000..c0f4c4d --- /dev/null +++ b/components/SetupView.js @@ -0,0 +1,103 @@ +import React from "react"; +import { + StyleSheet, + View, + StatusBar, + ImageBackground, + Text, + TouchableOpacity, +} from "react-native"; +import EntypoIcon from "react-native-vector-icons/Entypo"; + + +function AdditionalOptionsBottomBar(props) { + return ( + + { props.leftText ? + + {props.leftText} + : + } + {props.rightText && + + {props.rightText} + + } + + ); +}; + +const bottomBarStyles = StyleSheet.create({ + container: { + flexDirection: "row", + justifyContent: "space-between", + paddingBottom: 30, + }, + text: { + color: "rgba(255,255,255,0.5)", + } +}) + +// --------------------------------------------------------------------------------------------- + + +function SetupView(props) { + + return ( + + + + + + + {props.backButton && + + + + } + + {props.headerText} + + + {props.children} + + + + + + ); +} + +const setupViewStyles = StyleSheet.create({ + container: { + flex: 1, + justifyContent: "space-between", + width: "80%", + marginLeft: 40, + marginTop: 60, + }, + headerText: { + color: "rgba(255,255,255,1)", + fontSize: 25, + }, + subtext: { + color: "rgba(255,255,255,1)", + textAlign: "left", + fontSize: 18, + lineHeight: 25, + width: "80%", + }, + backButton: { + color: "rgba(255,255,255,1)", + fontSize: 40 + }, +}); + +export default SetupView; \ No newline at end of file diff --git a/views/ConnectingView.js b/views/ConnectingView.js new file mode 100644 index 0000000..88507e6 --- /dev/null +++ b/views/ConnectingView.js @@ -0,0 +1,37 @@ +import React from "react"; +import { + StyleSheet, + Text, + ActivityIndicator, +} from "react-native"; +import SetupView from '../components/SetupView'; + + +function ConnectingView(props) { + + return ( + + + + Please connect your phone to the WiFi of your SwimTracker + + + + ) +} + +const styles = StyleSheet.create({ + subtext: { + color: "rgba(255,255,255,1)", + textAlign: "left", + fontSize: 18, + lineHeight: 25, + width: "80%", + } +}); + +export default ConnectingView; \ No newline at end of file diff --git a/views/WifiPasswordView.js b/views/WifiPasswordView.js new file mode 100644 index 0000000..30bbdaf --- /dev/null +++ b/views/WifiPasswordView.js @@ -0,0 +1,135 @@ +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 ( + + + {props.subText} + + + + + + {props.ssid} + + + + + + + + {props.confirmPwInput && + < View style={styles.row}> + + + + } + + + {props.buttonText} + + + + + + ); +} + +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; \ No newline at end of file diff --git a/views/WifiSelectionView.js b/views/WifiSelectionView.js new file mode 100644 index 0000000..dd85469 --- /dev/null +++ b/views/WifiSelectionView.js @@ -0,0 +1,87 @@ +import React from "react"; +import { + StyleSheet, + Text, + View, + TouchableOpacity, + ScrollView, +} from "react-native"; +import SetupView from '../components/SetupView'; +import MaterialIcon from "react-native-vector-icons/MaterialCommunityIcons"; + + +function WifiListElement(props) { + let iconName = "wifi-strength-" + props.strength; + if(props.lock) { + iconName += "-lock"; + } + + return ( + + + + {props.text} + + + ) +} +const wifiListElementStyles = { + container: { + backgroundColor: "rgba(255,255,255,0.4)", + borderRadius: 5, + width: "100%", + height: 50, + flexDirection: "row", + alignItems: "center", + marginTop: 8, + marginBottom: 8, + }, + icon: { + fontSize: 25, + color: "rgba(255,255,255,1)", + marginLeft: 15, + marginRight: 15, + }, + text: { + color: "rgba(255,255,255,1)", + fontSize: 18, + width: "100%" + } +}; + +// --------------------------------------------------------------------------------------------- + + +function WifiSelectionView(props) { + + return ( + + + + + + + + + + + + + + + + ) +} + +const styles = StyleSheet.create({ + listContainer: { + height: "75%", + //backgroundColor: "red", + } +}); + +export default WifiSelectionView; \ No newline at end of file