diff --git a/src/plugins/image/image.tsx b/src/plugins/image/image.tsx index c96be3ab..c46bad01 100644 --- a/src/plugins/image/image.tsx +++ b/src/plugins/image/image.tsx @@ -48,15 +48,15 @@ class SimpleImageRenderer extends React.Component< return (
- ERROR: file {dataBlob && dataBlob.name ? JSON.stringify(dataBlob.name) : ""} not found + ERROR: file {dataBlob?.name ? JSON.stringify(dataBlob.name) : ""} not found
); } - if (dataBlob.name.endsWith(".svg")) { - dataBlob = new Blob([dataBlob], { type: "image/svg+xml" }) as ExtBlob; - } if (this.objUrl == null) { + if (dataBlob.name?.endsWith(".svg")) { + dataBlob = new Blob([dataBlob], { type: "image/svg+xml" }) as ExtBlob; + } this.objUrl = URL.createObjectURL(dataBlob); } let opts = this.props.opts; diff --git a/src/plugins/media/media.less b/src/plugins/media/media.less index 8b3b929a..a77d18b2 100644 --- a/src/plugins/media/media.less +++ b/src/plugins/media/media.less @@ -4,4 +4,11 @@ align-items: center; justify-content: center; padding-top: var(--termpad); + + video { + object-fit: contain; + object-position: center; + height: 100%; + width: auto; + } } diff --git a/src/plugins/media/media.tsx b/src/plugins/media/media.tsx index 7a904761..aad7b985 100644 --- a/src/plugins/media/media.tsx +++ b/src/plugins/media/media.tsx @@ -4,6 +4,7 @@ import * as React from "react"; import * as mobx from "mobx"; import * as mobxReact from "mobx-react"; +import * as util from "@/util/util"; import { GlobalModel } from "@/models"; import "./media.less"; @@ -32,14 +33,24 @@ class SimpleMediaRenderer extends React.Component< ); } - let videoUrl = GlobalModel.getBaseHostPort() + this.props.lineState["wave:fileurl"]; + let fileUrl = this.props.lineState["wave:fileurl"]; + if (util.isBlank(fileUrl)) { + return ( +
+
+ ERROR: no fileurl found (please use `mediaview` to view media files) +
+
+ ); + } + let fullVideoUrl = GlobalModel.getBaseHostPort() + fileUrl; const opts = this.props.opts; - const maxHeight = opts.maxSize.height - 10; - const maxWidth = opts.maxSize.width - 10; + const height = opts.idealSize.height - 10; + const width = opts.maxSize.width - 10; return ( -
-