From 9b5ac83f6883a4f4530fea75aa1eacbe5abb3bd7 Mon Sep 17 00:00:00 2001 From: btzr-io Date: Tue, 12 Jun 2018 22:06:53 -0600 Subject: [PATCH] more fixes - Update fileRender logic - Fix missing file source --- .../component/common/loading-screen.jsx | 5 ++- src/renderer/component/fileRender/view.jsx | 34 +++++++------------ .../component/video/internal/player.jsx | 5 +-- src/renderer/scss/component/_content.scss | 19 +++++++++++ 4 files changed, 36 insertions(+), 27 deletions(-) diff --git a/src/renderer/component/common/loading-screen.jsx b/src/renderer/component/common/loading-screen.jsx index f313b412d..c8eb3f3fb 100644 --- a/src/renderer/component/common/loading-screen.jsx +++ b/src/renderer/component/common/loading-screen.jsx @@ -3,8 +3,8 @@ import React from 'react'; import Spinner from 'component/spinner'; type Props = { - spinner: boolean, status: string, + spinner: boolean, }; class LoadingScreen extends React.PureComponent { @@ -17,8 +17,7 @@ class LoadingScreen extends React.PureComponent { return (
{spinner && } - - {status} + {status && {status}}
); } diff --git a/src/renderer/component/fileRender/view.jsx b/src/renderer/component/fileRender/view.jsx index badd739dd..8593280dc 100644 --- a/src/renderer/component/fileRender/view.jsx +++ b/src/renderer/component/fileRender/view.jsx @@ -1,11 +1,11 @@ // @flow import React from 'react'; import LoadingScreen from 'component/common/loading-screen'; -//import ThreeViewer from 'component/threeViewer'; +// import ThreeViewer from 'component/threeViewer'; type Props = { mediaType: string, - fileSource: { + source: { filePath: string, fileType: string, }, @@ -13,36 +13,26 @@ type Props = { }; class FileRender extends React.PureComponent { - constructor() { - super(); - } - - routeViewer() { - const { mediaType, fileSource, currentTheme } = this.props; - - if (!mediaType || !fileSource) return null; + renderViewer() { + const { source, mediaType, currentTheme } = this.props; + const viewerProps = { source, theme: currentTheme }; // Supported mediaTypes const mediaTypes = { - // '3D-file': () => , - // 'e-book': () => , - // 'comic-book' () => , + // '3D-file': , // Add routes to viewer... }; + const viewer = mediaType && source && mediaTypes[mediaType]; + const unsupportedMessage = "Sorry, looks like we can't preview this file."; + const unsupported = ; + // Return viewer - return mediaType ? mediaTypes[mediaType] : null; + return viewer || unsupported; } render() { - const Viewer = this.routeViewer(); - const unsupportedMessage = "Sorry, looks like we can't preview this file."; - - return ( -
- {Viewer ? : } -
- ); + return
{this.renderViewer()}
; } } diff --git a/src/renderer/component/video/internal/player.jsx b/src/renderer/component/video/internal/player.jsx index bbf28dec7..d470f4d52 100644 --- a/src/renderer/component/video/internal/player.jsx +++ b/src/renderer/component/video/internal/player.jsx @@ -9,7 +9,6 @@ import FileRender from 'component/fileRender'; import Thumbnail from 'component/common/thumbnail'; import LoadingScreen from 'component/common/loading-screen'; - class VideoPlayer extends React.PureComponent { static MP3_CONTENT_TYPES = ['audio/mpeg3', 'audio/mpeg']; static FILE_MEDIA_TYPES = ['3D-file', 'e-book', 'comic-book']; @@ -21,6 +20,7 @@ class VideoPlayer extends React.PureComponent { hasMetadata: false, startedPlaying: false, unplayable: false, + fileSource: null, }; this.togglePlayListener = this.togglePlay.bind(this); @@ -232,7 +232,8 @@ class VideoPlayer extends React.PureComponent { {isLoadingFile && } {isLoadingMetadata && } {isUnplayable && } - {unsupported || isUnsupported && } + {unsupported || + (isUnsupported && )} {isFile && }