Do not display call buttons for SMS-only convo

This commit is contained in:
Fedor Indutny 2021-05-25 15:30:57 -07:00 committed by GitHub
parent 07a0a6da22
commit d8417e562b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 18 additions and 2 deletions

View file

@ -188,6 +188,19 @@ const stories: Array<ConversationHeaderStory> = [
muteExpiresAt: new Date('3000-10-18T11:11:11Z').valueOf(), muteExpiresAt: new Date('3000-10-18T11:11:11Z').valueOf(),
}, },
}, },
{
title: 'SMS-only conversation',
props: {
...commonProps,
color: 'ultramarine',
title: '(202) 555-0006',
phoneNumber: '(202) 555-0006',
type: 'direct',
id: '6',
acceptedMessageRequest: true,
isSMSOnly: true,
},
},
], ],
}, },
{ {

View file

@ -35,6 +35,7 @@ export type PropsDataType = {
isMissingMandatoryProfileSharing?: boolean; isMissingMandatoryProfileSharing?: boolean;
outgoingCallButtonStyle: OutgoingCallButtonStyle; outgoingCallButtonStyle: OutgoingCallButtonStyle;
showBackButton?: boolean; showBackButton?: boolean;
isSMSOnly?: boolean;
} & Pick< } & Pick<
ConversationType, ConversationType,
| 'acceptedMessageRequest' | 'acceptedMessageRequest'
@ -570,7 +571,7 @@ export class ConversationHeader extends React.Component<PropsType, StateType> {
} }
public render(): ReactNode { public render(): ReactNode {
const { id } = this.props; const { id, isSMSOnly } = this.props;
const { isNarrow } = this.state; const { isNarrow } = this.state;
const triggerId = `conversation-${id}`; const triggerId = `conversation-${id}`;
@ -593,7 +594,7 @@ export class ConversationHeader extends React.Component<PropsType, StateType> {
> >
{this.renderBackButton()} {this.renderBackButton()}
{this.renderHeader()} {this.renderHeader()}
{this.renderOutgoingCallButtons()} {!isSMSOnly && this.renderOutgoingCallButtons()}
{this.renderSearchButton()} {this.renderSearchButton()}
{this.renderMoreButton(triggerId)} {this.renderMoreButton(triggerId)}
{this.renderMenu(triggerId)} {this.renderMenu(triggerId)}

View file

@ -18,6 +18,7 @@ import { getActiveCall, isAnybodyElseInGroupCall } from '../ducks/calling';
import { getUserConversationId, getIntl } from '../selectors/user'; import { getUserConversationId, getIntl } from '../selectors/user';
import { getOwn } from '../../util/getOwn'; import { getOwn } from '../../util/getOwn';
import { missingCaseError } from '../../util/missingCaseError'; import { missingCaseError } from '../../util/missingCaseError';
import { isConversationSMSOnly } from '../../util/isConversationSMSOnly';
import { isGroupCallingEnabled } from '../../util/isGroupCallingEnabled'; import { isGroupCallingEnabled } from '../../util/isGroupCallingEnabled';
export type OwnProps = { export type OwnProps = {
@ -117,6 +118,7 @@ const mapStateToProps = (state: StateType, ownProps: OwnProps) => {
conversation.messageCount && conversation.messageCount &&
conversation.messageCount > 0 conversation.messageCount > 0
), ),
isSMSOnly: isConversationSMSOnly(conversation),
i18n: getIntl(state), i18n: getIntl(state),
showBackButton: state.conversations.selectedConversationPanelDepth > 0, showBackButton: state.conversations.selectedConversationPanelDepth > 0,
outgoingCallButtonStyle: getOutgoingCallButtonStyle(conversation, state), outgoingCallButtonStyle: getOutgoingCallButtonStyle(conversation, state),