movie-web/src/views/notfound/NotFoundChecks.tsx

28 lines
721 B
TypeScript
Raw Normal View History

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