Page MenuHomePhabricator

D6425.diff
No OneTemporary

D6425.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
@@ -3,7 +3,7 @@
import * as React from 'react';
import { View } from 'react-native';
-import { stringForUser } from 'lib/shared/user-utils';
+import { useStringForUser } from 'lib/hooks/ens-cache';
import { SingleLine } from '../components/single-line.react';
import { useStyles } from '../themes/colors';
@@ -24,15 +24,16 @@
const { isViewer } = creator;
const modalDisplay = display === 'modal';
+ const shouldShowUsername = !isViewer && (modalDisplay || item.startsCluster);
+ const stringForUser = useStringForUser(shouldShowUsername ? creator : null);
+
let authorName = null;
- if (!isViewer && (modalDisplay || item.startsCluster)) {
+ if (stringForUser) {
const style = [styles.authorName];
if (modalDisplay) {
style.push(styles.modal);
}
- authorName = (
- <SingleLine style={style}>{stringForUser(creator)}</SingleLine>
- );
+ authorName = <SingleLine style={style}>{stringForUser}</SingleLine>;
}
const timestamp =
diff --git a/web/chat/composed-message.react.js b/web/chat/composed-message.react.js
--- a/web/chat/composed-message.react.js
+++ b/web/chat/composed-message.react.js
@@ -8,8 +8,8 @@
XCircle as XCircleIcon,
} from 'react-feather';
+import { useStringForUser } from 'lib/hooks/ens-cache';
import { type ChatMessageInfoItem } from 'lib/selectors/chat-selectors';
-import { stringForUser } from 'lib/shared/user-utils';
import { assertComposableMessageType } from 'lib/types/message-types';
import { type ThreadInfo } from 'lib/types/thread-types';
@@ -56,6 +56,7 @@
+onMouseLeave: ?() => mixed,
+onMouseEnter: (event: SyntheticEvent<HTMLDivElement>) => mixed,
+containsInlineEngagement: boolean,
+ +stringForUser: ?string,
};
class ComposedMessage extends React.PureComponent<Props> {
static defaultProps: { +borderRadius: number } = {
@@ -90,10 +91,9 @@
};
let authorName = null;
- if (!isViewer && item.startsCluster) {
- authorName = (
- <span className={css.authorName}>{stringForUser(creator)}</span>
- );
+ const { stringForUser } = this.props;
+ if (stringForUser) {
+ authorName = <span className={css.authorName}>{stringForUser}</span>;
}
let deliveryIcon = null;
@@ -167,7 +167,8 @@
function ConnectedComposedMessage(props) {
const { item, threadInfo } = props;
const inputState = React.useContext(InputStateContext);
- const isViewer = props.item.messageInfo.creator.isViewer;
+ const { creator } = props.item.messageInfo;
+ const { isViewer } = creator;
const availablePositions = isViewer
? availableTooltipPositionsForViewerMessage
: availableTooltipPositionsForNonViewerMessage;
@@ -179,6 +180,9 @@
availablePositions,
});
+ const shouldShowUsername = !isViewer && item.startsCluster;
+ const stringForUser = useStringForUser(shouldShowUsername ? creator : null);
+
return (
<ComposedMessage
{...props}
@@ -186,6 +190,7 @@
onMouseLeave={onMouseLeave}
onMouseEnter={onMouseEnter}
containsInlineEngagement={containsInlineEngagement}
+ stringForUser={stringForUser}
/>
);
},

File Metadata

Mime Type
text/plain
Expires
Wed, Oct 2, 3:38 PM (20 h, 7 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2218896
Default Alt Text
D6425.diff (3 KB)

Event Timeline