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(); } }