+ {!["sunbird", "diksha"].includes(contentSource) ? (
+
+ {`This (${
+ contentSource || "Unknown Source"
+ }) content source is not supported, expected source is Diksha and Sunbird`}
+
+ ) : isVisible && true ? (
+ <>
+
+
+ >
+ ) : (
+
Loading
+ )}
+
+ );
+ }
+);
+
+export default VideoItem;
diff --git a/src/video-reel-component/VideoList.tsx b/src/video-reel-component/VideoList.tsx
new file mode 100644
index 0000000..c26273f
--- /dev/null
+++ b/src/video-reel-component/VideoList.tsx
@@ -0,0 +1,108 @@
+import { FixedSizeList as List, FixedSizeListProps } from "react-window";
+import React, { memo, useCallback, useRef } from "react";
+import VideoItem from "./VideoItem";
+
+export default memo(
+ ({
+ width,
+ itemSize,
+ videos,
+ visibleIndex,
+ isIndexScroll,
+ qmlRef,
+ handleScroll,
+ playerLink,
+ baseUrl,
+ contentSource,
+ telemetryURL,
+ telemetryEndpoint,
+ }: {
+ width: number;
+ itemSize: number;
+ videos: any[];
+ visibleIndex: any;
+ isIndexScroll: boolean;
+ qmlRef: React.RefObject