import React, { Fragment } from 'react';
import { useSelect } from '@wordpress/data';
import SoliloquyBlock from './SoliloquyBlock';
import SoliloquyInspector from './SoliloquyInspector';
import {
SoliloquyAttributes,
SoliloquyProps,
BlockType,
BlockEditorSelect,
} from '../types';
const Soliloquy: React.FC< SoliloquyProps > = ( { clientId } ) => {
const { attributes } = useSelect(
( select: ( key: 'core/block-editor' ) => BlockEditorSelect ) => {
const block = select( 'core/block-editor' ).getBlock( clientId );
// Ensure block is not undefined and properly typed.
const safeBlock: BlockType | undefined = block;
return {
attributes: safeBlock?.attributes ?? {
sliderId: null,
title: '',
},
};
},
[ clientId ]
);
// Ensure attributes is always defined.
const safeAttributes: SoliloquyAttributes = attributes || {
sliderId: null,
title: '',
};
const renderControls = () => {
return (
);
};
const renderBlock = () => {
return (
);
};
return (
{ renderBlock() }
{ renderControls() }
);
};
export default Soliloquy;