Receive support for editing messages

This commit is contained in:
Josh Perez 2023-03-27 19:48:57 -04:00 committed by GitHub
parent 2781e621ad
commit 36e21c0134
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
46 changed files with 2053 additions and 405 deletions

View file

@ -207,6 +207,7 @@ export type PropsData = {
text?: string;
textDirection: TextDirection;
textAttachment?: AttachmentType;
isEditedMessage?: boolean;
isSticker?: boolean;
isTargeted?: boolean;
isTargetedCounter?: number;
@ -338,6 +339,7 @@ export type PropsActions = {
}) => void;
targetMessage?: (messageId: string, conversationId: string) => unknown;
showEditHistoryModal?: (id: string) => unknown;
showExpiredIncomingTapToViewToast: () => unknown;
showExpiredOutgoingTapToViewToast: () => unknown;
viewStory: ViewStoryActionCreatorType;
@ -768,9 +770,11 @@ export class Message extends React.PureComponent<Props, State> {
expirationTimestamp,
i18n,
id,
isEditedMessage,
isSticker,
isTapToViewExpired,
pushPanelForConversation,
showEditHistoryModal,
status,
text,
textAttachment,
@ -788,12 +792,14 @@ export class Message extends React.PureComponent<Props, State> {
hasText={Boolean(text)}
i18n={i18n}
id={id}
isEditedMessage={isEditedMessage}
isInline={isInline}
isShowingImage={this.isShowingImage()}
isSticker={isStickerLike}
isTapToViewExpired={isTapToViewExpired}
onWidthMeasured={isInline ? this.updateMetadataWidth : undefined}
pushPanelForConversation={pushPanelForConversation}
showEditHistoryModal={showEditHistoryModal}
status={status}
textPending={textAttachment?.pending}
timestamp={timestamp}

View file

@ -22,12 +22,14 @@ type PropsType = {
hasText: boolean;
i18n: LocalizerType;
id: string;
isEditedMessage?: boolean;
isInline?: boolean;
isShowingImage: boolean;
isSticker?: boolean;
isTapToViewExpired?: boolean;
onWidthMeasured?: (width: number) => unknown;
pushPanelForConversation: PushPanelForConversationActionType;
showEditHistoryModal?: (id: string) => unknown;
status?: MessageStatusType;
textPending?: boolean;
timestamp: number;
@ -41,12 +43,14 @@ export function MessageMetadata({
hasText,
i18n,
id,
isEditedMessage,
isInline,
isShowingImage,
isSticker,
isTapToViewExpired,
onWidthMeasured,
pushPanelForConversation,
showEditHistoryModal,
status,
textPending,
timestamp,
@ -130,6 +134,15 @@ export function MessageMetadata({
);
const children = (
<>
{isEditedMessage && showEditHistoryModal && (
<button
className="module-message__metadata__edited"
onClick={() => showEditHistoryModal(id)}
type="button"
>
{i18n('icu:MessageMetadata__edited')}
</button>
)}
{timestampNode}
{expirationLength ? (
<ExpireTimer