import { __ } from '@wordpress/i18n';
import { useBlockProps, InspectorControls } from '@wordpress/block-editor';
import { PanelBody, SelectControl, Placeholder, Spinner } from '@wordpress/components';
import { useSelect } from '@wordpress/data';
import { store as coreStore } from '@wordpress/core-data';
import ServerSideRender from '@wordpress/server-side-render';
export default function Edit( { attributes, setAttributes } ) {
const { campaignId } = attributes;
const blockProps = useBlockProps();
const campaigns = useSelect( ( select ) => {
return select( coreStore ).getEntityRecords( 'postType', 'bp_campaign', {
per_page: 100,
status: 'publish,draft',
_fields: 'id,title',
} );
}, [] );
const campaignOptions = campaigns
? [
{ value: 0, label: __( '— Select a campaign —', 'better-payment' ) },
...campaigns.map( ( c ) => ( { value: c.id, label: c.title?.rendered || c.title?.raw || String( c.id ) } ) ),
]
: [ { value: 0, label: __( 'Loading campaigns…', 'better-payment' ) } ];
return (
<>