import * as React from "react";
import Image from "./Image";
import { usePlayer } from "@applicaster/zapp-react-native-utils/appUtils/playerManager/usePlayer";
type DynamicBadgeProps = {
cellUUID?: string;
uri?: string;
};
const DynamicBadgeComponent = (props: DynamicBadgeProps) => {
const { cellUUID: playerId } = props;
// TODO: Initial value should depends on player state (playing or not)
const [showImage, setShowImage] = React.useState(true);
const player = usePlayer(playerId);
const uri = props?.uri;
React.useEffect(() => {
if (playerId && player) {
return player.addListener({
id: `dynamic-badges-${uri}`,
listener: {
onPlayerClose: () => {
setShowImage(true);
},
onVideoEnd: () => {
setShowImage(true);
},
onLoad() {
setShowImage(false);
},
onError() {
setShowImage(true);
},
},
});
} else {
setShowImage(true);
}
}, [player, uri]);
if (!showImage) {
return null;
}
return ;
};
export const DynamicBadge = React.memo(
DynamicBadgeComponent
);