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

Merge pull request #2442 from jellyfin/plugin-tweaks

minor improvements to plugin pages

(cherry picked from commit d149430f65)
Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
This commit is contained in:
dkanada 2021-03-06 16:17:28 +09:00 committed by Joshua M. Boniface
parent 8bb34c4266
commit 48201581d6
4 changed files with 57 additions and 12 deletions

View file

@ -22,6 +22,10 @@ function populateHistory(packageInfo, page) {
function populateVersions(packageInfo, page, installedPlugin) {
let html = '';
packageInfo.versions.sort((a, b) => {
return b.timestamp < a.timestamp ? -1 : 1;
});
for (let i = 0; i < packageInfo.versions.length; i++) {
const version = packageInfo.versions[i];
html += '<option value="' + version.version + '">' + globalize.translate('PluginFromRepo', version.version, version.repositoryName) + '</option>';

View file

@ -66,7 +66,7 @@ function getPluginCardHtml(plugin, pluginConfigurationPages) {
if (configPageUrl) {
html += `<a class="cardImageContainer" is="emby-linkbutton" style="margin:0;padding:0" href="${configPageUrl}">`;
} else {
html += '<div class="cardImageContainer noConfigPluginCard noHoverEffect emby-button">';
html += '<div class="cardImageContainer noConfigPluginCard noHoverEffect emby-button" style="margin:0;padding:0">';
}
if (plugin.HasImage) {
@ -87,12 +87,10 @@ function getPluginCardHtml(plugin, pluginConfigurationPages) {
html += '</div>';
}
html += "<div class='cardText'>";
html += configPage && configPage.DisplayName ? configPage.DisplayName : plugin.Name;
html += `<br/>${globalize.translate('LabelStatus')} ${plugin.Status}</div>`;
html += "<div class='cardText cardText-secondary'>";
html += plugin.Version;
html += '<div class="cardText">';
html += `${plugin.Name}<span class='cardText cardText-secondary'>${plugin.Version}</span>`;
html += '</div>';
html += `<div class="cardText">${globalize.translate('LabelStatus')} ${plugin.Status}</div>`;
html += '</div>';
html += '</div>';
html += '</div>';
@ -161,7 +159,7 @@ function showPluginMenu(page, elem) {
menuItems.push({
name: globalize.translate('EnablePlugin'),
id: 'enable',
icon: 'mode_enable'
icon: 'check_circle_outline'
});
}
@ -169,7 +167,7 @@ function showPluginMenu(page, elem) {
menuItems.push({
name: globalize.translate('DisablePlugin'),
id: 'disable',
icon: 'mode_disable'
icon: 'do_not_disturb'
});
}

View file

@ -1457,6 +1457,49 @@
"LabelEnableIP4Help": "Enables IPv4 functionality.",
"LabelEnableIP4": "Enable IPv4:",
"HeaderNetworking": "IP Protocols",
"EnablePlugin": "Enable Plugin",
"DisablePlugin": "Disable Plugin"
"EnablePlugin": "Enable",
"DisablePlugin": "Disable",
"YoutubeDenied": "Requested video is not allowed to be played in embedded players.",
"YoutubeNotFound": "Video not found.",
"YoutubePlaybackError": "Requested video cannot be played.",
"YoutubeBadRequest": "Bad request.",
"LabelSelectStereo": "Stereo",
"LabelSelectMono": "Mono",
"LabelSelectAudioChannels": "Channels",
"LabelAllowedAudioChannels": "Maximum Allowed Audio Channels",
"AllowHevcEncoding": "Allow encoding in HEVC format",
"PreferFmp4HlsContainerHelp": "Prefer to use fMP4 as the default container for HLS, making it possible to direct stream HEVC content on supported devices.",
"PreferFmp4HlsContainer": "Prefer fMP4-HLS Media Container",
"LabelSyncPlayInfo": "Sync Play Info",
"LabelOriginalMediaInfo": "Original Media Info",
"LabelRemuxingInfo": "Re-muxing Info",
"LabelDirectStreamingInfo": "Direct Streaming Info",
"LabelTranscodingInfo": "Transcoding Info",
"LabelVideoInfo": "Video Info",
"LabelAudioInfo": "Audio Info",
"LabelPlaybackInfo": "Playback Info",
"RemuxHelp2": "Re-mux uses very little processing power with a completely lossless media quality.",
"RemuxHelp1": "The media is in an incompatible file container (MKV, AVI, WMV, etc) but both the video stream and audio stream are compatible with the device. The media will be repackaged losslessly on the fly before being sent to the device.",
"Remuxing": "Re-muxing",
"AspectRatioFill": "Fill",
"AspectRatioCover": "Cover",
"SyncPlayGroupDefaultTitle": "{0}'s group",
"PluginFromRepo": "{0} from repository {1}",
"MessageSyncPlayIsDisabled": "Permission required to use Sync Play.",
"LabelSyncPlayTimeSyncOffset": "Time offset:",
"LabelSyncPlayTimeSyncDevice": "Time syncing with:",
"LabelSyncPlayResumePlaybackDescription": "Join back group playback",
"LabelSyncPlayResumePlayback": "Resume local playback",
"LabelSyncPlayHaltPlaybackDescription": "And ignore current playlist updates",
"LabelSyncPlayHaltPlayback": "Stop local playback",
"LabelIsForced": "Forced",
"LabelH265Crf": "H265 encoding CRF:",
"LabelDropSubtitleHere": "Drop subtitle here, or click to browse.",
"HeaderUploadSubtitle": "Upload Subtitle",
"HeaderAddUser": "Add User",
"HeaderAddUpdateSubtitle": "Add/Update Subtitle",
"LabelMinAudiobookResumeHelp": "Titles are assumed unplayed if stopped before this time.",
"LabelMinAudiobookResume": "Minimum Audiobook resume in minutes:",
"LabelMaxAudiobookResumeHelp": "Titles are assumed fully played if stopped after this time.",
"LabelMaxAudiobookResume": "Maximum Audiobook resume in minutes:"
}

View file

@ -180,8 +180,8 @@
"DirectStreamHelp1": "The video stream is compatible with the device, but has an incompatible audio format (DTS, TRUEHD, etc) or number of audio channels. The video stream will be repackaged losslessly on the fly before being sent to the device. Only the audio stream will be transcoded.",
"DirectStreamHelp2": "Power consumed by direct streaming usually depends on the audio profile. Only the video stream is lossless.",
"DirectStreaming": "Direct streaming",
"EnablePlugin": "Enable Plugin",
"DisablePlugin": "Disable Plugin",
"EnablePlugin": "Enable",
"DisablePlugin": "Disable",
"Disc": "Disc",
"Disconnect": "Disconnect",
"Display": "Display",