diff options
| author | Shravya Ramesh <shravs1208@gmail.com> | 2021-04-09 12:20:25 -0700 |
|---|---|---|
| committer | Shravya Ramesh <shravs1208@gmail.com> | 2021-04-09 12:20:25 -0700 |
| commit | b967bd77710bce7b92ae0863df52cce345abd4e4 (patch) | |
| tree | e492b323712701f02339257beecc5279b050d764 /src/screens/chat | |
| parent | d601b6dcf93dc1e326a9e79c5b19db6bcdaedbdf (diff) | |
connecting user during login
Diffstat (limited to 'src/screens/chat')
| -rw-r--r-- | src/screens/chat/ChatListScreen.tsx | 28 |
1 files changed, 9 insertions, 19 deletions
diff --git a/src/screens/chat/ChatListScreen.tsx b/src/screens/chat/ChatListScreen.tsx index 3290116b..dbdb7994 100644 --- a/src/screens/chat/ChatListScreen.tsx +++ b/src/screens/chat/ChatListScreen.tsx @@ -1,8 +1,8 @@ import AsyncStorage from '@react-native-community/async-storage'; import {StackNavigationProp} from '@react-navigation/stack'; import React, {useContext, useEffect, useMemo, useState} from 'react'; -import {SafeAreaView, StatusBar, StyleSheet, View} from 'react-native'; -import {useStore} from 'react-redux'; +import {Alert, SafeAreaView, StatusBar, StyleSheet, View} from 'react-native'; +import {useSelector, useStore} from 'react-redux'; import {ChannelList, Chat} from 'stream-chat-react-native'; import {ChatContext} from '../../App'; import {TabsGradient} from '../../components'; @@ -31,7 +31,9 @@ interface ChatListScreenProps { */ const ChatListScreen: React.FC<ChatListScreenProps> = () => { const {chatClient} = useContext(ChatContext); - const [clientReady, setClientReady] = useState(false); + const chatClientReady = useSelector( + (state: RootState) => state.user.chatClientReady, + ); const state: RootState = useStore().getState(); const loggedInUserId = state.user.user.userId; @@ -44,22 +46,10 @@ const ChatListScreen: React.FC<ChatListScreenProps> = () => { ); useEffect(() => { - const setupClient = async () => { - const chatToken = await AsyncStorage.getItem('chatToken'); - await chatClient.connectUser( - { - id: loggedInUserId, - }, - chatToken, - ); - return setClientReady(true); - }; - if (!clientReady) { - setupClient().catch((err) => { - console.error(err); - }); + if (!chatClientReady) { + Alert.alert('Something wrong with chat'); } - }, []); + }, [chatClientReady]); return ( <View style={styles.background}> @@ -75,7 +65,7 @@ const ChatListScreen: React.FC<ChatListScreenProps> = () => { channel.create(); }} /> - {clientReady && ( + {chatClientReady && ( <Chat client={chatClient}> <View style={styles.chatContainer}> <ChannelList< |
