import React, { useEffect, useState } from "react"; import clsx from "clsx"; const rotationDuration = 3800; const bezier = "cubic-bezier(0.645,0.045,0.355,1)"; function Coin(props: { frontList: boolean[]; rotation: boolean; onTransitionEnd: () => void; }) { const [lastFront, setLastFront] = useState(props.frontList); useEffect(() => { if (!props.rotation) { return; } const id = setTimeout(() => { setLastFront(props.frontList); props.onTransitionEnd(); }, rotationDuration); return () => clearTimeout(id); }, [props.rotation, props.frontList, props.onTransitionEnd]); return (