"use client"; import { Play } from "lucide-react"; import Image from "next/image"; import { useEffect, useRef, useState } from "react"; import type { Device, ShowcaseAssets } from "@/lib/project-showcase"; const deviceLabel: Record = { desktop: "no computador", mobile: "no celular", }; /** * Pôster com um botão de play. O vídeo só é montado, e só baixa, quando a pessoa aperta o botão: * antes disso a página mostra a imagem do site, não um vídeo parado em 0:00 com controles do navegador. * Vai dentro de um quadro com `position: relative` (moldura de navegador ou de celular) que dá o tamanho. */ export function CasePlayer({ assets, title, device, sizes = "(min-width: 1280px) 900px, 100vw", }: { assets: ShowcaseAssets; title: string; device: Device; sizes?: string; }) { const [playing, setPlaying] = useState(false); const videoRef = useRef(null); // o botão sai de cena ao tocar: o foco vai para o vídeo, para quem usa o teclado não o perder useEffect(() => { if (playing) videoRef.current?.focus(); }, [playing]); if (playing) { return ( ); } return ( <> {/* o quadro do celular já mostra o pôster como fundo; no computador a imagem entra aqui */} {device === "desktop" ? ( ) : null} ); }