import { Button, ButtonProps } from 'antd'; import React, { useState } from 'react'; import { useLicense } from 'modules/license/context'; import { ExpireLicenseModal } from '../ExpireLicenseModal'; import { t } from '@tempi/editor-site'; interface LicenseButtonProps extends ButtonProps { enableCheckLicense?: boolean; featureCodes: string[]; } export const LicenseButton: React.FC = ({ enableCheckLicense = false, featureCodes, onClick, loading, ...rest }) => { const [open, setOpen] = useState(false); const { checkValidLicense } = useLicense(); const [isValidatingLicense, setIsValidatingLicense] = useState(false); const handleClickBtn: React.MouseEventHandler & React.MouseEventHandler = async ( e: React.MouseEvent, ) => { if (!enableCheckLicense) { onClick?.(e); return; } setIsValidatingLicense(true); const isValidLicense = await checkValidLicense(featureCodes); setIsValidatingLicense(false); if (isValidLicense) { onClick?.(e); } else { setOpen(true); } }; return ( <>