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

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

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

Loading…
Cancel
Save