"use client" import { Slider } from "@/components/ui/slider" import { useEffect, useRef } from "react" interface FrameComponentProps { video: string width: number | string height: number | string className?: string corner: string edgeHorizontal: string edgeVertical: string mediaSize: number borderThickness: number borderSize: number onMediaSizeChange: (value: number) => void onBorderThicknessChange: (value: number) => void onBorderSizeChange: (value: number) => void showControls: boolean label: string showFrame: boolean autoplayMode: "all" | "hover" isHovered: boolean } export function FrameComponent({ video, width, height, className = "", corner, edgeHorizontal, edgeVertical, mediaSize, borderThickness, borderSize, onMediaSizeChange, onBorderThicknessChange, onBorderSizeChange, showControls, label, showFrame, autoplayMode, isHovered, }: FrameComponentProps) { const videoRef = useRef(null) useEffect(() => { if (autoplayMode === "all") { videoRef.current?.play() } else if (autoplayMode === "hover") { if (isHovered) { videoRef.current?.play() } else { videoRef.current?.pause() } } }, [isHovered, autoplayMode]) return (
{/* Video with Border */}
{/* Frame Elements (Higher z-index) */} {showFrame && (
{/* Corners */}
{/* Edges */}
)}
{/* Controls */} {showControls && (
{label}
onMediaSizeChange(value[0])} />
onBorderThicknessChange(value[0])} />
onBorderSizeChange(value[0])} />
)}
) }