From 29bfc68f90d1ca82c39765dc6c84816d2733a2fa Mon Sep 17 00:00:00 2001
From: Shravya Ramesh <shravs1208@gmail.com>
Date: Wed, 12 May 2021 22:21:45 -0700
Subject: styles, done

---
 src/components/profile/ProfileBody.tsx | 58 ++++++----------------------------
 1 file changed, 10 insertions(+), 48 deletions(-)

(limited to 'src/components/profile/ProfileBody.tsx')

diff --git a/src/components/profile/ProfileBody.tsx b/src/components/profile/ProfileBody.tsx
index 3d654724..7557de00 100644
--- a/src/components/profile/ProfileBody.tsx
+++ b/src/components/profile/ProfileBody.tsx
@@ -1,17 +1,7 @@
-import {useNavigation} from '@react-navigation/core';
-import React, {useContext} from 'react';
-import {
-  Alert,
-  LayoutChangeEvent,
-  Linking,
-  StyleSheet,
-  Text,
-  View,
-} from 'react-native';
+import React from 'react';
+import {LayoutChangeEvent, Linking, StyleSheet, Text, View} from 'react-native';
 import {useDispatch, useSelector, useStore} from 'react-redux';
-import {ChatContext} from '../../App';
 import {TAGG_DARK_BLUE, TOGGLE_BUTTON_TYPE} from '../../constants';
-import {ERROR_UNABLE_CONNECT_CHAT} from '../../constants/strings';
 import {
   acceptFriendRequest,
   declineFriendRequest,
@@ -22,14 +12,14 @@ import {NO_PROFILE} from '../../store/initialStates';
 import {RootState} from '../../store/rootReducer';
 import {ScreenType} from '../../types';
 import {
-  createChannel,
   getUserAsProfilePreviewType,
   normalize,
   SCREEN_HEIGHT,
   SCREEN_WIDTH,
 } from '../../utils';
 import {canViewProfile} from '../../utils/users';
-import {BasicButton, FriendsButton} from '../common';
+import {FriendsButton} from '../common';
+import {MessageButton} from '../messages';
 import ToggleButton from './ToggleButton';
 
 interface ProfileBodyProps {
@@ -47,7 +37,6 @@ const ProfileBody: React.FC<ProfileBodyProps> = ({
   screenType,
 }) => {
   const dispatch = useDispatch();
-  const navigation = useNavigation();
 
   const {profile = NO_PROFILE, user} = useSelector((state: RootState) =>
     userXId ? state.userX[screenType][userXId] : state.user,
@@ -65,10 +54,7 @@ const ProfileBody: React.FC<ProfileBodyProps> = ({
     profile,
   );
 
-  const {chatClient, setChannel} = useContext(ChatContext);
-
   const state: RootState = useStore().getState();
-  const loggedInUserId = state.user.user.userId;
 
   const handleAcceptRequest = async () => {
     await dispatch(acceptFriendRequest({id, username, first_name, last_name}));
@@ -81,32 +67,6 @@ const ProfileBody: React.FC<ProfileBodyProps> = ({
     dispatch(updateUserXProfileAllScreens(id, state));
   };
 
-  const canMessage = () => {
-    if (
-      userXId &&
-      !isBlocked &&
-      (friendship_status === 'no_record' ||
-        friendship_status === 'friends' ||
-        (friendship_status === 'requested' &&
-          friendship_requester_id === loggedInUserId)) &&
-      canViewProfile(state, userXId, screenType)
-    ) {
-      return true;
-    } else {
-      return false;
-    }
-  };
-
-  const onPressMessage = async () => {
-    if (chatClient.user && userXId) {
-      const channel = await createChannel(loggedInUserId, userXId, chatClient);
-      setChannel(channel);
-      navigation.navigate('Chat');
-    } else {
-      Alert.alert(ERROR_UNABLE_CONNECT_CHAT);
-    }
-  };
-
   return (
     <View onLayout={onLayout} style={styles.container}>
       <Text style={styles.username}>{`@${username}`}</Text>
@@ -142,10 +102,12 @@ const ProfileBody: React.FC<ProfileBodyProps> = ({
               onAcceptRequest={handleAcceptRequest}
               onRejectRequest={handleDeclineFriendRequest}
             />
-            {canMessage() && (
-              <BasicButton
-                title={'Message'}
-                onPress={onPressMessage}
+            {canViewProfile(state, userXId, screenType) && (
+              <MessageButton
+                userXId={userXId}
+                isBlocked={isBlocked}
+                friendship_status={friendship_status}
+                friendship_requester_id={friendship_requester_id}
                 externalStyles={{
                   container: {
                     width: SCREEN_WIDTH * 0.42,
-- 
cgit v1.2.3-70-g09d2

