mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
Merge pull request #3560 from thornbill/refactor-transparency
Move backdrop transparency method to component
This commit is contained in:
commit
4b7f615001
10 changed files with 66 additions and 49 deletions
|
@ -1,6 +1,6 @@
|
|||
import { appHost } from './apphost';
|
||||
import appSettings from '../scripts/settings/appSettings';
|
||||
import backdrop from './backdrop/backdrop';
|
||||
import { clearBackdrop, setBackdropTransparency } from './backdrop/backdrop';
|
||||
import browser from '../scripts/browser';
|
||||
import { Events } from 'jellyfin-apiclient';
|
||||
import globalize from '../scripts/globalize';
|
||||
|
@ -106,7 +106,7 @@ class AppRouter {
|
|||
}
|
||||
|
||||
beginConnectionWizard() {
|
||||
backdrop.clearBackdrop();
|
||||
clearBackdrop();
|
||||
loading.show();
|
||||
ServerConnections.connect({
|
||||
enableAutoLogin: appSettings.enableAutoLogin()
|
||||
|
@ -252,30 +252,14 @@ class AppRouter {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the backdrop, background, and document transparency
|
||||
* @deprecated use Dashboard.setBackdropTransparency
|
||||
*/
|
||||
setTransparency(level) {
|
||||
if (!this.backdropContainer) {
|
||||
this.backdropContainer = document.querySelector('.backdropContainer');
|
||||
}
|
||||
if (!this.backgroundContainer) {
|
||||
this.backgroundContainer = document.querySelector('.backgroundContainer');
|
||||
}
|
||||
|
||||
if (level === 'full' || level === 2) {
|
||||
backdrop.clearBackdrop(true);
|
||||
document.documentElement.classList.add('transparentDocument');
|
||||
this.backgroundContainer.classList.add('backgroundContainer-transparent');
|
||||
this.backdropContainer.classList.add('hide');
|
||||
} else if (level === 'backdrop' || level === 1) {
|
||||
backdrop.externalBackdrop(true);
|
||||
document.documentElement.classList.add('transparentDocument');
|
||||
this.backgroundContainer.classList.add('backgroundContainer-transparent');
|
||||
this.backdropContainer.classList.add('hide');
|
||||
} else {
|
||||
backdrop.externalBackdrop(false);
|
||||
document.documentElement.classList.remove('transparentDocument');
|
||||
this.backgroundContainer.classList.remove('backgroundContainer-transparent');
|
||||
this.backdropContainer.classList.remove('hide');
|
||||
}
|
||||
// TODO: Remove this after JMP is updated to not use this function
|
||||
console.warn('Deprecated! Use Dashboard.setBackdropTransparency');
|
||||
setBackdropTransparency(level);
|
||||
}
|
||||
|
||||
getRoutes() {
|
||||
|
|
|
@ -295,9 +295,37 @@ import './backdrop.scss';
|
|||
|
||||
/* eslint-enable indent */
|
||||
|
||||
export default {
|
||||
setBackdrops: setBackdrops,
|
||||
setBackdrop: setBackdrop,
|
||||
clearBackdrop: clearBackdrop,
|
||||
externalBackdrop: externalBackdrop
|
||||
/**
|
||||
* @enum TransparencyLevel
|
||||
*/
|
||||
export const TRANSPARENCY_LEVEL = {
|
||||
Full: 'full',
|
||||
Backdrop: 'backdrop',
|
||||
None: 'none'
|
||||
};
|
||||
|
||||
/**
|
||||
* Sets the backdrop, background, and document transparency
|
||||
* @param {TransparencyLevel} level The level of transparency
|
||||
*/
|
||||
export function setBackdropTransparency(level) {
|
||||
const backdropElem = getBackdropContainer();
|
||||
const backgroundElem = getBackgroundContainer();
|
||||
|
||||
if (level === TRANSPARENCY_LEVEL.Full || level === 2) {
|
||||
clearBackdrop(true);
|
||||
document.documentElement.classList.add('transparentDocument');
|
||||
backgroundElem.classList.add('backgroundContainer-transparent');
|
||||
backdropElem.classList.add('hide');
|
||||
} else if (level === TRANSPARENCY_LEVEL.Backdrop || level === 1) {
|
||||
externalBackdrop(true);
|
||||
document.documentElement.classList.add('transparentDocument');
|
||||
backgroundElem.classList.add('backgroundContainer-transparent');
|
||||
backdropElem.classList.add('hide');
|
||||
} else {
|
||||
externalBackdrop(false);
|
||||
document.documentElement.classList.remove('transparentDocument');
|
||||
backgroundElem.classList.remove('backgroundContainer-transparent');
|
||||
backdropElem.classList.remove('hide');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import escapeHtml from 'escape-html';
|
||||
import datetime from '../../scripts/datetime';
|
||||
import backdrop from '../backdrop/backdrop';
|
||||
import { clearBackdrop, setBackdrops } from '../backdrop/backdrop';
|
||||
import listView from '../listview/listview';
|
||||
import imageLoader from '../images/imageLoader';
|
||||
import { playbackManager } from '../playback/playbackmanager';
|
||||
|
@ -229,7 +229,7 @@ function updateNowPlayingInfo(context, state, serverId) {
|
|||
});
|
||||
});
|
||||
setImageUrl(context, state, url);
|
||||
backdrop.setBackdrops([item]);
|
||||
setBackdrops([item]);
|
||||
apiClient.getItem(apiClient.getCurrentUserId(), item.Id).then(function (fullItem) {
|
||||
const userData = fullItem.UserData || {};
|
||||
const likes = userData.Likes == null ? '' : userData.Likes;
|
||||
|
@ -237,7 +237,7 @@ function updateNowPlayingInfo(context, state, serverId) {
|
|||
context.querySelector('.nowPlayingPageUserDataButtons').innerHTML = '<button is="emby-ratingbutton" type="button" class="listItemButton paper-icon-button-light" data-id="' + fullItem.Id + '" data-serverid="' + fullItem.ServerId + '" data-itemtype="' + fullItem.Type + '" data-likes="' + likes + '" data-isfavorite="' + userData.IsFavorite + '"><span class="material-icons favorite" aria-hidden="true"></span></button>';
|
||||
});
|
||||
} else {
|
||||
backdrop.clearBackdrop();
|
||||
clearBackdrop();
|
||||
context.querySelector('.nowPlayingPageUserDataButtons').innerHTML = '';
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import backdrop from '../backdrop/backdrop';
|
||||
import { clearBackdrop } from '../backdrop/backdrop';
|
||||
import * as mainTabsManager from '../maintabsmanager';
|
||||
import layoutManager from '../layoutManager';
|
||||
import '../../elements/emby-tabs/emby-tabs';
|
||||
|
@ -87,7 +87,7 @@ class TabbedView {
|
|||
|
||||
onResume() {
|
||||
this.setTitle();
|
||||
backdrop.clearBackdrop();
|
||||
clearBackdrop();
|
||||
|
||||
const currentTabController = this.currentTabController;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue