Advertisement
Guest User

Untitled

a guest
Dec 13th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.74 KB | None | 0 0
  1. import React from "react";
  2. import { ScrollView, StyleSheet, AsyncStorage } from "react-native";
  3. import { Madoka } from "react-native-textinput-effects";
  4. import CreditCard from "react-native-credit-card";
  5. import * as Animatable from 'react-native-animatable';
  6.  
  7. export class SettingsInput extends React.Component {
  8. constructor(props) {
  9. super(props);
  10. this.state = {
  11. myKey: undefined
  12. }
  13. }
  14.  
  15. componentDidMount() {
  16. this.getKey()
  17. }
  18.  
  19. async getKey() {
  20. try {
  21. const value = await AsyncStorage.getItem(this.props.storageKey);
  22. this.setState({myKey: value});
  23. } catch (error) {
  24. console.log("Error retrieving data" + error);
  25. }
  26. }
  27.  
  28. async saveKey(value) {
  29. try {
  30. await AsyncStorage.setItem(this.props.storageKey, value)
  31. } catch (error) {
  32. console.log("Error saving data" + error);
  33. }
  34. }
  35.  
  36. render() {
  37. return (
  38. <Madoka
  39. label={this.props.label}
  40. borderColor={"#fff"}
  41. labelStyle={{ color: "#fff" }}
  42. inputStyle={{ color: "#fff" }}
  43. value={this.state.myKey}
  44. onChangeText={(value) => this.saveKey(value)}
  45. />
  46. )
  47. }
  48. }
  49.  
  50. export default class Settings extends React.Component {
  51. render() {
  52. return (
  53. <Animatable.View animation="bounceIn" style={styles.container}>
  54. <ScrollView showsVerticalScrollIndicator={false}>
  55. <SettingsInput label="Full Name" storageKey="key1" />
  56. <SettingsInput label="Email" storageKey="key2" />
  57. <SettingsInput label="Tel" storageKey="key3" />
  58. <SettingsInput label="Address" storageKey="key4" />
  59. <SettingsInput label="City" storageKey="key5" />
  60. <SettingsInput label="Postcode" storageKey="key6" />
  61. <SettingsInput label="Country" storageKey="key7" />
  62. <SettingsInput label="Card Type" storageKey="key8" />
  63. <SettingsInput label="Number" storageKey="key9" />
  64. <SettingsInput label="Expiry" storageKey="key10" />
  65. <SettingsInput label="CVV" storageKey="key11" />
  66. <CreditCard
  67. imageFront={require("../assets/card-front.png")}
  68. imageBack={require("../assets/card-back.png")}
  69. number="1111111111111111"
  70. name={this.state.key1}
  71. expiry="04/20"
  72. cvc="069"
  73. onChangeText={(value) => this.saveKey()}
  74. />
  75. </ScrollView>
  76. </Animatable.View>
  77. )
  78. }
  79. }
  80.  
  81. const styles = StyleSheet.create({
  82. container: {
  83. margin: 35,
  84. justifyContent: "space-around",
  85. alignItems: "center"
  86. }
  87. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement