diff --git a/packages/edit-post/src/components/header/writing-menu/index.js b/packages/edit-post/src/components/header/writing-menu/index.js index 4d5bc5653e17fc..754e65af5200d5 100644 --- a/packages/edit-post/src/components/header/writing-menu/index.js +++ b/packages/edit-post/src/components/header/writing-menu/index.js @@ -35,7 +35,7 @@ function WritingMenu() { }; const turnOffDistractionFree = () => { - setPreference( 'core/edit-post', 'distractionFree', false ); + setPreference( 'core', 'distractionFree', false ); }; const isLargeViewport = useViewportMatch( 'medium' ); @@ -57,7 +57,7 @@ function WritingMenu() { messageDeactivated={ __( 'Top toolbar deactivated' ) } /> { const { getEditorSettings } = select( editorStore ); - const { getEditorMode, isFeatureActive } = select( editPostStore ); + const { getEditorMode } = select( editPostStore ); + const { get } = select( preferencesStore ); const modalActive = select( interfaceStore ).isModalActive( PREFERENCES_MODAL_NAME ); const mode = getEditorMode(); const isRichEditingEnabled = getEditorSettings().richEditingEnabled; - const isDistractionFreeEnabled = - isFeatureActive( 'distractionFree' ); + const isDistractionFreeEnabled = get( 'core', 'distractionFree' ); return [ modalActive, ! isDistractionFreeEnabled && @@ -77,7 +77,7 @@ export default function EditPostPreferencesModal() { }; const turnOffDistractionFree = () => { - setPreference( 'core/edit-post', 'distractionFree', false ); + setPreference( 'core', 'distractionFree', false ); }; const sections = useMemo( @@ -195,6 +195,7 @@ export default function EditPostPreferencesModal() { label={ __( 'Top toolbar' ) } /> { const isDistractionFree = registry .select( preferencesStore ) - .get( 'core/edit-post', 'distractionFree' ); + .get( 'core', 'distractionFree' ); if ( isDistractionFree ) { dispatch.toggleDistractionFree(); } @@ -205,9 +205,7 @@ export const switchEditorMode = if ( mode === 'text' && - registry - .select( preferencesStore ) - .get( 'core/edit-post', 'distractionFree' ) + registry.select( preferencesStore ).get( 'core', 'distractionFree' ) ) { dispatch.toggleDistractionFree(); } @@ -580,7 +578,7 @@ export const toggleDistractionFree = ( { dispatch, registry } ) => { const isDistractionFree = registry .select( preferencesStore ) - .get( 'core/edit-post', 'distractionFree' ); + .get( 'core', 'distractionFree' ); if ( ! isDistractionFree ) { registry.batch( () => { registry @@ -594,11 +592,7 @@ export const toggleDistractionFree = registry.batch( () => { registry .dispatch( preferencesStore ) - .set( - 'core/edit-post', - 'distractionFree', - ! isDistractionFree - ); + .set( 'core', 'distractionFree', ! isDistractionFree ); registry .dispatch( noticesStore ) .createInfoNotice( diff --git a/packages/edit-post/src/store/test/actions.js b/packages/edit-post/src/store/test/actions.js index 65dcfcf85fc676..f702d412d55dad 100644 --- a/packages/edit-post/src/store/test/actions.js +++ b/packages/edit-post/src/store/test/actions.js @@ -56,14 +56,12 @@ describe( 'actions', () => { it( 'openGeneralSidebar - should turn off distraction free mode when opening a general sidebar', () => { registry .dispatch( preferencesStore ) - .set( 'core/edit-post', 'distractionFree', true ); + .set( 'core', 'distractionFree', true ); registry .dispatch( editPostStore ) .openGeneralSidebar( 'edit-post/block' ); expect( - registry - .select( preferencesStore ) - .get( 'core/edit-post', 'distractionFree' ) + registry.select( preferencesStore ).get( 'core', 'distractionFree' ) ).toBe( false ); } ); @@ -119,12 +117,12 @@ describe( 'actions', () => { it( 'should turn off distraction free mode when switching to code editor', () => { registry .dispatch( preferencesStore ) - .set( 'core/edit-post', 'distractionFree', true ); + .set( 'core', 'distractionFree', true ); registry.dispatch( editPostStore ).switchEditorMode( 'text' ); expect( registry .select( preferencesStore ) - .get( 'core/edit-post', 'distractionFree' ) + .get( 'core', 'distractionFree' ) ).toBe( false ); } ); } ); @@ -285,7 +283,7 @@ describe( 'actions', () => { expect( registry .select( preferencesStore ) - .get( 'core/edit-post', 'distractionFree' ) + .get( 'core', 'distractionFree' ) ).toBe( true ); } ); } ); diff --git a/packages/edit-site/src/components/block-editor/use-site-editor-settings.js b/packages/edit-site/src/components/block-editor/use-site-editor-settings.js index 4bc25690e83389..61c2232df6f8e0 100644 --- a/packages/edit-site/src/components/block-editor/use-site-editor-settings.js +++ b/packages/edit-site/src/components/block-editor/use-site-editor-settings.js @@ -1,12 +1,10 @@ /** * WordPress dependencies */ -import { useViewportMatch } from '@wordpress/compose'; import { useSelect } from '@wordpress/data'; import { useMemo } from '@wordpress/element'; import { store as coreStore } from '@wordpress/core-data'; import { privateApis as editorPrivateApis } from '@wordpress/editor'; -import { store as preferencesStore } from '@wordpress/preferences'; /** * Internal dependencies @@ -90,15 +88,8 @@ function useArchiveLabel( templateSlug ) { } export function useSpecificEditorSettings() { - const isLargeViewport = useViewportMatch( 'medium' ); const getPostLinkProps = usePostLinkProps(); - const { - templateSlug, - isDistractionFree, - canvasMode, - settings, - postWithTemplate, - } = useSelect( + const { templateSlug, canvasMode, settings, postWithTemplate } = useSelect( ( select ) => { const { getEditedPostType, @@ -107,7 +98,6 @@ export function useSpecificEditorSettings() { getCanvasMode, getSettings, } = unlock( select( editSiteStore ) ); - const { get: getPreference } = select( preferencesStore ); const { getEditedEntityRecord } = select( coreStore ); const usedPostType = getEditedPostType(); const usedPostId = getEditedPostId(); @@ -119,16 +109,12 @@ export function useSpecificEditorSettings() { const _context = getEditedPostContext(); return { templateSlug: _record.slug, - isDistractionFree: !! getPreference( - 'core/edit-site', - 'distractionFree' - ), canvasMode: getCanvasMode(), settings: getSettings(), postWithTemplate: _context?.postId, }; }, - [ isLargeViewport ] + [] ); const archiveLabels = useArchiveLabel( templateSlug ); const defaultRenderingMode = postWithTemplate ? 'template-locked' : 'all'; @@ -139,7 +125,6 @@ export function useSpecificEditorSettings() { richEditingEnabled: true, supportsTemplateMode: true, focusMode: canvasMode !== 'view', - isDistractionFree, defaultRenderingMode, getPostLinkProps, // I wonder if they should be set in the post editor too @@ -149,7 +134,6 @@ export function useSpecificEditorSettings() { }, [ settings, canvasMode, - isDistractionFree, defaultRenderingMode, getPostLinkProps, archiveLabels.archiveTypeLabel, diff --git a/packages/edit-site/src/components/header-edit-mode/index.js b/packages/edit-site/src/components/header-edit-mode/index.js index b513569589649c..773edf469143b9 100644 --- a/packages/edit-site/src/components/header-edit-mode/index.js +++ b/packages/edit-site/src/components/header-edit-mode/index.js @@ -71,10 +71,7 @@ export default function HeaderEditMode() { select( editSiteStore ) ).getEditorCanvasContainerView(), hasFixedToolbar: getPreference( 'core', 'fixedToolbar' ), - isDistractionFree: getPreference( - editSiteStore.name, - 'distractionFree' - ), + isDistractionFree: getPreference( 'core', 'distractionFree' ), isZoomOutMode: __unstableGetEditorMode() === 'zoom-out', }; }, [] ); diff --git a/packages/edit-site/src/components/header-edit-mode/more-menu/index.js b/packages/edit-site/src/components/header-edit-mode/more-menu/index.js index ef672aed976f70..1c2991cced9e4b 100644 --- a/packages/edit-site/src/components/header-edit-mode/more-menu/index.js +++ b/packages/edit-site/src/components/header-edit-mode/more-menu/index.js @@ -54,7 +54,7 @@ export default function MoreMenu( { showIconLabels } ) { }; const turnOffDistractionFree = () => { - setPreference( 'core/edit-site', 'distractionFree', false ); + setPreference( 'core', 'distractionFree', false ); }; return ( @@ -84,7 +84,7 @@ export default function MoreMenu( { showIconLabels } ) { ) } /> { - setPreference( 'core/edit-site', 'distractionFree', false ); + setPreference( 'core', 'distractionFree', false ); }; - const sections = useMemo( () => [ + const sections = [ { name: 'general', tabLabel: __( 'General' ), @@ -142,6 +141,7 @@ export default function EditSitePreferencesModal() { ) } > ), }, - ] ); + ]; if ( ! isModalActive ) { return null; } diff --git a/packages/edit-site/src/hooks/commands/use-edit-mode-commands.js b/packages/edit-site/src/hooks/commands/use-edit-mode-commands.js index 745bee52895d22..0265329f40b095 100644 --- a/packages/edit-site/src/hooks/commands/use-edit-mode-commands.js +++ b/packages/edit-site/src/hooks/commands/use-edit-mode-commands.js @@ -228,7 +228,7 @@ function useEditUICommands() { ), showBlockBreadcrumbs: get( 'core', 'showBlockBreadcrumbs' ), isListViewOpen: isListViewOpened(), - isDistractionFree: get( editSiteStore.name, 'distractionFree' ), + isDistractionFree: get( 'core', 'distractionFree' ), }; }, [] ); const { openModal } = useDispatch( interfaceStore ); diff --git a/packages/edit-site/src/index.js b/packages/edit-site/src/index.js index c145147b5e2efa..29b7df32e6d693 100644 --- a/packages/edit-site/src/index.js +++ b/packages/edit-site/src/index.js @@ -53,7 +53,6 @@ export function initializeEditor( id, settings ) { // so that we won't trigger unnecessary re-renders with useEffect. dispatch( preferencesStore ).setDefaults( 'core/edit-site', { editorMode: 'visual', - distractionFree: false, welcomeGuide: true, welcomeGuideStyles: true, welcomeGuidePage: true, @@ -62,6 +61,7 @@ export function initializeEditor( id, settings ) { dispatch( preferencesStore ).setDefaults( 'core', { allowRightClickOverrides: true, + distractionFree: false, fixedToolbar: false, focusMode: false, inactivePanels: [], diff --git a/packages/edit-site/src/store/actions.js b/packages/edit-site/src/store/actions.js index c4435fbd0df412..5a8adad8e198b8 100644 --- a/packages/edit-site/src/store/actions.js +++ b/packages/edit-site/src/store/actions.js @@ -524,7 +524,7 @@ export const openGeneralSidebar = ( { dispatch, registry } ) => { const isDistractionFree = registry .select( preferencesStore ) - .get( 'core/edit-site', 'distractionFree' ); + .get( 'core', 'distractionFree' ); if ( isDistractionFree ) { dispatch.toggleDistractionFree(); } @@ -561,7 +561,7 @@ export const switchEditorMode = } else if ( mode === 'text' ) { const isDistractionFree = registry .select( preferencesStore ) - .get( 'core/edit-site', 'distractionFree' ); + .get( 'core', 'distractionFree' ); if ( isDistractionFree ) { dispatch.toggleDistractionFree(); } @@ -602,7 +602,7 @@ export const toggleDistractionFree = ( { dispatch, registry } ) => { const isDistractionFree = registry .select( preferencesStore ) - .get( 'core/edit-site', 'distractionFree' ); + .get( 'core', 'distractionFree' ); if ( ! isDistractionFree ) { registry.batch( () => { registry @@ -616,11 +616,7 @@ export const toggleDistractionFree = registry.batch( () => { registry .dispatch( preferencesStore ) - .set( - 'core/edit-site', - 'distractionFree', - ! isDistractionFree - ); + .set( 'core', 'distractionFree', ! isDistractionFree ); registry .dispatch( noticesStore ) .createInfoNotice( diff --git a/packages/edit-site/src/store/private-actions.js b/packages/edit-site/src/store/private-actions.js index d3037b61b1ccbc..7354f7b9b8843a 100644 --- a/packages/edit-site/src/store/private-actions.js +++ b/packages/edit-site/src/store/private-actions.js @@ -27,7 +27,7 @@ export const setCanvasMode = .get( 'core', 'showListViewByDefault' ) && ! registry .select( preferencesStore ) - .get( 'core/edit-site', 'distractionFree' ) + .get( 'core', 'distractionFree' ) ) { registry.dispatch( editorStore ).setIsListViewOpened( true ); } else { diff --git a/packages/edit-site/src/store/test/actions.js b/packages/edit-site/src/store/test/actions.js index 602b46bc1962de..b3612b9a801ccd 100644 --- a/packages/edit-site/src/store/test/actions.js +++ b/packages/edit-site/src/store/test/actions.js @@ -81,14 +81,14 @@ describe( 'actions', () => { const registry = createRegistryWithStores(); registry .dispatch( preferencesStore ) - .set( 'core/edit-site', 'distractionFree', true ); + .set( 'core', 'distractionFree', true ); registry .dispatch( editSiteStore ) .openGeneralSidebar( 'edit-site/global-styles' ); expect( registry .select( preferencesStore ) - .get( 'core/edit-site', 'distractionFree' ) + .get( 'core', 'distractionFree' ) ).toBe( false ); } ); } ); @@ -98,18 +98,18 @@ describe( 'actions', () => { const registry = createRegistryWithStores(); registry .dispatch( preferencesStore ) - .set( 'core/edit-site', 'distractionFree', true ); + .set( 'core', 'distractionFree', true ); registry.dispatch( editSiteStore ).switchEditorMode( 'visual' ); expect( registry .select( preferencesStore ) - .get( 'core/edit-site', 'distractionFree' ) + .get( 'core', 'distractionFree' ) ).toBe( true ); registry.dispatch( editSiteStore ).switchEditorMode( 'text' ); expect( registry .select( preferencesStore ) - .get( 'core/edit-site', 'distractionFree' ) + .get( 'core', 'distractionFree' ) ).toBe( false ); } ); } ); @@ -146,7 +146,7 @@ describe( 'actions', () => { expect( registry .select( preferencesStore ) - .get( 'core/edit-site', 'distractionFree' ) + .get( 'core', 'distractionFree' ) ).toBe( true ); } ); } ); diff --git a/packages/editor/src/components/provider/use-block-editor-settings.js b/packages/editor/src/components/provider/use-block-editor-settings.js index f47c0b2ffd34dc..eddc295766f8ce 100644 --- a/packages/editor/src/components/provider/use-block-editor-settings.js +++ b/packages/editor/src/components/provider/use-block-editor-settings.js @@ -47,13 +47,11 @@ const BLOCK_EDITOR_SETTINGS = [ 'enableCustomSpacing', 'enableCustomUnits', 'enableOpenverseMediaCategory', - 'distractionFree', 'fontSizes', 'gradients', 'generateAnchors', 'getPostLinkProps', 'hasInlineToolbar', - 'isDistractionFree', 'imageDefaultSize', 'imageDimensions', 'imageEditing', @@ -92,6 +90,7 @@ function useBlockEditorSettings( settings, postType, postId ) { allowRightClickOverrides, focusMode, hasFixedToolbar, + isDistractionFree, keepCaretInsideBlock, reusableBlocks, hasUploadPermissions, @@ -133,6 +132,7 @@ function useBlockEditorSettings( settings, postType, postId ) { focusMode: get( 'core', 'focusMode' ), hasFixedToolbar: get( 'core', 'fixedToolbar' ) || ! isLargeViewport, + isDistractionFree: get( 'core', 'distractionFree' ), keepCaretInsideBlock: get( 'core', 'keepCaretInsideBlock' ), reusableBlocks: isWeb ? getEntityRecords( 'postType', 'wp_block', { @@ -227,6 +227,7 @@ function useBlockEditorSettings( settings, postType, postId ) { allowRightClickOverrides, focusMode: focusMode && ! forceDisableFocusMode, hasFixedToolbar, + isDistractionFree, keepCaretInsideBlock, mediaUpload: hasUploadPermissions ? mediaUpload : undefined, __experimentalReusableBlocks: reusableBlocks, @@ -264,6 +265,7 @@ function useBlockEditorSettings( settings, postType, postId ) { focusMode, forceDisableFocusMode, hasFixedToolbar, + isDistractionFree, keepCaretInsideBlock, settings, hasUploadPermissions, diff --git a/packages/preferences-persistence/src/migrations/preferences-package-data/convert-editor-settings.js b/packages/preferences-persistence/src/migrations/preferences-package-data/convert-editor-settings.js index b245fb958571f2..b1940ef1b10813 100644 --- a/packages/preferences-persistence/src/migrations/preferences-package-data/convert-editor-settings.js +++ b/packages/preferences-persistence/src/migrations/preferences-package-data/convert-editor-settings.js @@ -6,6 +6,7 @@ export default function convertEditorSettings( data ) { let newData = data; const settingsToMoveToCore = [ 'allowRightClickOverrides', + 'distractionFree', 'fixedToolbar', 'focusMode', 'inactivePanels',