UNPKG

@wordpress/block-editor

Version:
46 lines (39 loc) 988 B
/** * WordPress dependencies */ import { __ } from '@wordpress/i18n'; import { ToolbarButton, ToolbarGroup } from '@wordpress/components'; import { useReducer } from '@wordpress/element'; import { lock } from '@wordpress/icons'; /** * Internal dependencies */ import BlockLockModal from './modal'; import useBlockLock from './use-block-lock'; export default function BlockLockToolbar( { clientId } ) { const { canEdit, canMove, canRemove, canLock } = useBlockLock( clientId ); const [ isModalOpen, toggleModal ] = useReducer( ( isActive ) => ! isActive, false ); if ( ! canLock ) { return null; } if ( canEdit && canMove && canRemove ) { return null; } return ( <> <ToolbarGroup className="block-editor-block-lock-toolbar"> <ToolbarButton icon={ lock } label={ __( 'Unlock' ) } onClick={ toggleModal } /> </ToolbarGroup> { isModalOpen && ( <BlockLockModal clientId={ clientId } onClose={ toggleModal } /> ) } </> ); }