diff --git a/src/Screens/Auth/auth.js b/src/Screens/Auth/auth.js index 553c106..0c3fe5d 100644 --- a/src/Screens/Auth/auth.js +++ b/src/Screens/Auth/auth.js @@ -103,7 +103,7 @@ export default class Auth extends Component { ...contactFromPhone, contactName, key: doc.id, - profile_img_url + contactPhoto: profile_img_url }) } } diff --git a/src/Screens/Chat/chat.js b/src/Screens/Chat/chat.js index ed925e5..81eed54 100644 --- a/src/Screens/Chat/chat.js +++ b/src/Screens/Chat/chat.js @@ -1,3 +1,4 @@ +/* eslint-disable camelcase */ import React, { Component } from "react" import { View, StyleSheet, StatusBar, BackHandler } from "react-native" @@ -25,6 +26,7 @@ export default class Conversas extends Component { messageText: "", messages: [], user: firebase.auth().currentUser.uid, + userData: null, isValueNull: true, destUser: navigation.getParam("item") } @@ -42,6 +44,22 @@ export default class Conversas extends Component { .doc(destUser.key) .collection("conversas") .doc(user) + + firebase + .firestore() + .collection("users") + .doc(user) + .get() + .then(us => { + const { phone, profile_img_url } = us.data() + this.setState({ userData: { phone, profile_img_url } }) + }) + + TranslatorConfiguration.setConfig( + ProviderTypes.Google, + "AIzaSyC0j0BsAskqVIvaX2fcdvjsaw4fqGP5ut8", + "en" + ) } componentDidMount() { @@ -80,15 +98,19 @@ export default class Conversas extends Component { } sendMessage = () => { - const { destUser, user, messageText } = this.state + const { destUser, user, userData, messageText } = this.state + this.ref.set({ - userKey: destUser.key + userKey: destUser.key, + contactName: destUser.contactName, + contactPhoto: destUser.contactPhoto }) this.refDest.set({ - userKey: user + userKey: user, + contactName: userData.phone, + contactPhoto: userData.profile_img_url }) - if (messageText === "") this.setState({ isValueNull: true }) const newMessage = { content: messageText, date: firebase.database().getServerTime(), @@ -145,7 +167,7 @@ export default class Conversas extends Component { diff --git a/src/Screens/Contacts/contacts.js b/src/Screens/Contacts/contacts.js index f35fdcc..8623b50 100644 --- a/src/Screens/Contacts/contacts.js +++ b/src/Screens/Contacts/contacts.js @@ -57,7 +57,7 @@ export default class Contatos extends Component { ...contactFromPhone, contactName, key: doc.id, - profile_img_url + contactPhoto: profile_img_url }) } } @@ -110,7 +110,7 @@ export default class Contatos extends Component { : null } leftAvatar={ - item.profile_img_url === "" ? ( + item.contactPhoto === "" ? ( ) : ( { - source: { uri: item.profile_img_url }, + source: { uri: item.contactPhoto }, size: "medium" } ) diff --git a/src/Screens/Conversas/conversas.js b/src/Screens/Conversas/conversas.js index 7e8c9c0..9960a54 100644 --- a/src/Screens/Conversas/conversas.js +++ b/src/Screens/Conversas/conversas.js @@ -56,16 +56,26 @@ export default class Conversas extends Component { const contacts = JSON.parse(contactsResponse) const conversas = [] querySnapshot.forEach(doc => { + let find = false + const { contactPhoto, contactName } = doc.data() contacts.forEach(contact => { if (contact.key === doc.id) { conversas.push({ contact, key: doc.id, - profileImage: contact.profile_img_url, + contactPhoto, contactName: contact.contactName }) + find = true } }) + if (find === false) { + conversas.push({ + key: doc.id, + contactPhoto, + contactName + }) + } }) this.setState({ conversas }) }) @@ -148,10 +158,10 @@ export default class Conversas extends Component { return ( { - this.goToChat(item.contact) + this.goToChat(item) }} onLongPress={() => { - this.confirmDelete(item.contact) + this.confirmDelete(item) }} style={styles.conversa} subtitle={ @@ -170,7 +180,7 @@ export default class Conversas extends Component { } leftAvatar={{ - source: { uri: item.profileImage }, + source: { uri: item.contactPhoto }, size: "medium" }} />