@@ -16,7 +16,7 @@ import type {ClassNameProps} from '../classname';
1616import { i18n } from '../i18n/bundle' ;
1717import { globalLogger } from '../logger' ;
1818import type { ToolbarsPreset } from '../modules/toolbars/types' ;
19- import { useBooleanState , useSticky } from '../react-utils' ;
19+ import { useSticky } from '../react-utils' ;
2020import { isMac } from '../utils' ;
2121
2222import type { Editor , EditorInt } from './Editor' ;
@@ -41,9 +41,6 @@ interface EditorWrapperProps extends QAProps, ToolbarConfigs, Omit<ViewProps, 'e
4141 editor : EditorInt ;
4242 editorMode : MarkdownEditorMode ;
4343 isFocused : boolean ;
44- showPreview : boolean ;
45- toggleShowPreview : ( ) => void ;
46- unsetShowPreview : ( ) => void ;
4744}
4845const EditorWrapper = forwardRef < HTMLDivElement , EditorWrapperProps > (
4946 (
@@ -58,16 +55,14 @@ const EditorWrapper = forwardRef<HTMLDivElement, EditorWrapperProps>(
5855 markupToolbarConfig : initialMarkupToolbarConfig ,
5956 qa,
6057 settingsVisible : settingsVisibleProp ,
61- showPreview,
6258 stickyToolbar,
63- toggleShowPreview,
6459 toolbarsPreset,
65- unsetShowPreview,
6660 wysiwygHiddenActionsConfig : initialWysiwygHiddenActionsConfig ,
6761 wysiwygToolbarConfig : initialWysiwygToolbarConfig ,
6862 } ,
6963 ref ,
7064 ) => {
65+ const showPreview = editor . previewVisible ;
7166 const {
7267 wysiwygToolbarConfig,
7368 markupToolbarConfig,
@@ -97,9 +92,9 @@ const EditorWrapper = forwardRef<HTMLDivElement, EditorWrapperProps>(
9792 const onModeChange = useCallback (
9893 ( type : MarkdownEditorMode ) => {
9994 editor . changeEditorMode ( { mode : type , reason : 'settings' } ) ;
100- unsetShowPreview ( ) ;
95+ editor . changePreviewVisible ( false ) ;
10196 } ,
102- [ editor , unsetShowPreview ] ,
97+ [ editor ] ,
10398 ) ;
10499 const onToolbarVisibilityChange = useCallback (
105100 ( visible : boolean ) => {
@@ -109,17 +104,15 @@ const EditorWrapper = forwardRef<HTMLDivElement, EditorWrapperProps>(
109104 ) ;
110105 const onSplitModeChange = useCallback (
111106 ( splitModeEnabled : boolean ) => {
112- unsetShowPreview ( ) ;
113107 editor . changeSplitModeEnabled ( { splitModeEnabled} ) ;
114108 } ,
115- [ editor , unsetShowPreview ] ,
109+ [ editor ] ,
116110 ) ;
117111 const onShowPreviewChange = useCallback (
118112 ( showPreviewValue : boolean ) => {
119- editor . changeSplitModeEnabled ( { splitModeEnabled : false } ) ;
120- if ( showPreviewValue !== showPreview ) toggleShowPreview ( ) ;
113+ editor . changePreviewVisible ( showPreviewValue ) ;
121114 } ,
122- [ editor , showPreview , toggleShowPreview ] ,
115+ [ editor ] ,
123116 ) ;
124117 const canRenderPreview = Boolean (
125118 editor . renderPreview && editorMode === 'markup' && ! editor . splitModeEnabled ,
@@ -129,10 +122,10 @@ const EditorWrapper = forwardRef<HTMLDivElement, EditorWrapperProps>(
129122 ( e ) => canRenderPreview && isPreviewKeyDown ( e ) ,
130123 ( e ) => {
131124 e . preventDefault ( ) ;
132- onShowPreviewChange ( ! showPreview ) ;
125+ editor . changePreviewVisible ( ) ;
133126 } ,
134127 { event : 'keydown' } ,
135- [ showPreview , editorMode , onShowPreviewChange , canRenderPreview ] ,
128+ [ editorMode , editor , canRenderPreview ] ,
136129 ) ;
137130
138131 useKey (
@@ -141,11 +134,11 @@ const EditorWrapper = forwardRef<HTMLDivElement, EditorWrapperProps>(
141134 editor . emit ( 'submit' , null ) ;
142135
143136 if ( hidePreviewAfterSubmit ) {
144- onShowPreviewChange ( false ) ;
137+ editor . changePreviewVisible ( false ) ;
145138 }
146139 } ,
147140 { event : 'keydown' } ,
148- [ hidePreviewAfterSubmit , enableSubmitInPreview , showPreview , showPreview ] ,
141+ [ hidePreviewAfterSubmit , enableSubmitInPreview , showPreview , editor ] ,
149142 ) ;
150143
151144 const settingsProps = {
@@ -262,7 +255,6 @@ export const MarkdownEditorView = forwardRef<HTMLDivElement, MarkdownEditorViewP
262255 ( props , ref ) => {
263256 const divRef = useEnsuredForwardedRef ( ref as React . MutableRefObject < HTMLDivElement > ) ;
264257 const editorWrapperRef = useRef ( null ) ;
265- const [ showPreview , , unsetShowPreview , toggleShowPreview ] = useBooleanState ( false ) ;
266258
267259 const [ isMounted , setIsMounted ] = useState ( false ) ;
268260 useEffect ( ( ) => {
@@ -308,10 +300,10 @@ export const MarkdownEditorView = forwardRef<HTMLDivElement, MarkdownEditorViewP
308300 const toaster = useToaster ( ) ;
309301
310302 useEffect ( ( ) => {
311- if ( showPreview ) {
303+ if ( editor . previewVisible ) {
312304 divRef . current . focus ( ) ;
313305 }
314- } , [ divRef , showPreview ] ) ;
306+ } , [ divRef , editor , editor . previewVisible ] ) ;
315307
316308 const areSettingsVisible =
317309 settingsVisible === true ||
@@ -366,11 +358,8 @@ export const MarkdownEditorView = forwardRef<HTMLDivElement, MarkdownEditorViewP
366358 qa = "g-md-editor-mode"
367359 ref = { editorWrapperRef }
368360 settingsVisible = { settingsVisible }
369- showPreview = { showPreview }
370361 stickyToolbar = { stickyToolbar }
371- toggleShowPreview = { toggleShowPreview }
372362 toolbarsPreset = { toolbarsPreset }
373- unsetShowPreview = { unsetShowPreview }
374363 wysiwygHiddenActionsConfig = { wysiwygHiddenActionsConfig }
375364 wysiwygToolbarConfig = { wysiwygToolbarConfig }
376365 />
0 commit comments