mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update header user button
This commit is contained in:
parent
ea6332ed7d
commit
7e84d5786e
1 changed files with 36 additions and 13 deletions
|
@ -33,7 +33,7 @@
|
||||||
|
|
||||||
html += '<paper-button class="headerButton headerButtonRight btnNotifications subdued" type="button" title="Notifications"><div class="btnNotificationsInner">0</div></paper-button>';
|
html += '<paper-button class="headerButton headerButtonRight btnNotifications subdued" type="button" title="Notifications"><div class="btnNotificationsInner">0</div></paper-button>';
|
||||||
|
|
||||||
html += '<paper-icon-button icon="person" class="headerButton headerButtonRight headerUserButton" onclick="return Dashboard.showUserFlyout(this);"></paper-icon-button>';
|
html += '<paper-icon-button icon="person" class="headerButton headerButtonRight headerUserButton"></paper-icon-button>';
|
||||||
|
|
||||||
if (!browserInfo.mobile && !Dashboard.isConnectMode()) {
|
if (!browserInfo.mobile && !Dashboard.isConnectMode()) {
|
||||||
html += '<paper-icon-button icon="settings" class="headerButton headerButtonRight dashboardEntryHeaderButton" onclick="return LibraryMenu.onSettingsClicked(event);"></paper-icon-button>';
|
html += '<paper-icon-button icon="settings" class="headerButton headerButtonRight dashboardEntryHeaderButton" onclick="return LibraryMenu.onSettingsClicked(event);"></paper-icon-button>';
|
||||||
|
@ -83,25 +83,15 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
if (headerUserButton) {
|
if (headerUserButton) {
|
||||||
headerUserButton.src = url;
|
updateHeaderUserButton(headerUserButton, url, null);
|
||||||
headerUserButton.icon = null;
|
|
||||||
headerUserButton.classList.add('headerUserButtonRound');
|
|
||||||
hasImage = true;
|
hasImage = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (headerUserButton && !hasImage) {
|
if (headerUserButton && !hasImage) {
|
||||||
headerUserButton.icon = 'person';
|
|
||||||
headerUserButton.src = null;
|
|
||||||
headerUserButton.removeAttribute('src');
|
|
||||||
headerUserButton.classList.remove('headerUserButtonRound');
|
|
||||||
|
|
||||||
// Looks like a bug in paper-icon-button that this doesn't get removed
|
updateHeaderUserButton(headerUserButton, null, 'person');
|
||||||
var headerUserButtonImg = headerUserButton.querySelector('img');
|
|
||||||
if (headerUserButtonImg) {
|
|
||||||
headerUserButtonImg.parentNode.removeChild(headerUserButtonImg);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (user) {
|
if (user) {
|
||||||
updateLocalUser(user.localUser);
|
updateLocalUser(user.localUser);
|
||||||
|
@ -110,6 +100,30 @@
|
||||||
requiresUserRefresh = false;
|
requiresUserRefresh = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function updateHeaderUserButton(headerUserButton, src, icon) {
|
||||||
|
|
||||||
|
var oldButton = headerUserButton;
|
||||||
|
|
||||||
|
// There seems to be a bug in paper-icon-button where it doesn't refresh it's display after switching between icon and src image
|
||||||
|
// So work around that by just replacing the element altogether
|
||||||
|
|
||||||
|
var headerUserButton = document.createElement('paper-icon-button');
|
||||||
|
headerUserButton.className = oldButton.className;
|
||||||
|
headerUserButton.addEventListener('click', onHeaderUserButtonClick);
|
||||||
|
|
||||||
|
if (src) {
|
||||||
|
headerUserButton.classList.add('headerUserButtonRound');
|
||||||
|
headerUserButton.src = src;
|
||||||
|
} else if (icon) {
|
||||||
|
headerUserButton.classList.remove('headerUserButtonRound');
|
||||||
|
header.icon = icon;
|
||||||
|
} else {
|
||||||
|
headerUserButton.classList.remove('headerUserButtonRound');
|
||||||
|
}
|
||||||
|
|
||||||
|
oldButton.parentNode.replaceChild(headerUserButton, oldButton);
|
||||||
|
}
|
||||||
|
|
||||||
function updateLocalUser(user) {
|
function updateLocalUser(user) {
|
||||||
|
|
||||||
var header = document.querySelector('.viewMenuBar');
|
var header = document.querySelector('.viewMenuBar');
|
||||||
|
@ -162,6 +176,10 @@
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function onHeaderUserButtonClick(e) {
|
||||||
|
Dashboard.showUserFlyout(e.target);
|
||||||
|
}
|
||||||
|
|
||||||
function bindMenuEvents() {
|
function bindMenuEvents() {
|
||||||
|
|
||||||
var mainDrawerButton = document.querySelector('.mainDrawerButton');
|
var mainDrawerButton = document.querySelector('.mainDrawerButton');
|
||||||
|
@ -180,6 +198,11 @@
|
||||||
headerVoiceButton.addEventListener('click', showVoice);
|
headerVoiceButton.addEventListener('click', showVoice);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var headerUserButton = document.querySelector('.headerUserButton');
|
||||||
|
if (headerUserButton) {
|
||||||
|
headerUserButton.addEventListener('click', onHeaderUserButtonClick);
|
||||||
|
}
|
||||||
|
|
||||||
var viewMenuBar = document.querySelector(".viewMenuBar");
|
var viewMenuBar = document.querySelector(".viewMenuBar");
|
||||||
initHeadRoom(viewMenuBar);
|
initHeadRoom(viewMenuBar);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue