diff --git a/framework/core/js/forum/src/components/Composer.js b/framework/core/js/forum/src/components/Composer.js index 9e8b36397..648911f43 100644 --- a/framework/core/js/forum/src/components/Composer.js +++ b/framework/core/js/forum/src/components/Composer.js @@ -260,6 +260,14 @@ class Composer extends Component { $composer.show() .css({height: oldHeight}) .animate({bottom: 0, height: newHeight}, 'fast', this.component.focus.bind(this.component)); + + if ($composer.css('position') === 'absolute') { + $composer.css('top', $(window).scrollTop()); + + this.$backdrop = $('
') + .addClass('composer-backdrop') + .appendTo('body'); + } } else { this.component.focus(); } @@ -268,20 +276,24 @@ class Composer extends Component { case Composer.PositionEnum.MINIMIZED: // If the composer has been minimized, we will animate it shrinking down // to its new smaller size. - $composer.css({height: oldHeight}) + $composer.css({top: 'auto', height: oldHeight}) .animate({height: newHeight}, 'fast'); + + if (this.$backdrop) this.$backdrop.remove(); break; case Composer.PositionEnum.HIDDEN: // If the composer has been hidden, then we will animate it sliding down // beyond the edge of the viewport. Once the animation is complete, we // un-draw the composer's component. - $composer.css({height: oldHeight}) + $composer.css({top: 'auto', height: oldHeight}) .animate({bottom: -newHeight}, 'fast', () => { $composer.hide(); this.clear(); m.redraw(); }); + + if (this.$backdrop) this.$backdrop.remove(); break; case Composer.PositionEnum.FULLSCREEN: diff --git a/framework/core/js/forum/src/components/Search.js b/framework/core/js/forum/src/components/Search.js index 9630d25c3..b4dc07596 100644 --- a/framework/core/js/forum/src/components/Search.js +++ b/framework/core/js/forum/src/components/Search.js @@ -75,7 +75,7 @@ export default class Search extends Component { } return ( -