mirror of https://github.com/vector-im/riot-web
Fix refreshing the page not showing a download
parent
703cf73759
commit
584ffbd327
|
@ -33,6 +33,7 @@ import { canCancel } from "../context_menus/MessageContextMenu";
|
||||||
import Resend from "../../../Resend";
|
import Resend from "../../../Resend";
|
||||||
import { MatrixClientPeg } from "../../../MatrixClientPeg";
|
import { MatrixClientPeg } from "../../../MatrixClientPeg";
|
||||||
import { canTileDownload } from "./IMediaBody";
|
import { canTileDownload } from "./IMediaBody";
|
||||||
|
import {MediaEventHelper} from "../../../utils/MediaEventHelper";
|
||||||
|
|
||||||
const OptionsButton = ({ mxEvent, getTile, getReplyThread, permalinkCreator, onFocusChange }) => {
|
const OptionsButton = ({ mxEvent, getTile, getReplyThread, permalinkCreator, onFocusChange }) => {
|
||||||
const [menuDisplayed, button, openMenu, closeMenu] = useContextMenu();
|
const [menuDisplayed, button, openMenu, closeMenu] = useContextMenu();
|
||||||
|
@ -177,6 +178,11 @@ export default class MessageActionBar extends React.PureComponent {
|
||||||
};
|
};
|
||||||
|
|
||||||
onDownloadClick = async (ev) => {
|
onDownloadClick = async (ev) => {
|
||||||
|
if (!this.props.getTile || !this.props.getTile().getMediaHelper) {
|
||||||
|
console.warn("Action bar triggered a download but the event tile is missing a media helper");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// TODO: Maybe just call into MFileBody and render it as null
|
// TODO: Maybe just call into MFileBody and render it as null
|
||||||
const src = this.props.getTile().getMediaHelper();
|
const src = this.props.getTile().getMediaHelper();
|
||||||
const a = document.createElement("a");
|
const a = document.createElement("a");
|
||||||
|
@ -279,8 +285,8 @@ export default class MessageActionBar extends React.PureComponent {
|
||||||
/>);
|
/>);
|
||||||
}
|
}
|
||||||
|
|
||||||
const tile = this.props.getTile && this.props.getTile();
|
// XXX: Assuming that the underlying tile will be a media event if it is eligible media.
|
||||||
if (canTileDownload(tile)) {
|
if (MediaEventHelper.isEligible(this.props.mxEvent)) {
|
||||||
toolbarOpts.splice(0, 0, <RovingAccessibleTooltipButton
|
toolbarOpts.splice(0, 0, <RovingAccessibleTooltipButton
|
||||||
className="mx_MessageActionBar_maskButton mx_MessageActionBar_downloadButton"
|
className="mx_MessageActionBar_maskButton mx_MessageActionBar_downloadButton"
|
||||||
title={_t("Download")}
|
title={_t("Download")}
|
||||||
|
|
Loading…
Reference in New Issue