Advertisement
Guest User

Untitled

a guest
May 20th, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.44 KB | None | 0 0
  1. import React, { Component } from "react";
  2. import
  3. { Text,StyleSheet , AsyncStorage , TouchableWithoutFeedback , Keyboard , ScrollView } from "react-native";
  4. import { Button , Input } from 'react-native-elements';
  5.  
  6. const DismissKeyboard = ({ children }) => (
  7. <TouchableWithoutFeedback onPress ={() => Keyboard.dismiss()}>
  8. {children}
  9. </TouchableWithoutFeedback>
  10.  
  11. );
  12.  
  13. export default class HomeScreen extends Component {
  14. static navigationOptions = {
  15. header: null
  16. }
  17. constructor(props){
  18. super(props)
  19. this.state = { varFinalResult: '', varFinalResult2: ''}
  20. this.persistData = this.persistData.bind(this);
  21. this.clearData = this.clearData.bind(this);
  22. }
  23.  
  24. persistData(){
  25. var result = +this.state.a + +this.state.b;
  26. var varFinalResult = Number(result) - Number(this.state.c);
  27. var varFinalResult2 = Number(this.state.c) + Number(varFinalResult);
  28. /* let varFinalResult = this.state.varFinalResult
  29. let varFinalResult2 = this.state.varFinalResult2 */
  30. AsyncStorage.setItem('', varFinalResult).done();
  31. AsyncStorage.setItem('', varFinalResult2).done();
  32. this.setState({varFinalResult: varFinalResult, persistedvarFinalResult: varFinalResult ,
  33. varFinalResult2: varFinalResult2, persistedvarFinalResult2: varFinalResult2 })
  34. }
  35.  
  36. check(){
  37.  
  38. AsyncStorage.getItem('varFinalResult').then((varFinalResult) => {
  39. this.setState({varFinalResult: varFinalResult, persistedvarFinalResult: varFinalResult})
  40. })
  41.  
  42. AsyncStorage.getItem('varFinalResult2').then((varFinalResult2) => {
  43. this.setState({varFinalResult2: varFinalResult2, persistedvarFinalResult2: varFinalResult2})
  44. })
  45. }
  46.  
  47. clearData(){
  48. AsyncStorage.clear();
  49. this.setState({persistedvarFinalResult2: '', persistedvarFinalResult: ''})
  50. }
  51.  
  52. componentWillMount(){
  53. this.check();
  54. }
  55.  
  56. cal = () => {
  57. var result = +this.state.a + +this.state.b;
  58. var varFinalResult = result - this.state.c;
  59. var varFinalResult2 = Number(this.state.c) + Number(varFinalResult);
  60. this.setState({varFinalResult: varFinalResult, persistedvarFinalResult: varFinalResult ,
  61. varFinalResult2: varFinalResult2, persistedvarFinalResult2: varFinalResult2
  62. });
  63.  
  64. };
  65.  
  66.  
  67.  
  68. render() {
  69. return (
  70. <DismissKeyboard>
  71. <ScrollView style={styles.homeContainer}>
  72. <Text style={styles.text1}>How often do you change your car oil?</Text>
  73.  
  74.  
  75. <Input
  76. placeholder='e.g every 10,000 km'
  77. onChangeText={a => this.setState({ a })}
  78. keyboardType ='numeric'
  79.  
  80. />
  81.  
  82. <Text style={styles.text1}>What was your car odometer on last changing ?</Text>
  83.  
  84. <Input
  85. placeholder='e.g every 200,000 km'
  86. onChangeText={b => this.setState({ b })}
  87. keyboardType ='numeric'
  88. />
  89.  
  90. <Text style={styles.text1}>What is your car odometer currently ?</Text>
  91.  
  92. <Input
  93. placeholder='e.g every 207,000 km'
  94. onChangeText={c => this.setState({ c })}
  95. keyboardType ='numeric'
  96.  
  97. />
  98.  
  99. <Button onPress={this.persistData} buttonStyle = {styles.calcButton} title="Calulate"/>
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106. <Text style={styles.text2}>Remining on your next oil chaning is : </Text>
  107.  
  108. <Text style={styles.r1}>{this.state.persistedvarFinalResult} </Text>
  109.  
  110.  
  111. <Text style={styles.text2} >You need to change the oil when odometer become : </Text>
  112.  
  113. <Text style={styles.r1}>{this.state.persistedvarFinalResult2} </Text>
  114.  
  115. <Button onPress={this.clearData} buttonStyle = {styles.clearButton} title="Clear Data"/>
  116.  
  117.  
  118.  
  119. </ScrollView>
  120. </DismissKeyboard>
  121. );
  122. }
  123. }
  124.  
  125.  
  126.  
  127.  
  128. /*
  129.  
  130.  
  131. export default class Home extends React.Component {
  132. render() {
  133. return (
  134. <View style={styles.homeContainer}>
  135. <Text style={styles.title}>Main </Text>
  136. <Text style={styles.txt}>Every How Much You Changing Your Oil?</Text>
  137. <TextInput
  138. style={{ height: 40 }}
  139. placeholder="Type here Your Oil!"
  140. keyboardType={"number-pad"}
  141. onChangeText={text => this.setState({ text })}
  142. />
  143. </View>
  144. );
  145. }
  146. }
  147.  
  148.  
  149. */
  150.  
  151.  
  152. const styles = StyleSheet.create({
  153. homeContainer: {
  154. flex: 1,
  155. backgroundColor: "#F5F5F5",
  156. // alignItems: "center",
  157. padding : 50
  158. },
  159. title: {
  160. fontSize: 32
  161. },
  162. button: {
  163. alignSelf: 'center',
  164. color: '#FFFFFF',
  165. alignItems: "center",
  166. fontSize: 50,
  167. fontWeight: '600',
  168. paddingTop: 10,
  169. paddingBottom: 10,
  170. backgroundColor: '#3498db',
  171. paddingTop: 4,
  172. paddingBottom: 4,
  173. paddingRight: 25,
  174. paddingLeft: 25,
  175. marginTop: 10,
  176. marginBottom: 10,
  177. width: 180 ,
  178.  
  179.  
  180.  
  181.  
  182. },
  183. text1: {
  184.  
  185. padding: 10 ,
  186. fontSize: 15,
  187. fontWeight : 'bold' ,
  188. color : '#0074D9',
  189.  
  190. },
  191. text2: {
  192. padding: 10 ,
  193. fontSize: 15,
  194. fontWeight : 'bold' ,
  195. color : '#0074D9',
  196.  
  197. },
  198. text3: {
  199. alignItems: 'center',
  200. backgroundColor: '#4682B4',
  201. padding: 10 ,
  202. color : '#FFFFFF',
  203.  
  204. },
  205.  
  206. r1: {
  207. alignSelf: 'center',
  208. alignItems: 'center',
  209. padding: 10 ,
  210. color : '#FF0000' ,
  211. fontSize: 30,
  212. },
  213.  
  214. calcButton: {
  215. alignItems: 'center',
  216. /* padding: 25 ,
  217. paddingTop: 4,
  218. paddingBottom: 4, */
  219. marginTop: 20,
  220. marginBottom: 10,
  221. },
  222.  
  223.  
  224. clearButton: {
  225. alignItems: 'center',
  226. backgroundColor: 'red',
  227. /* padding: 25 ,
  228. paddingTop: 4,
  229. paddingBottom: 4, */
  230. marginTop: 30,
  231. marginBottom: 10,
  232. },
  233.  
  234.  
  235. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement