import React, { useEffect, useState } from 'react'; import { getSigns, addSign } from '../services/signs'; import { Sign, SignVideo } from '../types/sign'; import SignComponent from './SignComponent'; import SignVideoThumbnail from './SignVideoThumbnail'; interface Props { sign: Sign | null; currentVideo: number | null; setCurrentVideo: (sign_video: number | null) => void; } const SignVideoGrid: React.FC = ({ sign, setCurrentVideo, currentVideo }) => { const [isHovered, setIsHovered] = React.useState(false); const handleVideoClick = (sign_video: number) => { setCurrentVideo(sign_video); } return (
{sign != null &&
{ setIsHovered(true); }} onMouseLeave={() => { setIsHovered(false); }} onClick={ () => { setCurrentVideo(null); } }>
} {sign && // show videos sorted, the non accepted videos must be at the top sign.sign_videos.sort((a, b) => { if (a.approved && !b.approved) { return 1; } else if (!a.approved && b.approved) { return -1; } else { return 0; } } ).map((vid, i) => { return ( handleVideoClick(i)} /> ); }) }
); }; export default SignVideoGrid;