// block.json's editorScript, loaded only in the block editor import { __ } from '@wordpress/i18n'; import { registerBlockType } from '@wordpress/blocks'; import { useBlockProps, InnerBlocks, InspectorControls, BlockControls, AlignmentToolbar, } from '@wordpress/block-editor'; import { Panel, PanelBody, PanelRow, SelectControl, ToggleControl, ColorIndicator, ColorPalette, } from '@wordpress/components'; import { useState, useEffect } from '@wordpress/element'; import apiFetch from '@wordpress/api-fetch'; import metadata from './block.json'; import allowedBlocks from '../../../json/core-block-whitelist.json'; import { containerClassNames, sectionClassNames } from '../../../js/lib/blocks/classNames'; registerBlockType(metadata.name, { edit({ attributes, setAttributes }) { const blockProps = useBlockProps(); const [ isLoading, setIsLoading ] = useState( true ); const { container_width, alignment, padding_top, padding_bottom, background_colour, background_hex, background_tint, } = attributes; const [ configOptions, setConfigOptions, ] = useState( [] ); useEffect( () => { apiFetch( { path: '/badegg/v1/blocks/config' } ) .then( ( data ) => { setConfigOptions( data ); setIsLoading( false ); } ) .catch( () => { setConfigOptions( [] ); setIsLoading( false ); } ); }, [] ); blockProps.className = sectionClassNames( attributes, blockProps.className, [ 'wysiwyg' ]).join(' '); // console.log(attributes); return (