fix comic-book content-type detection
always show viewer: fix #4141 minor improvements for loading indicator
This commit is contained in:
parent
036cf734c6
commit
c19d04f83e
4 changed files with 14 additions and 5 deletions
|
@ -50,12 +50,12 @@ const ComicBookViewer = (props: Props) => {
|
|||
};
|
||||
|
||||
const { error, loading, content } = finalSource;
|
||||
const ready = content !== null && !loading;
|
||||
const ready = content !== null && !loading && !error;
|
||||
const errorMessage = __("Sorry, looks like we can't load the archive.");
|
||||
|
||||
return (
|
||||
<div className="file-render__viewer file-render__viewer--comic">
|
||||
{loading && <LoadingScreen status={__('Loading')} />}
|
||||
{loading && <LoadingScreen status={__('Loading')} isDocument />}
|
||||
{ready && (
|
||||
<Villain source={finalSource.content} className={'comic-viewer'} options={opts} workerUrl={workerUrl} />
|
||||
)}
|
||||
|
|
|
@ -22,3 +22,12 @@ export const FORCE_CONTENT_TYPE_PLAYER = [
|
|||
'application/x-ext-ogg',
|
||||
'application/x-ext-m4a',
|
||||
];
|
||||
|
||||
export const FORCE_CONTENT_TYPE_COMIC = [
|
||||
'application/vnd.comicbook+zip',
|
||||
'application/vnd.comicbook-rar',
|
||||
'application/x-cbr',
|
||||
'application/x-cbt',
|
||||
'application/x-cbz',
|
||||
'application/x-cb7',
|
||||
];
|
||||
|
|
|
@ -27,7 +27,6 @@ export const APPLICATION = 'application';
|
|||
export const UNSUPPORTED = 'unsupported';
|
||||
|
||||
// PDFs disabled on desktop until we update Electron: https://github.com/electron/electron/issues/12337
|
||||
// Comics disabled because nothing is actually reporting as a comic type
|
||||
export const UNSUPPORTED_IN_THIS_APP = IS_WEB ? [CAD, COMIC, APPLICATION] : [APPLICATION, PDF];
|
||||
|
||||
export const UNRENDERABLE_MODES = Array.from(
|
||||
|
|
|
@ -20,7 +20,7 @@ import { selectAllCostInfoByUri, makeSelectCostInfoForUri } from 'lbryinc';
|
|||
import { selectShowMatureContent } from 'redux/selectors/settings';
|
||||
import * as RENDER_MODES from 'constants/file_render_modes';
|
||||
import path from 'path';
|
||||
import { FORCE_CONTENT_TYPE_PLAYER } from 'constants/claim';
|
||||
import { FORCE_CONTENT_TYPE_PLAYER, FORCE_CONTENT_TYPE_COMIC } from 'constants/claim';
|
||||
// @if TARGET='web'
|
||||
import { generateStreamUrl } from 'util/lbrytv';
|
||||
// @endif
|
||||
|
@ -212,7 +212,8 @@ export const makeSelectFileRenderModeForUri = (uri: string) =>
|
|||
if (['3D-file', 'model'].includes(mediaType)) {
|
||||
return RENDER_MODES.CAD;
|
||||
}
|
||||
if (mediaType === 'comic-book') {
|
||||
// Force content type for fallback support of older claims
|
||||
if (mediaType === 'comic-book' || FORCE_CONTENT_TYPE_COMIC.includes(contentType)) {
|
||||
return RENDER_MODES.COMIC;
|
||||
}
|
||||
if (
|
||||
|
|
Loading…
Reference in a new issue