A small web app for watching movies and shows easily
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

29 lines
753 B

import { getProviderMetadata, MWPortableMedia } from "providers";
import { ReactElement } from "react";
import { NotFoundMedia, NotFoundProvider } from "./NotFoundView";
export interface NotFoundChecksProps {
portable: MWPortableMedia | undefined;
children?: ReactElement;
}
/*
** Component that only renders children if the passed-in portable is fully correct
*/
export function NotFoundChecks(
props: NotFoundChecksProps
): ReactElement | null {
const providerMeta = props.portable
? getProviderMetadata(props.portable.providerId)
: undefined;
if (!providerMeta || !providerMeta.exists) {
return <NotFoundMedia />;
}
if (!providerMeta.enabled) {
return <NotFoundProvider />;
}
return props.children || null;
}