From 6527289eb6249cfd057c47d0f797133ab8052339 Mon Sep 17 00:00:00 2001 From: Shravya Ramesh Date: Fri, 9 Apr 2021 15:19:49 -0700 Subject: major issue fixed --- src/screens/chat/ChatListScreen.tsx | 17 ++++++++++++++--- src/services/ChatService.ts | 6 +++--- src/utils/messages.ts | 5 +++-- 3 files changed, 20 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/screens/chat/ChatListScreen.tsx b/src/screens/chat/ChatListScreen.tsx index eb886232..f2395f0a 100644 --- a/src/screens/chat/ChatListScreen.tsx +++ b/src/screens/chat/ChatListScreen.tsx @@ -3,6 +3,7 @@ import {StackNavigationProp} from '@react-navigation/stack'; import React, {useContext, useEffect, useMemo, useState} from 'react'; import {Alert, SafeAreaView, StatusBar, StyleSheet, View} from 'react-native'; import {useSelector, useStore} from 'react-redux'; +import {connectChatAccount} from '../../utils'; import {ChannelList, Chat} from 'stream-chat-react-native'; import {ChatContext} from '../../App'; import {TabsGradient} from '../../components'; @@ -43,10 +44,20 @@ const ChatListScreen: React.FC = () => { ); useEffect(() => { - if (!chatClientReady) { - Alert.alert('Something wrong with chat'); + let connected: boolean = !chatClient.user; + if (!connected) { + connectChatAccount(loggedInUserId, chatClient) + .then((success) => { + if (!success) { + Alert.alert('Something wrong with chat'); + } + }) + .catch((err) => { + console.log('Error connecting to chat: ', err); + Alert.alert('Something wrong with chat'); + }); } - }, [chatClientReady]); + }, []); return ( diff --git a/src/services/ChatService.ts b/src/services/ChatService.ts index da65641c..e9b1c284 100644 --- a/src/services/ChatService.ts +++ b/src/services/ChatService.ts @@ -3,7 +3,7 @@ import {CHAT_TOKEN_ENDPOINT} from '../constants/api'; export const loadChatTokenService = async () => { try { - const token = await AsyncStorage.getItem('chatToken'); + const token = await AsyncStorage.getItem('token'); const response = await fetch(CHAT_TOKEN_ENDPOINT, { method: 'GET', headers: { @@ -12,8 +12,8 @@ export const loadChatTokenService = async () => { }); const status = response.status; if (status === 200) { - const {chatToken} = await response.json(); - return chatToken; + const data = await response.json(); + return data.chatToken; } return ''; } catch (error) { diff --git a/src/utils/messages.ts b/src/utils/messages.ts index 6b972b83..dc01d579 100644 --- a/src/utils/messages.ts +++ b/src/utils/messages.ts @@ -111,9 +111,10 @@ export const connectChatAccount = async ( export const getChatToken = async () => { try { - if (await AsyncStorage.getItem('chatToken')) { + const currentChatToken = await AsyncStorage.getItem('chatToken'); + if (currentChatToken === null) { const chatToken = await loadChatTokenService(); - AsyncStorage.setItem('chatToken', chatToken); + await AsyncStorage.setItem('chatToken', chatToken); } } catch (err) { console.log(err); -- cgit v1.2.3-70-g09d2