diff --git a/packages/interface/src/components/fullscreen-mode/index.js b/packages/interface/src/components/fullscreen-mode/index.js index ea7e6ba36bbee3..fc3079b1d1434b 100644 --- a/packages/interface/src/components/fullscreen-mode/index.js +++ b/packages/interface/src/components/fullscreen-mode/index.js @@ -22,6 +22,10 @@ export class FullscreenMode extends Component { if ( this.isSticky ) { document.body.classList.add( 'sticky-menu' ); } + + if ( this.props.isActive ) { + document.body.classList.remove( 'is-fullscreen-mode' ); + } } componentDidUpdate( prevProps ) { diff --git a/packages/interface/src/components/fullscreen-mode/test/index.js b/packages/interface/src/components/fullscreen-mode/test/index.js index 199930777479f6..06f49ec16644d8 100644 --- a/packages/interface/src/components/fullscreen-mode/test/index.js +++ b/packages/interface/src/components/fullscreen-mode/test/index.js @@ -45,4 +45,25 @@ describe( 'FullscreenMode', () => { true ); } ); + + it( 'fullscreen mode to be removed from document body when component unmounted', () => { + // not present initially + expect( document.body.classList.contains( 'is-fullscreen-mode' ) ).toBe( + false + ); + + const mode = shallow( ); + + // present after mounting with `isActive` + expect( document.body.classList.contains( 'is-fullscreen-mode' ) ).toBe( + true + ); + + mode.unmount(); + + // removed after unmounting + expect( document.body.classList.contains( 'is-fullscreen-mode' ) ).toBe( + false + ); + } ); } );