diff --git a/client/src/components/media-thumbnail.tsx b/client/src/components/media-thumbnail.tsx index a515b03..810a7a0 100644 --- a/client/src/components/media-thumbnail.tsx +++ b/client/src/components/media-thumbnail.tsx @@ -1,11 +1,12 @@ -import { useState } from 'react'; -import { ImageIcon, VideoIcon } from 'lucide-react'; +import { useState, useRef, useEffect } from 'react'; +import { ImageIcon, VideoIcon, Play } from 'lucide-react'; interface MediaThumbnailProps { src: string; alt: string; type?: 'image' | 'video'; className?: string; + thumbnailUrl?: string; // Optional pre-generated thumbnail } function isVideoUrl(url: string): boolean { @@ -14,15 +15,85 @@ function isVideoUrl(url: string): boolean { /** * Renders a media thumbnail that handles: - * - Local video files: uses