import { SyntheticEvent, useState } from 'react'; import { Orbit } from "@uiball/loaders"; import { formatBytes } from '../../utils'; import IconDownload from "../../../assets/icons/download.svg"; import IconVideo from "../../../assets/icons/file.video.svg"; // import clsx from 'clsx'; type Props = { url: string, name: string, size: number, download: string } const VideoMessage = ({ url, name, size, download }: Props) => { const [canPlay, setCanPlay] = useState(false); const [error, setError] = useState(false); const _size = formatBytes(size); const handlePlay = (evt: SyntheticEvent) => { const infoEle = evt.currentTarget.previousSibling; if (infoEle) { (infoEle as HTMLDivElement).classList.add("hidden"); } }; const handlePause = (evt: SyntheticEvent) => { const infoEle = evt.currentTarget.previousSibling; if (infoEle) { (infoEle as HTMLDivElement).classList.remove("hidden"); } }; const handleCanPlay = () => { setCanPlay(true); }; const handleError = () => { setCanPlay(false); setError(true); }; const tipClass = 'absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2'; return (
{name} {_size}
{!canPlay ?
: (error ? Error : null) }
); }; export default VideoMessage;