diff --git a/frontend/src/components/FilePreview.js b/frontend/src/components/FilePreview.js index a8ea33e..1c28193 100644 --- a/frontend/src/components/FilePreview.js +++ b/frontend/src/components/FilePreview.js @@ -1,5 +1,6 @@ import React from 'react'; import { Spin } from 'antd'; +import { useVideoAutoPlay, useInViewport } from '../utils/viewportUtils'; // Hilfsfunktion für Dateigröße export function formatFileSize(bytes) { @@ -24,6 +25,10 @@ export default function FilePreview({ file, zoom = 1, darkMode = false }) { const width = file.width || 300; const height = file.height || 200; + // Viewport-Detection für Videos und iFrames + const { containerRef: videoContainerRef, videoRef, isInViewport: videoInViewport } = useVideoAutoPlay(); + const { ref: iframeRef, isInViewport: iframeInViewport } = useInViewport(); + // Wrapper für saubere Skalierung const wrapperStyle = { display: 'inline-block', @@ -45,7 +50,7 @@ export default function FilePreview({ file, zoom = 1, darkMode = false }) { const renderFileContent = () => { if (file.type === 'html') { return ( -
+
{!loaded && (
)} -