woocommerce-paypal-payments/modules/ppcp-axo-block/resources/js/components/FastlaneWatermark.js
2024-09-11 00:39:09 +02:00

44 lines
970 B
JavaScript

import { useEffect, useRef } from '@wordpress/element';
export const FastlaneWatermark = ( {
fastlaneSdk,
name = 'fastlane-watermark-container',
includeAdditionalInfo = true,
} ) => {
const containerRef = useRef( null );
const watermarkRef = useRef( null );
useEffect( () => {
const renderWatermark = async () => {
if ( ! containerRef.current ) {
return;
}
// Clear the container
containerRef.current.innerHTML = '';
try {
const watermark = await fastlaneSdk.FastlaneWatermarkComponent(
{
includeAdditionalInfo,
}
);
watermarkRef.current = watermark;
watermark.render( `#${ name }` );
} catch ( error ) {
console.error( 'Error rendering watermark:', error );
}
};
renderWatermark();
return () => {
if ( containerRef.current ) {
containerRef.current.innerHTML = '';
}
};
}, [ fastlaneSdk, name, includeAdditionalInfo ] );
return <div id={ name } ref={ containerRef } />;
};