EmbyCrackedClient/web/modules/common/servershutdown.js

1 line
2.1 KiB
JavaScript
Raw Permalink Normal View History

2025-06-25 11:46:04 +08:00
import confirm from"./dialogs/confirm.js";import globalize from"./globalize.js";function formatTextWithDisruptions(text,disruptions){return text=disruptions.length?(text=(text+="\n\n")+globalize.translate("FollowingActivityWillBeDisrupted")+"\n\n")+disruptions.map(function(i){return"- "+i}).join("\n"):text}function formatHtmlWithDisruptions(text,disruptions){return disruptions.length?(text=(text+="<p>")+globalize.translate("FollowingActivityWillBeDisrupted")+"</p><ul>")+disruptions.map(function(i){return"<li>"+i+"</li>"}).join("")+"</ul>":null}function confirmShutDown(disruptions){return confirm({title:globalize.translate("Shutdown"),text:formatTextWithDisruptions(globalize.translate("MessageConfirmShutdown"),disruptions),html:formatHtmlWithDisruptions(globalize.translate("MessageConfirmShutdown"),disruptions),confirmText:globalize.translate("Shutdown"),primary:"cancel",centerText:0===disruptions.length})}function confirmRestart(disruptions){return confirm({title:globalize.translate("Restart"),text:formatTextWithDisruptions(globalize.translate("MessageConfirmRestart"),disruptions),html:formatHtmlWithDisruptions(globalize.translate("MessageConfirmRestart"),disruptions),confirmText:globalize.translate("Restart"),primary:"cancel",centerText:0===disruptions.length})}function getDisruptions(options){options=options.apiClient,options=[options.getSessions({IsPlaying:!0}),options.getLiveTvRecordings({IsInProgress:!0})];return Promise.all(options).then(function(responses){var sessions=responses[0],responses=responses[1].Items,list=[];return 1===sessions.length?list.push(globalize.translate("OneActivePlaybackSession")):sessions.length&&list.push(globalize.translate("NumActivePlaybackSessions",sessions.length)),1===responses.length?list.push(globalize.translate("OneActiveRecording")):responses.length&&list.push(globalize.translate("NumActiveRecordings",responses.length)),list})}function confirmRestartOrShutdown(options){return getDisruptions(options).then(function(disruptions){return("shutdown"===options.type?confirmShutDown:confirmRestart)(disruptions)})}export default{confirmRestartOrShutdown:confirmRestartOrShutdown};