Deprecate phone number discovery notification

This commit is contained in:
Fedor Indutny 2023-01-12 14:18:08 -08:00 committed by GitHub
parent 63509b8965
commit d7b09b9703
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
21 changed files with 196 additions and 517 deletions

View file

@ -338,6 +338,7 @@ export function ConversationList({
'typingContactId',
'unblurredAvatarPath',
'unreadCount',
'uuid',
]);
const { badges, title, unreadCount, lastMessage } = itemProps;
result = (

View file

@ -17,14 +17,25 @@ export default {
const createProps = (overrideProps: Partial<PropsType> = {}): PropsType => ({
i18n,
conversationTitle: overrideProps.conversationTitle || 'John Fire',
obsoleteConversationNumber:
overrideProps.obsoleteConversationNumber || '(555) 333-1111',
obsoleteConversationTitle:
overrideProps.obsoleteConversationTitle || '(555) 333-1111',
overrideProps.obsoleteConversationTitle || 'John Obsolete',
});
export function Basic(): JSX.Element {
return <ConversationMergeNotification {...createProps()} />;
}
export function WithNoObsoleteNumber(): JSX.Element {
return (
<ConversationMergeNotification
{...createProps()}
obsoleteConversationNumber={undefined}
/>
);
}
export function WithNoObsoleteTitle(): JSX.Element {
return (
<ConversationMergeNotification

View file

@ -14,16 +14,23 @@ import { Intl } from '../Intl';
export type PropsDataType = {
conversationTitle: string;
obsoleteConversationTitle: string | undefined;
obsoleteConversationNumber: string | undefined;
};
export type PropsType = PropsDataType & {
i18n: LocalizerType;
};
export function ConversationMergeNotification(props: PropsType): JSX.Element {
const { conversationTitle, obsoleteConversationTitle, i18n } = props;
const {
conversationTitle,
obsoleteConversationTitle,
obsoleteConversationNumber,
i18n,
} = props;
const message = getStringForConversationMerge({
conversationTitle,
obsoleteConversationTitle,
obsoleteConversationNumber,
i18n,
});
@ -40,7 +47,7 @@ export function ConversationMergeNotification(props: PropsType): JSX.Element {
return (
<>
<SystemMessage
icon="profile"
icon="merge"
contents={<Emojify text={message} />}
button={
obsoleteConversationTitle ? (

View file

@ -1,36 +0,0 @@
// Copyright 2022 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import * as React from 'react';
import { setupI18n } from '../../util/setupI18n';
import enMessages from '../../../_locales/en/messages.json';
import type { PropsType } from './PhoneNumberDiscoveryNotification';
import { PhoneNumberDiscoveryNotification } from './PhoneNumberDiscoveryNotification';
const i18n = setupI18n('en', enMessages);
export default {
title: 'Components/Conversation/PhoneNumberDiscoveryNotification',
};
const createProps = (overrideProps: Partial<PropsType> = {}): PropsType => ({
i18n,
conversationTitle: overrideProps.conversationTitle || 'Mr. Fire',
phoneNumber: overrideProps.phoneNumber || '+1 (000) 123-4567',
sharedGroup: overrideProps.sharedGroup,
});
export function Basic(): JSX.Element {
return <PhoneNumberDiscoveryNotification {...createProps()} />;
}
export function WithSharedGroup(): JSX.Element {
return (
<PhoneNumberDiscoveryNotification
{...createProps({
sharedGroup: 'Animal Lovers',
})}
/>
);
}

View file

@ -1,32 +0,0 @@
// Copyright 2022 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import React from 'react';
import type { LocalizerType } from '../../types/Util';
import { SystemMessage } from './SystemMessage';
import { Emojify } from './Emojify';
import { getStringForPhoneNumberDiscovery } from '../../util/getStringForPhoneNumberDiscovery';
export type PropsDataType = {
conversationTitle: string;
phoneNumber: string;
sharedGroup?: string;
};
export type PropsType = PropsDataType & {
i18n: LocalizerType;
};
export function PhoneNumberDiscoveryNotification(
props: PropsType
): JSX.Element {
const { conversationTitle, i18n, sharedGroup, phoneNumber } = props;
const message = getStringForPhoneNumberDiscovery({
conversationTitle,
i18n,
phoneNumber,
sharedGroup,
});
return <SystemMessage icon="profile" contents={<Emojify text={message} />} />;
}

View file

@ -50,8 +50,6 @@ import type { PropsType as PaymentEventNotificationPropsType } from './PaymentEv
import { PaymentEventNotification } from './PaymentEventNotification';
import type { PropsDataType as ConversationMergeNotificationPropsType } from './ConversationMergeNotification';
import { ConversationMergeNotification } from './ConversationMergeNotification';
import type { PropsDataType as PhoneNumberDiscoveryNotificationPropsType } from './PhoneNumberDiscoveryNotification';
import { PhoneNumberDiscoveryNotification } from './PhoneNumberDiscoveryNotification';
import type { FullJSXType } from '../Intl';
import { TimelineMessage } from './TimelineMessage';
@ -119,10 +117,6 @@ type ConversationMergeNotificationType = {
type: 'conversationMerge';
data: ConversationMergeNotificationPropsType;
};
type PhoneNumberDiscoveryNotificationType = {
type: 'phoneNumberDiscovery';
data: PhoneNumberDiscoveryNotificationPropsType;
};
type PaymentEventType = {
type: 'paymentEvent';
data: Omit<PaymentEventNotificationPropsType, 'i18n'>;
@ -138,7 +132,6 @@ export type TimelineItemType = (
| GroupV1MigrationType
| GroupV2ChangeType
| MessageType
| PhoneNumberDiscoveryNotificationType
| ProfileChangeNotificationType
| ResetSessionNotificationType
| SafetyNumberNotificationType
@ -319,14 +312,6 @@ export class TimelineItem extends React.PureComponent<PropsType> {
i18n={i18n}
/>
);
} else if (item.type === 'phoneNumberDiscovery') {
notification = (
<PhoneNumberDiscoveryNotification
{...reducedProps}
{...item.data}
i18n={i18n}
/>
);
} else if (item.type === 'resetSessionNotification') {
notification = (
<ResetSessionNotification {...reducedProps} i18n={i18n} />