diff --git a/packages/edit-post/src/components/header/index.js b/packages/edit-post/src/components/header/index.js
index 6a7e72f4b1fd2..ed4a3ca94609e 100644
--- a/packages/edit-post/src/components/header/index.js
+++ b/packages/edit-post/src/components/header/index.js
@@ -24,12 +24,13 @@ import MainDashboardButton from './main-dashboard-button';
import { store as editPostStore } from '../../store';
import TemplateTitle from './template-title';
-function Header( { setEntitiesSavedStatesCallback, isDistractionFree } ) {
+function Header( { setEntitiesSavedStatesCallback } ) {
const {
hasActiveMetaboxes,
isPublishSidebarOpened,
isSaving,
showIconLabels,
+ isDistractionFree,
} = useSelect(
( select ) => ( {
hasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),
@@ -38,6 +39,8 @@ function Header( { setEntitiesSavedStatesCallback, isDistractionFree } ) {
isSaving: select( editPostStore ).isSavingMetaBoxes(),
showIconLabels:
select( editPostStore ).isFeatureActive( 'showIconLabels' ),
+ isDistractionFree:
+ select( editPostStore ).isFeatureActive( 'distractionFree' ),
} ),
[]
);
diff --git a/packages/edit-post/src/components/header/more-menu/index.js b/packages/edit-post/src/components/header/more-menu/index.js
index e134c7ac13194..6085ce65e51e5 100644
--- a/packages/edit-post/src/components/header/more-menu/index.js
+++ b/packages/edit-post/src/components/header/more-menu/index.js
@@ -36,7 +36,7 @@ const MoreMenu = ( { showIconLabels } ) => {
scope="core/edit-post"
/>
) }
-
+
select( blockEditorStore ).getSettings().isDistractionFree,
@@ -36,14 +37,15 @@ function WritingMenu( { onClose } ) {
const { selectBlock } = useDispatch( blockEditorStore );
const toggleDistractionFree = () => {
- setPreference( 'core/edit-post', 'fixedToolbar', false );
- setIsInserterOpened( false );
- setIsListViewOpened( false );
- closeGeneralSidebar();
- onClose();
- if ( ! isDistractionFree ) {
- selectBlock( blocks[ 0 ].clientId );
- }
+ registry.batch( () => {
+ setPreference( 'core/edit-post', 'fixedToolbar', false );
+ setIsInserterOpened( false );
+ setIsListViewOpened( false );
+ closeGeneralSidebar();
+ if ( ! isDistractionFree && !! blocks.length ) {
+ selectBlock( blocks[ 0 ].clientId );
+ }
+ } );
};
const isLargeViewport = useViewportMatch( 'medium' );
@@ -84,7 +86,7 @@ function WritingMenu( { onClose } ) {
{
- setDistractionFree( isDistractionFree );
- }, [ isDistractionFree ] );
const className = classnames( 'edit-post-layout', 'is-mode-' + mode, {
'is-sidebar-opened': sidebarIsOpened,
@@ -207,7 +201,7 @@ function Layout( { styles } ) {
null,
+ onToggle = () => null,
disabled = false,
} ) {
const isActive = useSelect(
@@ -55,7 +55,7 @@ export default function PreferenceToggleMenuItem( {
icon={ isActive && check }
isSelected={ isActive }
onClick={ () => {
- toggleHandler();
+ onToggle();
toggle( scope, name );
speakMessage();
} }