import type { ActionInvocation } from "@yaakapp-internal/proxy-lib"; import { IconButton, type IconButtonProps } from "@yaakapp-internal/ui"; import { useCallback } from "react"; import { useRpcMutation } from "../hooks/useRpcMutation"; import { useActionMetadata } from "../hooks/useActionMetadata"; type ActionIconButtonProps = Omit & { action: ActionInvocation; title?: string; }; export function ActionIconButton({ action, ...props }: ActionIconButtonProps) { const meta = useActionMetadata(action); const { mutate, isPending } = useRpcMutation("execute_action"); const onClick = useCallback(() => { mutate(action); }, [action, mutate]); return ( ); }