import * as React from "react"; import * as Constants from "~/common/constants"; import * as Strings from "~/common/strings"; import { css } from "@emotion/core"; const STYLES_FAILURE = css` background-color: ${Constants.system.pitchBlack}; color: ${Constants.system.white}; display: flex; align-items: center; justify-content: center; font-size: 88px; margin: 0; padding: 0; width: 100%; min-height: 10%; height: 100%; `; const STYLES_OBJECT = css` display: block; margin: 0; padding: 0; width: 100%; min-height: 10%; height: 100%; user-select: none; `; const STYLES_ASSET = css` user-select: none; width: 100%; margin: 0; padding: 0; min-height: 10%; height: 100%; display: flex; align-items: center; justify-content: center; position: relative; `; const STYLES_IMAGE = css` user-select: none; display: block; max-width: 100%; max-height: 100%; `; const typeMap = { "video/quicktime": "video/mp4", }; export default class SlateMediaObject extends React.Component { render() { const name = `${this.props.data.name}`; // NOTE(jim): // This is a hack to catch this undefined case I don't want to track down yet. const url = this.props.data.url.replace("https://undefined", "https://"); const type = this.props.data.type ? this.props.data.type : "LEGACY_NO_TYPE"; const playType = typeMap[type] ? typeMap[type] : type; let element =