aboutsummaryrefslogtreecommitdiff
path: root/src/screens/chat
diff options
context:
space:
mode:
authorShravya Ramesh <shravs1208@gmail.com>2021-04-09 12:20:25 -0700
committerShravya Ramesh <shravs1208@gmail.com>2021-04-09 12:20:25 -0700
commitb967bd77710bce7b92ae0863df52cce345abd4e4 (patch)
treee492b323712701f02339257beecc5279b050d764 /src/screens/chat
parentd601b6dcf93dc1e326a9e79c5b19db6bcdaedbdf (diff)
connecting user during login
Diffstat (limited to 'src/screens/chat')
-rw-r--r--src/screens/chat/ChatListScreen.tsx28
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<