Inject sender into pinned messages (#7904)
* Inject sender into pinned messages Signed-off-by: Robin Townsend <robin@robin.town> * Remove unused prop Signed-off-by: Robin Townsend <robin@robin.town>
This commit is contained in:
parent
75e41b4c1c
commit
33657947d3
2 changed files with 4 additions and 6 deletions
|
@ -108,6 +108,8 @@ const PinnedMessagesCard = ({ room, onClose }: IProps) => {
|
||||||
await cli.decryptEventIfNeeded(event); // TODO await?
|
await cli.decryptEventIfNeeded(event); // TODO await?
|
||||||
}
|
}
|
||||||
if (event && PinningUtils.isPinnable(event)) {
|
if (event && PinningUtils.isPinnable(event)) {
|
||||||
|
// Inject sender information
|
||||||
|
event.sender = room.getMember(event.getSender());
|
||||||
return event;
|
return event;
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
@ -140,7 +142,6 @@ const PinnedMessagesCard = ({ room, onClose }: IProps) => {
|
||||||
content = pinnedEvents.filter(Boolean).reverse().map(ev => (
|
content = pinnedEvents.filter(Boolean).reverse().map(ev => (
|
||||||
<PinnedEventTile
|
<PinnedEventTile
|
||||||
key={ev.getId()}
|
key={ev.getId()}
|
||||||
room={room}
|
|
||||||
event={ev}
|
event={ev}
|
||||||
onUnpinClicked={canUnpin ? () => onUnpinClicked(ev) : undefined}
|
onUnpinClicked={canUnpin ? () => onUnpinClicked(ev) : undefined}
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -16,7 +16,6 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import { Room } from "matrix-js-sdk/src/models/room";
|
|
||||||
import { MatrixEvent } from "matrix-js-sdk/src/models/event";
|
import { MatrixEvent } from "matrix-js-sdk/src/models/event";
|
||||||
|
|
||||||
import dis from "../../../dispatcher/dispatcher";
|
import dis from "../../../dispatcher/dispatcher";
|
||||||
|
@ -33,7 +32,6 @@ import AccessibleTooltipButton from "../elements/AccessibleTooltipButton";
|
||||||
import { ViewRoomPayload } from "../../../dispatcher/payloads/ViewRoomPayload";
|
import { ViewRoomPayload } from "../../../dispatcher/payloads/ViewRoomPayload";
|
||||||
|
|
||||||
interface IProps {
|
interface IProps {
|
||||||
room: Room;
|
|
||||||
event: MatrixEvent;
|
event: MatrixEvent;
|
||||||
onUnpinClicked?(): void;
|
onUnpinClicked?(): void;
|
||||||
}
|
}
|
||||||
|
@ -56,7 +54,6 @@ export default class PinnedEventTile extends React.Component<IProps> {
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const sender = this.props.event.getSender();
|
const sender = this.props.event.getSender();
|
||||||
const senderProfile = this.props.room.getMember(sender);
|
|
||||||
|
|
||||||
let unpinButton = null;
|
let unpinButton = null;
|
||||||
if (this.props.onUnpinClicked) {
|
if (this.props.onUnpinClicked) {
|
||||||
|
@ -72,14 +69,14 @@ export default class PinnedEventTile extends React.Component<IProps> {
|
||||||
return <div className="mx_PinnedEventTile">
|
return <div className="mx_PinnedEventTile">
|
||||||
<MemberAvatar
|
<MemberAvatar
|
||||||
className="mx_PinnedEventTile_senderAvatar"
|
className="mx_PinnedEventTile_senderAvatar"
|
||||||
member={senderProfile}
|
member={this.props.event.sender}
|
||||||
width={AVATAR_SIZE}
|
width={AVATAR_SIZE}
|
||||||
height={AVATAR_SIZE}
|
height={AVATAR_SIZE}
|
||||||
fallbackUserId={sender}
|
fallbackUserId={sender}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<span className={"mx_PinnedEventTile_sender " + getUserNameColorClass(sender)}>
|
<span className={"mx_PinnedEventTile_sender " + getUserNameColorClass(sender)}>
|
||||||
{ senderProfile?.name || sender }
|
{ this.props.event.sender?.name || sender }
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
{ unpinButton }
|
{ unpinButton }
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue