diff --git a/client/src/app/menu/menu.component.scss b/client/src/app/menu/menu.component.scss
index 9ae40493d..5bff0c328 100644
--- a/client/src/app/menu/menu.component.scss
+++ b/client/src/app/menu/menu.component.scss
@@ -27,6 +27,10 @@ menu {
overflow-y: auto;
}
+ @media not all and (hover: hover) and (pointer: fine) {
+ overflow-y: auto;
+ }
+
&.logged-in {
.panel-block {
margin-bottom: 20px;
diff --git a/client/src/app/menu/menu.component.ts b/client/src/app/menu/menu.component.ts
index 75bae090e..015c14bce 100644
--- a/client/src/app/menu/menu.component.ts
+++ b/client/src/app/menu/menu.component.ts
@@ -8,6 +8,7 @@ import { HotkeysService } from 'angular2-hotkeys'
import { ServerConfig, VideoConstant } from '@shared/models'
import { QuickSettingsModalComponent } from '@app/modal/quick-settings-modal.component'
import { I18n } from '@ngx-translate/i18n-polyfill'
+import { ScreenService } from '@app/shared/misc/screen.service'
@Component({
selector: 'my-menu',
@@ -43,8 +44,21 @@ export class MenuComponent implements OnInit {
private serverService: ServerService,
private redirectService: RedirectService,
private hotkeysService: HotkeysService,
+ private screenService: ScreenService,
private i18n: I18n
- ) {}
+ ) { }
+
+ get isInMobileView () {
+ return this.screenService.isInMobileView()
+ }
+
+ get placement () {
+ if (this.isInMobileView) {
+ return 'left-top auto'
+ } else {
+ return 'right-top auto'
+ }
+ }
ngOnInit () {
this.serverConfig = this.serverService.getTmpConfig()