Advertisement
Guest User

Untitled

a guest
Sep 20th, 2017
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.33 KB | None | 0 0
  1. import React, { Component } from 'react'
  2. import { View, StyleSheet, Text, FlatList, TouchableOpacity, Modal, TextInput } from 'react-native'
  3. import { AddMessage } from '../presentation'
  4. import Turbo from 'turbo360'
  5. import config from '../../config'
  6.  
  7. class Messages extends Component{
  8.  
  9. constructor(){
  10. super()
  11. this.state = {
  12. messages: [
  13. ],
  14. modalVisible:true,
  15. login: {
  16. username:'',
  17. password:''
  18. }
  19. }
  20. }
  21.  
  22. componentDidMount(){
  23. ...
  24. }
  25.  
  26. addMessage(){
  27. ...
  28. }
  29.  
  30. loginUpdated(text, key){
  31. let newLogin = Object.assign({}, this.state.login)
  32. newLogin[key] = text
  33. this.setState({
  34. login: newLogin
  35. })
  36. }
  37.  
  38. _renderMessage(item){
  39. ...
  40. }
  41.  
  42. render(){
  43. return(
  44. <View style={styles.main}>
  45. <Modal
  46. transparent={true}
  47. visible={this.state.modalVisible}>
  48. <View style={styles.modal}>
  49. <View style={styles.login}>
  50. <Text>Login / Signup</Text>
  51. <Text>Username</Text>
  52. <TextInput onChangeText={(text)=>this.loginUpdated(text, 'username')}/>
  53. <Text>Password</Text>
  54. <TextInput onChangeText={(text)=>this.loginUpdated(text, 'password')}/>
  55. <TouchableOpacity onPress={()=>this.loginSubmitted()}>
  56. <Text>SUBMIT</Text>
  57. </TouchableOpacity>
  58. </View>
  59. </View>
  60. </Modal>
  61. <FlatList
  62. keyExtractor={(item)=>item.id}
  63. style={styles.main}
  64. data={this.state.messages}
  65. renderItem={({item})=>this._renderMessage(item)}
  66. />
  67. <AddMessage addMessage={()=>this.addMessage()}/>
  68. </View>
  69. )
  70. }
  71. }
  72.  
  73. const styles=StyleSheet.create({
  74. main:{
  75. ...
  76. },
  77. message:{
  78. ...
  79. },
  80. messageText:{
  81. ...
  82. },
  83. modal: {
  84. ...
  85. },
  86. login: {
  87. width:80 + '%',
  88. height:30 + '%',
  89. backgroundColor:'rgb(255,255,255)'
  90. }
  91. })
  92.  
  93. export default Messages
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement