Inhibit interactions on forward dialog message previews (#11025)
* Inhibit interactions on forward dialog message previews and improve inhibiting of video message body * Consolidate prop types * Iterate * Update src/components/views/messages/IBodyProps.ts Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com> --------- Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
This commit is contained in:
parent
7d36c8315b
commit
6fa005dcfc
5 changed files with 35 additions and 19 deletions
|
@ -284,7 +284,13 @@ const ForwardDialog: React.FC<IProps> = ({ matrixClient: cli, event, permalinkCr
|
|||
mx_IRCLayout: previewLayout == Layout.IRC,
|
||||
})}
|
||||
>
|
||||
<EventTile mxEvent={mockEvent} layout={previewLayout} permalinkCreator={permalinkCreator} as="div" />
|
||||
<EventTile
|
||||
mxEvent={mockEvent}
|
||||
layout={previewLayout}
|
||||
permalinkCreator={permalinkCreator}
|
||||
as="div"
|
||||
inhibitInteraction
|
||||
/>
|
||||
</div>
|
||||
<hr />
|
||||
<div className="mx_ForwardList" id="mx_ForwardList">
|
||||
|
|
|
@ -55,4 +55,8 @@ export interface IBodyProps {
|
|||
getRelationsForEvent?: GetRelationsForEvent;
|
||||
|
||||
ref?: React.RefObject<any> | LegacyRef<any>;
|
||||
|
||||
// Set to `true` to disable interactions (e.g. video controls) and to remove controls from the tab order.
|
||||
// This may be useful when displaying a preview of the event.
|
||||
inhibitInteraction?: boolean;
|
||||
}
|
||||
|
|
|
@ -234,7 +234,7 @@ export default class MVideoBody extends React.PureComponent<IBodyProps, IState>
|
|||
|
||||
public render(): React.ReactNode {
|
||||
const content = this.props.mxEvent.getContent();
|
||||
const autoplay = SettingsStore.getValue("autoplayVideo");
|
||||
const autoplay = !this.props.inhibitInteraction && SettingsStore.getValue("autoplayVideo");
|
||||
|
||||
let aspectRatio;
|
||||
if (content.info?.w && content.info?.h) {
|
||||
|
@ -287,7 +287,7 @@ export default class MVideoBody extends React.PureComponent<IBodyProps, IState>
|
|||
ref={this.videoRef}
|
||||
src={contentUrl}
|
||||
title={content.body}
|
||||
controls
|
||||
controls={!this.props.inhibitInteraction}
|
||||
// Disable downloading as it doesn't work with e2ee video,
|
||||
// users should use the dedicated Download button in the Message Action Bar
|
||||
controlsList="nodownload"
|
||||
|
|
|
@ -213,6 +213,7 @@ export default class MessageEvent extends React.Component<IProps> implements IMe
|
|||
mediaEventHelper={this.mediaHelper}
|
||||
getRelationsForEvent={this.props.getRelationsForEvent}
|
||||
isSeeingThroughMessageHiddenForModeration={this.props.isSeeingThroughMessageHiddenForModeration}
|
||||
inhibitInteraction={this.props.inhibitInteraction}
|
||||
/>
|
||||
) : null;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue