diff --git a/native/chat/deleted-message.react.js b/native/chat/deleted-message.react.js
new file mode 100644
--- /dev/null
+++ b/native/chat/deleted-message.react.js
@@ -0,0 +1,71 @@
+// @flow
+
+import * as React from 'react';
+import { View, Text } from 'react-native';
+
+import ComposedMessage from './composed-message.react.js';
+import {
+ allCorners,
+ filterCorners,
+ getRoundedContainerStyle,
+} from './rounded-corners.js';
+import SWMansionIcon from '../components/swmansion-icon.react.js';
+import { useStyles } from '../themes/colors.js';
+import { type ChatComposedMessageInfoItemWithHeight } from '../types/chat-types.js';
+
+type Props = {
+ +item: ChatComposedMessageInfoItemWithHeight,
+};
+
+function DeletedMessage(props: Props): React.Node {
+ const { item } = props;
+
+ const cornerStyle = React.useMemo(
+ () => getRoundedContainerStyle(filterCorners(allCorners, item)),
+ [item],
+ );
+
+ const styles = useStyles(unboundStyles);
+ const containerStyle = React.useMemo(
+ () => [styles.message, cornerStyle],
+ [cornerStyle, styles.message],
+ );
+ const text = 'Deleted message';
+ return (
+
+
+
+ {text}
+
+
+ );
+}
+
+const unboundStyles = {
+ icon: {
+ marginRight: 4,
+ color: 'deletedMessageText',
+ },
+ text: {
+ fontFamily: 'Arial',
+ fontSize: 18,
+ color: 'deletedMessageText',
+ fontStyle: 'italic',
+ },
+ message: {
+ overflow: 'hidden',
+ paddingHorizontal: 12,
+ paddingVertical: 6,
+ backgroundColor: 'deletedMessageBackground',
+ flexDirection: 'row',
+ alignItems: 'center',
+ },
+};
+
+export { DeletedMessage };
diff --git a/native/chat/message.react.js b/native/chat/message.react.js
--- a/native/chat/message.react.js
+++ b/native/chat/message.react.js
@@ -11,6 +11,7 @@
import { useCanToggleMessagePin } from 'lib/utils/message-pinning-utils.js';
import type { ChatNavigationProp } from './chat.react.js';
+import { DeletedMessage } from './deleted-message.react.js';
import MultimediaMessage from './multimedia-message.react.js';
import { RobotextMessage } from './robotext-message.react.js';
import { TextMessage } from './text-message.react.js';
@@ -98,7 +99,9 @@
);
const innerMessageNode = React.useMemo(() => {
- if (item.messageShapeType === 'text') {
+ if (item.deleted) {
+ return ;
+ } else if (item.messageShapeType === 'text') {
return (
;
@@ -262,6 +264,8 @@
greenIndicatorOuter: designSystemColors.successDark90,
redIndicatorInner: designSystemColors.errorPrimary,
redIndicatorOuter: designSystemColors.errorDark90,
+ deletedMessageText: designSystemColors.shadesWhite60,
+ deletedMessageBackground: designSystemColors.shadesBlack90,
});
const colors = { light, dark };