From 7b8bf9cc3525ef2fe4bbe8845e7ac0d4db7226b3 Mon Sep 17 00:00:00 2001 From: Rick Mak Date: Wed, 19 Apr 2017 19:49:01 +0800 Subject: [PATCH] Allow talk to yourself refs #58 --- src/components/App.jsx | 7 +++---- src/components/ConversationPreview.jsx | 10 ++++++++-- src/components/CreateChatModal.jsx | 6 ------ src/components/CreateGroupModal.jsx | 6 ------ 4 files changed, 11 insertions(+), 18 deletions(-) diff --git a/src/components/App.jsx b/src/components/App.jsx index 79bf988..2443d32 100644 --- a/src/components/App.jsx +++ b/src/components/App.jsx @@ -89,15 +89,14 @@ export default class App extends React.Component {
{ conversationList - .filter(c => c.participant_count >= 2) - .map(c => - { + return this.setState({currentConversation: c})}/> - ) + }) }
diff --git a/src/components/ConversationPreview.jsx b/src/components/ConversationPreview.jsx index 1439da4..fe02f1e 100644 --- a/src/components/ConversationPreview.jsx +++ b/src/components/ConversationPreview.jsx @@ -20,18 +20,24 @@ export default class ConversationPreview extends React.Component { // fetch users Promise.all( participant_ids - .filter(id => id !== skygear.currentUser.id) .map(userID => UserLoader.get(userID)) ).then(users => { + if (users.length > 1) { + users = users.filter(u => u._id !== skygear.currentUser.id) + } let names = users .map(u => u.displayName) .join(', '); if (names.length > 30) { names = names.substring(0, 27) + '...'; } + let avatar = 'img/avatar.svg'; + if (users[0]) { + avatar = users[0].avatar ? users[0].avatar.url : 'img/avatar.svg'; + } this.setState({ title: title || names, - imageURL: users[0].avatar ? users[0].avatar.url : 'img/avatar.svg' + imageURL: avatar }); }); } diff --git a/src/components/CreateChatModal.jsx b/src/components/CreateChatModal.jsx index a995dff..556c48e 100644 --- a/src/components/CreateChatModal.jsx +++ b/src/components/CreateChatModal.jsx @@ -13,12 +13,6 @@ export default class CreateChatModal extends React.Component { }; } discoverUserAndCreateChat(username) { - if (username === skygear.currentUser.username) { - this.setState({ - errorMessage: 'Error: cannot create conversation with yourself' - }); - return; - } this.setState({loading: true}); skygear.discoverUserByUsernames( username diff --git a/src/components/CreateGroupModal.jsx b/src/components/CreateGroupModal.jsx index 92da524..3dfdfcf 100644 --- a/src/components/CreateGroupModal.jsx +++ b/src/components/CreateGroupModal.jsx @@ -15,12 +15,6 @@ export default class CreateGroupModal extends React.Component { }; } discoverUser(username) { - if (username === skygear.currentUser.username) { - this.setState({ - errorMessage: 'Error: cannot create conversation with yourself' - }); - return; - } this.setState({loading: true}); skygear.discoverUserByUsernames( username