2020-08-16 20:24:45 +02:00
|
|
|
import { appHost } from '../../../components/apphost';
|
2021-01-26 16:25:38 -05:00
|
|
|
import '../../../components/listview/listview.scss';
|
2020-08-14 08:46:34 +02:00
|
|
|
import '../../../elements/emby-button/emby-button';
|
|
|
|
import layoutManager from '../../../components/layoutManager';
|
2022-04-10 02:22:13 -04:00
|
|
|
import Dashboard from '../../../utils/dashboard';
|
2020-07-18 21:08:35 +01:00
|
|
|
|
|
|
|
export default function (view, params) {
|
|
|
|
view.querySelector('.btnLogout').addEventListener('click', function () {
|
|
|
|
Dashboard.logout();
|
|
|
|
});
|
|
|
|
|
|
|
|
view.querySelector('.selectServer').addEventListener('click', function () {
|
|
|
|
Dashboard.selectServer();
|
|
|
|
});
|
|
|
|
|
|
|
|
view.querySelector('.clientSettings').addEventListener('click', function () {
|
|
|
|
window.NativeShell.openClientSettings();
|
|
|
|
});
|
|
|
|
|
2022-01-13 08:46:00 +11:00
|
|
|
view.querySelector('.exitApp').addEventListener('click', function () {
|
|
|
|
appHost.exit();
|
2022-01-12 10:39:21 +11:00
|
|
|
});
|
|
|
|
|
2020-07-18 21:08:35 +01:00
|
|
|
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();
|
|
|
|
const page = this;
|
|
|
|
|
2022-06-29 23:35:56 +03:00
|
|
|
page.querySelector('.lnkUserProfile').setAttribute('href', '#/userprofile.html?userId=' + userId);
|
2022-06-09 14:54:39 -04:00
|
|
|
page.querySelector('.lnkDisplayPreferences').setAttribute('href', '#/mypreferencesdisplay.html?userId=' + userId);
|
|
|
|
page.querySelector('.lnkHomePreferences').setAttribute('href', '#/mypreferenceshome.html?userId=' + userId);
|
|
|
|
page.querySelector('.lnkPlaybackPreferences').setAttribute('href', '#/mypreferencesplayback.html?userId=' + userId);
|
|
|
|
page.querySelector('.lnkSubtitlePreferences').setAttribute('href', '#/mypreferencessubtitles.html?userId=' + userId);
|
|
|
|
page.querySelector('.lnkQuickConnectPreferences').setAttribute('href', '#/mypreferencesquickconnect.html');
|
|
|
|
page.querySelector('.lnkControlsPreferences').setAttribute('href', '#/mypreferencescontrols.html?userId=' + userId);
|
2020-07-18 21:08:35 +01:00
|
|
|
|
2020-12-04 17:20:12 +01:00
|
|
|
const supportsClientSettings = appHost.supports('clientsettings');
|
|
|
|
page.querySelector('.clientSettings').classList.toggle('hide', !supportsClientSettings);
|
2020-07-18 21:08:35 +01:00
|
|
|
|
2022-01-13 08:46:00 +11:00
|
|
|
const supportsExitMenu = appHost.supports('exitmenu');
|
|
|
|
page.querySelector('.exitApp').classList.toggle('hide', !supportsExitMenu);
|
2022-01-12 10:39:21 +11:00
|
|
|
|
2020-12-04 17:20:12 +01:00
|
|
|
const supportsMultiServer = appHost.supports('multiserver');
|
|
|
|
page.querySelector('.selectServer').classList.toggle('hide', !supportsMultiServer);
|
2020-07-18 21:08:35 +01:00
|
|
|
|
2021-03-28 17:11:00 +03:00
|
|
|
page.querySelector('.lnkControlsPreferences').classList.toggle('hide', layoutManager.mobile);
|
|
|
|
|
2021-06-18 22:13:40 +02:00
|
|
|
ApiClient.getQuickConnect('Enabled')
|
|
|
|
.then(enabled => {
|
|
|
|
if (enabled === true) {
|
2020-11-30 17:13:05 -05:00
|
|
|
page.querySelector('.lnkQuickConnectPreferences').classList.remove('hide');
|
|
|
|
}
|
|
|
|
})
|
|
|
|
.catch(() => {
|
|
|
|
console.debug('Failed to get QuickConnect status');
|
|
|
|
});
|
2020-07-18 21:08:35 +01:00
|
|
|
ApiClient.getUser(userId).then(function (user) {
|
2022-01-30 00:27:26 +03:00
|
|
|
page.querySelector('.headerUsername').innerText = user.Name;
|
2020-08-26 20:06:48 +02:00
|
|
|
if (user.Policy.IsAdministrator && !layoutManager.tv) {
|
|
|
|
page.querySelector('.adminSection').classList.remove('hide');
|
2019-04-26 20:39:43 -07:00
|
|
|
}
|
2020-07-18 21:08:35 +01:00
|
|
|
});
|
2019-01-17 04:55:51 +09:00
|
|
|
|
2020-08-26 20:06:48 +02:00
|
|
|
// Hide the actions if user preferences are being edited for a different user
|
|
|
|
if (params.userId && params.userId !== Dashboard.getCurrentUserId) {
|
|
|
|
page.querySelector('.userSection').classList.add('hide');
|
|
|
|
page.querySelector('.adminSection').classList.add('hide');
|
2021-03-28 18:04:11 +03:00
|
|
|
page.querySelector('.lnkControlsPreferences').classList.add('hide');
|
2020-08-26 20:06:48 +02:00
|
|
|
}
|
|
|
|
|
2020-08-14 08:46:34 +02:00
|
|
|
import('../../../components/autoFocuser').then(({default: autoFocuser}) => {
|
2020-07-18 21:08:35 +01:00
|
|
|
autoFocuser.autoFocus(view);
|
2019-11-06 13:43:39 +03:00
|
|
|
});
|
2020-07-18 21:08:35 +01:00
|
|
|
});
|
|
|
|
}
|