import { CircularProgress, IconButton, IconButtonProps, Tooltip } from "@mui/material"
import { useState } from "react"
export type CustomIconApi = {
setWorking: (isWorking: boolean) => void
}
export function CustomIcon({
tooltip: tooptip,
icon,
color,
handler,
}: {
tooltip?: string
icon: React.ReactNode
color?: IconButtonProps["color"]
handler?: (api: CustomIconApi) => void
}) {
const [isWorking, setIsWorking] = useState(false)
const api: CustomIconApi = {
setWorking: setIsWorking,
}
const clickHandler = () => {
if (handler && !isWorking) {
handler(api)
}
}
const iconButton = (
{isWorking ? : icon}
)
const result = tooptip ? {iconButton} : iconButton
return result
}