import React, { useState } from "react" type Props = { children: React.ReactNode onClick: () => void loading?: boolean disabled?: boolean confirm?: boolean } export function AsyncButton(props: Props) { const [awaitingConfirm, setAwaitingConfirm] = useState(false) const handleClick = () => { if (props.confirm) { if (!awaitingConfirm) { setAwaitingConfirm(true) setTimeout(() => setAwaitingConfirm(false), 3000) return } setAwaitingConfirm(false) } props.onClick() } return ( ) }