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

Merge pull request #5666 from ConnorS1110/update-up-next-dialog-text

Update up-next text when auto play next episode is disabled
This commit is contained in:
Bill Thornton 2024-07-26 01:21:43 -04:00 committed by GitHub
commit e92b9f0adc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 18 additions and 8 deletions

View file

@ -6,6 +6,7 @@ import layoutManager from '../layoutManager';
import focusManager from '../focusManager';
import globalize from '../../scripts/globalize';
import itemHelper from '../itemHelper';
import ServerConnections from '../ServerConnections';
import './upnextdialog.scss';
import '../../elements/emby-button/emby-button';
import '../../styles/flexstyles.scss';
@ -54,9 +55,9 @@ function setNextVideoText() {
const timeText = '<span class="upNextDialog-countdownText">' + globalize.translate('HeaderSecondsValue', secondsRemaining) + '</span>';
const nextVideoText = instance.itemType === 'Episode' ?
globalize.translate('HeaderNextEpisodePlayingInValue', timeText) :
globalize.translate('HeaderNextVideoPlayingInValue', timeText);
const nextVideoText = instance.showStaticNextText ?
globalize.translate('HeaderNextItem', globalize.translate(instance.itemType)) :
globalize.translate('HeaderNextItemPlayingInValue', globalize.translate(instance.itemType), timeText);
elem.querySelector('.upNextDialog-nextVideoText').innerHTML = nextVideoText;
}
@ -104,7 +105,9 @@ async function onStartNowClick() {
}
}
function init(instance, options) {
async function init(instance, options) {
instance.showStaticNextText = await showStaticNextText(options.nextItem);
options.parent.innerHTML = getHtml();
options.parent.classList.add('hide');
@ -199,12 +202,19 @@ function startComingUpNextHideTimer(instance) {
setNextVideoText.call(instance);
clearCountdownTextTimeout(instance);
instance._countdownTextTimeout = setInterval(setNextVideoText.bind(instance), 400);
if (!instance.showStaticNextText) instance._countdownTextTimeout = setInterval(setNextVideoText.bind(instance), 400);
}
async function showStaticNextText(nextItem) {
const apiClient = ServerConnections.getApiClient(nextItem);
const currentUser = await apiClient.getCurrentUser();
return !currentUser.Configuration.EnableNextEpisodeAutoPlay;
}
class UpNextDialog {
constructor(options) {
this.options = options;
this.showStaticNextText = false; // default to showing countdown text
init(this, options);
}
@ -235,9 +245,9 @@ class UpNextDialog {
hideComingUpNext.call(this);
this.options = null;
this.showStaticNextText = false;
this.itemType = null;
}
}
export default UpNextDialog;

View file

@ -441,8 +441,8 @@
"HeaderNewApiKey": "New API Key",
"HeaderNewDevices": "New Devices",
"HeaderNewRepository": "New Repository",
"HeaderNextEpisodePlayingInValue": "Next Episode Playing in {0}",
"HeaderNextVideoPlayingInValue": "Next Video Playing in {0}",
"HeaderNextItem": "Next {0}",
"HeaderNextItemPlayingInValue": "Next {0} Playing in {1}",
"HeaderNoLyrics": "No lyrics found",
"HeaderOnNow": "On Now",
"HeaderOtherItems": "Other Items",