Eliminate clipped error icon for wide messages with errors

This commit is contained in:
Scott Nonnenberg 2020-03-25 15:48:10 -07:00
parent 4c449019f8
commit 30e5051239
3 changed files with 25 additions and 1 deletions

View file

@ -261,7 +261,7 @@
}
.module-message__error-container {
width: 28px;
min-width: 28px;
position: relative;
}

View file

@ -289,6 +289,17 @@ Note that timestamp and status can be hidden with the `collapseMetadata` boolean
onRetrySend={() => console.log('onRetrySend')}
/>
</div>
<div className="module-message-container">
<Message
direction="outgoing"
status="error"
authorColor="purple"
timestamp={Date.now() - 57}
text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam efficitur finibus tellus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eu metus leo. Nullam consequat leo ut accumsan aliquam. In est elit, faucibus vel arcu vitae, dapibus egestas nunc. Curabitur nec orci semper, auctor justo ornare, sagittis massa. Aliquam ultrices sem ac ex vestibulum dapibus. Etiam erat purus, interdum sit amet magna vitae, elementum lacinia leo. Duis vel mauris dui. Morbi sed accumsan erat, at facilisis metus. Nullam molestie lectus eleifend congue ultrices. Nunc porta at justo semper egestas. Proin non iaculis nibh. Cras sit amet urna dignissim, venenatis arcu a, pulvinar ipsum."
i18n={util.i18n}
onRetrySend={() => console.log('onRetrySend')}
/>
</div>
<div className="module-message-container">
<Message
direction="incoming"

View file

@ -89,6 +89,8 @@ export type MessageType = {
};
}>;
errors?: Array<Error>;
// No need to go beyond this; unused at this stage, since this goes into
// a reducer still in plain JavaScript and comes out well-formed
};
@ -561,6 +563,7 @@ function getEmptyState(): ConversationsStateType {
};
}
// tslint:disable-next-line cyclomatic-complexity
function hasMessageHeightChanged(
message: MessageType,
previous: MessageType
@ -568,6 +571,16 @@ function hasMessageHeightChanged(
const messageAttachments = message.attachments || [];
const previousAttachments = previous.attachments || [];
const errorStatusChanged =
(!message.errors && previous.errors) ||
(message.errors && !previous.errors) ||
(message.errors &&
previous.errors &&
message.errors.length !== previous.errors.length);
if (errorStatusChanged) {
return true;
}
const stickerPendingChanged =
message.sticker &&
message.sticker.data &&