1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

Merge pull request #3318 from iainsaxonhome/feature/quit-app

Added Quit App to main menu
This commit is contained in:
Bill Thornton 2022-02-09 01:32:54 -05:00 committed by GitHub
commit 65d8aac0a9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 32 additions and 1 deletions

View file

@ -199,7 +199,6 @@ const supportedFeatures = function () {
if (browser.operaTv || browser.tizen || browser.orsay || browser.web0s) {
features.push('exit');
} else {
features.push('exitmenu');
features.push('plugins');
}

View file

@ -112,6 +112,15 @@
</div>
</div>
</a>
<a is="emby-linkbutton" data-ripple="false" href="#" style="display:block;padding:0;margin:0;" class="exitApp listItem-border">
<div class="listItem">
<span class="material-icons listItemIcon listItemIcon-transparent close"></span>
<div class="listItemBody">
<div class="listItemBodyText">${ButtonExitApp}</div>
</div>
</div>
</a>
</div>
</div>
</div>

View file

@ -17,6 +17,10 @@ export default function (view, params) {
window.NativeShell.openClientSettings();
});
view.querySelector('.exitApp').addEventListener('click', function () {
appHost.exit();
});
view.addEventListener('viewshow', function () {
// this page can also be used by admins to change user preferences from the user edit page
const userId = params.userId || Dashboard.getCurrentUserId();
@ -33,6 +37,9 @@ export default function (view, params) {
const supportsClientSettings = appHost.supports('clientsettings');
page.querySelector('.clientSettings').classList.toggle('hide', !supportsClientSettings);
const supportsExitMenu = appHost.supports('exitmenu');
page.querySelector('.exitApp').classList.toggle('hide', !supportsExitMenu);
const supportsMultiServer = appHost.supports('multiserver');
page.querySelector('.selectServer').classList.toggle('hide', !supportsMultiServer);

View file

@ -302,6 +302,11 @@ import Headroom from 'headroom.js';
html += '<a is="emby-linkbutton" class="navMenuOption lnkMediaFolder btnSettings" data-itemid="settings" href="#"><span class="material-icons navMenuOptionIcon settings"></span><span class="navMenuOptionText">' + globalize.translate('Settings') + '</span></a>';
html += '<a is="emby-linkbutton" class="navMenuOption lnkMediaFolder btnLogout" data-itemid="logout" href="#"><span class="material-icons navMenuOptionIcon exit_to_app"></span><span class="navMenuOptionText">' + globalize.translate('ButtonSignOut') + '</span></a>';
if (appHost.supports('exitmenu')) {
html += '<a is="emby-linkbutton" class="navMenuOption lnkMediaFolder exitApp" data-itemid="exitapp" href="#"><span class="material-icons navMenuOptionIcon close"></span><span class="navMenuOptionText">' + globalize.translate('ButtonExitApp') + '</span></a>';
}
html += '</div>';
}
@ -318,6 +323,11 @@ import Headroom from 'headroom.js';
btnSettings.addEventListener('click', onSettingsClick);
}
const btnExit = navDrawerScrollContainer.querySelector('.exitApp');
if (btnExit) {
btnExit.addEventListener('click', onExitAppClick);
}
const btnLogout = navDrawerScrollContainer.querySelector('.btnLogout');
if (btnLogout) {
btnLogout.addEventListener('click', onLogoutClick);
@ -706,6 +716,10 @@ import Headroom from 'headroom.js';
Dashboard.navigate('mypreferencesmenu.html');
}
function onExitAppClick() {
appHost.exit();
}
function onLogoutClick() {
Dashboard.logout();
}

View file

@ -134,6 +134,7 @@
"ButtonShutdown": "Shutdown",
"ButtonSignIn": "Sign In",
"ButtonSignOut": "Sign Out",
"ButtonExitApp": "Exit Application",
"ButtonStart": "Start",
"ButtonStop": "Stop",
"ButtonSubmit": "Submit",

View file

@ -106,6 +106,7 @@
"ButtonShutdown": "Shutdown",
"ButtonSignIn": "Sign In",
"ButtonSignOut": "Sign Out",
"ButtonExitApp": "Exit Application",
"ButtonSplit": "Split",
"ButtonStart": "Start",
"ButtonStop": "Stop",