Page MenuHomePhabricator

D8098.diff
No OneTemporary

D8098.diff

diff --git a/native/chat/message-header.react.js b/native/chat/message-header.react.js
--- a/native/chat/message-header.react.js
+++ b/native/chat/message-header.react.js
@@ -1,5 +1,6 @@
// @flow
+import { useRoute } from '@react-navigation/native';
import * as React from 'react';
import { View } from 'react-native';
@@ -9,6 +10,7 @@
import type { DisplayType } from './timestamp.react.js';
import { Timestamp, timestampHeight } from './timestamp.react.js';
import { SingleLine } from '../components/single-line.react.js';
+import { MessageListRouteName } from '../navigation/route-names.js';
import { useStyles } from '../themes/colors.js';
import type { ChatMessageInfoItemWithHeight } from '../types/chat-types.js';
import { useShouldRenderAvatars } from '../utils/avatar-utils.js';
@@ -23,6 +25,7 @@
const { item, focused, display } = props;
const { creator, time } = item.messageInfo;
const { isViewer } = creator;
+ const route = useRoute();
const modalDisplay = display === 'modal';
const shouldShowUsername = !isViewer && (modalDisplay || item.startsCluster);
@@ -46,8 +49,18 @@
authorName = <SingleLine style={style}>{stringForUser}</SingleLine>;
}
+ // We only want to render the top-placed timestamp for a message if it's
+ // rendered in the message list, and not any separate screens (i.e.
+ // the MessageResultsScreen).
+ const presentedFromMessageList =
+ typeof route.params?.presentedFrom === 'string' &&
+ route.params.presentedFrom.startsWith(MessageListRouteName);
+
+ const messageInMessageList =
+ route.name === MessageListRouteName || presentedFromMessageList;
+
const timestamp =
- modalDisplay || item.startsConversation ? (
+ messageInMessageList && (modalDisplay || item.startsConversation) ? (
<Timestamp time={time} display={display} />
) : null;

File Metadata

Mime Type
text/plain
Expires
Thu, Dec 19, 10:05 AM (20 h, 36 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2676706
Default Alt Text
D8098.diff (1 KB)

Event Timeline