1
This commit is contained in:
30
src/components/ResolvedAssetVideo.tsx
Normal file
30
src/components/ResolvedAssetVideo.tsx
Normal file
@@ -0,0 +1,30 @@
|
||||
import type { VideoHTMLAttributes } from 'react';
|
||||
|
||||
import { useResolvedAssetReadUrl } from '../hooks/useResolvedAssetReadUrl';
|
||||
|
||||
type ResolvedAssetVideoProps = Omit<
|
||||
VideoHTMLAttributes<HTMLVideoElement>,
|
||||
'src'
|
||||
> & {
|
||||
src?: string | null;
|
||||
fallbackSrc?: string | null;
|
||||
refreshKey?: string | number | null;
|
||||
};
|
||||
|
||||
export function ResolvedAssetVideo({
|
||||
src,
|
||||
fallbackSrc,
|
||||
refreshKey,
|
||||
...rest
|
||||
}: ResolvedAssetVideoProps) {
|
||||
const { resolvedUrl } = useResolvedAssetReadUrl(src, {
|
||||
refreshKey,
|
||||
});
|
||||
const finalSrc = resolvedUrl || fallbackSrc?.trim() || '';
|
||||
|
||||
if (!finalSrc) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return <video {...rest} src={finalSrc} />;
|
||||
}
|
||||
Reference in New Issue
Block a user