diff --git a/packages/js/email-editor/src/store/actions.ts b/packages/js/email-editor/src/store/actions.ts index 0ead0ffcda..240a73ec7a 100644 --- a/packages/js/email-editor/src/store/actions.ts +++ b/packages/js/email-editor/src/store/actions.ts @@ -21,11 +21,12 @@ export const toggleInserterSidebar = void registry.dispatch( editorStore ).setIsInserterOpened( ! status ); }; -export function toggleListviewSidebar() { - return { - type: 'TOGGLE_LISTVIEW_SIDEBAR', - } as const; -} +export const toggleListviewSidebar = + () => + ( { registry } ) => { + const status = registry.select( editorStore ).isListViewOpened(); + void registry.dispatch( editorStore ).setIsListViewOpened( ! status ); + }; export const changePreviewDeviceType = ( deviceType: string ) => diff --git a/packages/js/email-editor/src/store/reducer.ts b/packages/js/email-editor/src/store/reducer.ts index 3d4b7255cc..cdc4cdca2f 100644 --- a/packages/js/email-editor/src/store/reducer.ts +++ b/packages/js/email-editor/src/store/reducer.ts @@ -2,18 +2,6 @@ import { State } from './types'; export function reducer( state: State, action ): State { switch ( action.type ) { - case 'TOGGLE_LISTVIEW_SIDEBAR': - return { - ...state, - inserterSidebar: { - ...state.inserterSidebar, - isOpened: false, - }, - listviewSidebar: { - ...state.listviewSidebar, - isOpened: ! state.listviewSidebar.isOpened, - }, - }; case 'CHANGE_PREVIEW_STATE': return { ...state, diff --git a/packages/js/email-editor/src/store/selectors.ts b/packages/js/email-editor/src/store/selectors.ts index 50aa2dd3d8..2eee43dfaa 100644 --- a/packages/js/email-editor/src/store/selectors.ts +++ b/packages/js/email-editor/src/store/selectors.ts @@ -237,9 +237,11 @@ export const isInserterSidebarOpened = createRegistrySelector( select( editorStore ).isInserterOpened() as boolean ); -export function isListviewSidebarOpened( state: State ): boolean { - return state.listviewSidebar.isOpened; -} +export const isListviewSidebarOpened = createRegistrySelector( + ( select ) => () => + // @ts-expect-error isListViewOpened is missing in types. + select( editorStore ).isListViewOpened() as boolean +); export function getSettingsSidebarActiveTab( state: State ): string { return state.settingsSidebar.activeTab;