Refactoring to evaluate conversation request status in a single place.

pull/2222/head
warrickct 3 years ago
parent 2b42290bca
commit 93f37ba66f

@ -15,6 +15,7 @@ import { getSelectedConversation } from '../../state/selectors/conversations';
import { SessionButton, SessionButtonColor, SessionButtonType } from '../basic/SessionButton';
export const ConversationMessageRequestButtons = () => {
const dispatch = useDispatch();
const selectedConversation = useSelector(getSelectedConversation);
const [hasIncoming, setHasIncomingMsgs] = useState(false);
const [incomingChecked, setIncomingChecked] = useState(false);
@ -43,11 +44,9 @@ export const ConversationMessageRequestButtons = () => {
return null;
}
const showMsgRequestUI =
!selectedConversation.isApproved &&
!selectedConversation.isApproved &&
selectedConversation.type === 'private';
const dispatch = useDispatch();
const showMsgRequestUI = getConversationController()
.get(selectedConversation.id)
.isRequest();
const handleDeclineConversationRequest = () => {
dispatch(

@ -3,12 +3,16 @@ import { useSelector } from 'react-redux';
import styled from 'styled-components';
import { getMessageCountByType } from '../../data/data';
import { MessageDirection } from '../../models/messageType';
import { getConversationController } from '../../session/conversations';
import { getSelectedConversation } from '../../state/selectors/conversations';
export const ConversationRequestinfo = () => {
const selectedConversation = useSelector(getSelectedConversation);
const showMsgRequestUI =
!selectedConversation?.isApproved && selectedConversation?.type === 'private';
selectedConversation &&
getConversationController()
.get(selectedConversation.id)
.isRequest();
const [hasIncomingMessages, setHasIncomingMessages] = useState(false);
const [incomingChecked, setIncomingChecked] = useState(false);

@ -14,7 +14,7 @@ import {
import { getIntl, getOurNumber } from './user';
import { BlockedNumberController } from '../../util';
import { ConversationTypeEnum } from '../../models/conversation';
import { ConversationModel, ConversationTypeEnum } from '../../models/conversation';
import { LocalizerType } from '../../types/Util';
import { ConversationHeaderTitleProps } from '../../components/conversation/ConversationHeader';
import _ from 'lodash';
@ -444,12 +444,13 @@ const _getConversationRequests = (
sortedConversations: Array<ReduxConversationType>
): Array<ReduxConversationType> => {
return _.filter(sortedConversations, conversation => {
return (
!conversation.isApproved &&
!conversation.isBlocked &&
conversation.isPrivate &&
!conversation.isMe
);
const isRequest = ConversationModel.hasValidRequestValues({
isApproved: conversation.isApproved,
isBlocked: !conversation.isBlocked,
isPrivate: conversation.isPrivate,
isMe: conversation.isMe,
});
return isRequest;
});
};

Loading…
Cancel
Save