mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
update live stream sharing
This commit is contained in:
parent
8bf645c346
commit
a511a2fa84
10 changed files with 89 additions and 108 deletions
|
@ -14,12 +14,12 @@
|
||||||
},
|
},
|
||||||
"devDependencies": {},
|
"devDependencies": {},
|
||||||
"ignore": [],
|
"ignore": [],
|
||||||
"version": "1.4.295",
|
"version": "1.4.296",
|
||||||
"_release": "1.4.295",
|
"_release": "1.4.296",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "1.4.295",
|
"tag": "1.4.296",
|
||||||
"commit": "1cfe41bab16e66d13ef8a613b251ee3edccde3a8"
|
"commit": "b1299a1ac50def9b8cdd03ec54b6170eb6c983f4"
|
||||||
},
|
},
|
||||||
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
|
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
|
||||||
"_target": "^1.2.1",
|
"_target": "^1.2.1",
|
||||||
|
|
|
@ -292,8 +292,9 @@ button {
|
||||||
margin-right: 2em;
|
margin-right: 2em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.cardCenteredText {
|
.cardDefaultText {
|
||||||
white-space: normal;
|
white-space: normal;
|
||||||
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.textActionButton {
|
.textActionButton {
|
||||||
|
|
|
@ -804,7 +804,7 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo
|
||||||
}
|
}
|
||||||
|
|
||||||
var showMediaTitle = (showTitle && !titleAdded) || (options.showParentTitleOrTitle && !lines.length);
|
var showMediaTitle = (showTitle && !titleAdded) || (options.showParentTitleOrTitle && !lines.length);
|
||||||
if (!showMediaTitle && showTitle && forceName && !titleAdded) {
|
if (!showMediaTitle && !titleAdded && (showTitle || forceName)) {
|
||||||
showMediaTitle = true;
|
showMediaTitle = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -959,7 +959,12 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo
|
||||||
lines.push(globalize.translate('sharedcomponents#SeriesYearToPresent', item.ProductionYear || ''));
|
lines.push(globalize.translate('sharedcomponents#SeriesYearToPresent', item.ProductionYear || ''));
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
lines.push(item.ProductionYear || '');
|
|
||||||
|
if (item.EndDate && item.ProductionYear) {
|
||||||
|
lines.push(item.ProductionYear + ' - ' + datetime.parseISO8601Date(item.EndDate).getFullYear());
|
||||||
|
} else {
|
||||||
|
lines.push(item.ProductionYear || '');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1160,7 +1165,7 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo
|
||||||
var imgInfo = getCardImageUrl(item, apiClient, options);
|
var imgInfo = getCardImageUrl(item, apiClient, options);
|
||||||
var imgUrl = imgInfo.imgUrl;
|
var imgUrl = imgInfo.imgUrl;
|
||||||
|
|
||||||
var forceName = imgInfo.forceName || !imgUrl;
|
var forceName = imgInfo.forceName;
|
||||||
|
|
||||||
var showTitle = options.showTitle === 'auto' ? true : (options.showTitle || item.Type === 'PhotoAlbum' || item.Type === 'Folder');
|
var showTitle = options.showTitle === 'auto' ? true : (options.showTitle || item.Type === 'PhotoAlbum' || item.Type === 'Folder');
|
||||||
var overlayText = options.overlayText;
|
var overlayText = options.overlayText;
|
||||||
|
@ -1336,7 +1341,7 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo
|
||||||
|
|
||||||
if (!imgUrl) {
|
if (!imgUrl) {
|
||||||
var defaultName = item.Type === 'Program' || item.Type == 'Timer' || item.EpisodeTitle ? item.Name : itemHelper.getDisplayName(item);
|
var defaultName = item.Type === 'Program' || item.Type == 'Timer' || item.EpisodeTitle ? item.Name : itemHelper.getDisplayName(item);
|
||||||
cardImageContainerOpen += '<div class="cardText cardCenteredText">' + defaultName + '</div>';
|
cardImageContainerOpen += '<div class="cardText cardDefaultText">' + defaultName + '</div>';
|
||||||
}
|
}
|
||||||
|
|
||||||
var tagName = (layoutManager.tv || !scalable) && !overlayButtons ? 'button' : 'div';
|
var tagName = (layoutManager.tv || !scalable) && !overlayButtons ? 'button' : 'div';
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
"Repeat": "Repeat",
|
"Repeat": "Repeat",
|
||||||
"TrackCount": "{0} tracks",
|
"TrackCount": "{0} tracks",
|
||||||
"ItemCount": "{0} items",
|
"ItemCount": "{0} items",
|
||||||
"ValueSeriesYearToPresent": "{0}-Present",
|
"ValueSeriesYearToPresent": "{0} - Present",
|
||||||
"ReleaseYearValue": "Release year: {0}",
|
"ReleaseYearValue": "Release year: {0}",
|
||||||
"OriginalAirDateValue": "Original air date: {0}",
|
"OriginalAirDateValue": "Original air date: {0}",
|
||||||
"EndsAtValue": "Ends at {0}",
|
"EndsAtValue": "Ends at {0}",
|
||||||
|
@ -223,7 +223,7 @@
|
||||||
"PackageInstallCompleted": "{0} installation completed.",
|
"PackageInstallCompleted": "{0} installation completed.",
|
||||||
"PackageInstallFailed": "{0} installation failed.",
|
"PackageInstallFailed": "{0} installation failed.",
|
||||||
"PackageInstallCancelled": "{0} installation cancelled.",
|
"PackageInstallCancelled": "{0} installation cancelled.",
|
||||||
"SeriesYearToPresent": "{0}-Present",
|
"SeriesYearToPresent": "{0} - Present",
|
||||||
"ValueOneSong": "1 song",
|
"ValueOneSong": "1 song",
|
||||||
"ValueSongCount": "{0} songs",
|
"ValueSongCount": "{0} songs",
|
||||||
"ValueOneMovie": "1 movie",
|
"ValueOneMovie": "1 movie",
|
||||||
|
|
|
@ -245,7 +245,7 @@ i.sidebarLinkIcon {
|
||||||
}
|
}
|
||||||
|
|
||||||
.darkDrawer i.sidebarLinkIcon {
|
.darkDrawer i.sidebarLinkIcon {
|
||||||
margin-left: 1em;
|
margin-left: 1.7em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.darkDrawer .sidebarLinkText, .darkDrawer .sidebarLink {
|
.darkDrawer .sidebarLinkText, .darkDrawer .sidebarLink {
|
||||||
|
|
|
@ -17,91 +17,85 @@
|
||||||
<br />
|
<br />
|
||||||
<div class="tabContent tabInfo">
|
<div class="tabContent tabInfo">
|
||||||
|
|
||||||
<div>
|
<div class="inputContainer">
|
||||||
<label for="txtName">${LabelName}</label>
|
<input is="emby-input" type="text" id="txtName" required="required" label="${LabelName}" />
|
||||||
<input type="text" id="txtName" required="required" />
|
|
||||||
</div>
|
</div>
|
||||||
<br />
|
<div class="selectContainer">
|
||||||
<div>
|
<select is="emby-select" id="selectUser" label="${LabelUserLibrary}"></select>
|
||||||
<label for="selectUser">${LabelUserLibrary}</label>
|
|
||||||
<select id="selectUser" data-mini="true"></select>
|
|
||||||
<div class="fieldDescription">${LabelUserLibraryHelp}</div>
|
<div class="fieldDescription">${LabelUserLibraryHelp}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<h3 class="checkboxListLabel">${LabelSupportedMediaTypes}</h3>
|
||||||
|
<div class="checkboxList paperList checkboxList-paperList">
|
||||||
|
<label>
|
||||||
|
<input is="emby-checkbox" type="checkbox" id="chkAudio" data-value="Audio" class="chkMediaType" />
|
||||||
|
<span>${OptionProfileAudio}</span>
|
||||||
|
</label>
|
||||||
|
<label>
|
||||||
|
<input is="emby-checkbox" type="checkbox" id="chkPhoto" data-value="Photo" class="chkMediaType" />
|
||||||
|
<span>${OptionProfilePhoto}</span>
|
||||||
|
</label>
|
||||||
|
<label>
|
||||||
|
<input is="emby-checkbox" type="checkbox" id="chkVideo" data-value="Video" class="chkMediaType" />
|
||||||
|
<span>${OptionProfileVideo}</span>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<br />
|
<br />
|
||||||
|
<div class="inputContainer">
|
||||||
|
<input is="emby-input" type="number" id="txtMaxAllowedBitrate" pattern="[0-9]*" min="1" label="${LabelMaxStreamingBitrate}" />
|
||||||
|
<div class="fieldDescription">${LabelMaxStreamingBitrateHelp}</div>
|
||||||
|
</div>
|
||||||
|
<div class="inputContainer">
|
||||||
|
<input is="emby-input" type="number" id="txtMusicStreamingTranscodingBitrate" pattern="[0-9]*" min="1" label="${LabelMusicStreamingTranscodingBitrate}" />
|
||||||
|
<div class="fieldDescription">${LabelMusicStreamingTranscodingBitrateHelp}</div>
|
||||||
|
</div>
|
||||||
|
<div style="display:none;">
|
||||||
|
<label for="chkIgnoreTranscodeByteRangeRequests">${OptionIgnoreTranscodeByteRangeRequests}</label>
|
||||||
|
<input type="checkbox" id="chkIgnoreTranscodeByteRangeRequests" data-mini="true" />
|
||||||
|
<div class="fieldDescription">${OptionIgnoreTranscodeByteRangeRequestsHelp}</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<fieldset data-role="controlgroup">
|
|
||||||
<legend>${LabelSupportedMediaTypes}</legend>
|
|
||||||
<input type="checkbox" id="chkAudio" data-value="Audio" class="chkMediaType" />
|
|
||||||
<label for="chkAudio">${OptionProfileAudio}</label>
|
|
||||||
|
|
||||||
<input type="checkbox" id="chkPhoto" data-value="Photo" class="chkMediaType" />
|
|
||||||
<label for="chkPhoto">${OptionProfilePhoto}</label>
|
|
||||||
|
|
||||||
<input type="checkbox" id="chkVideo" data-value="Video" class="chkMediaType" />
|
|
||||||
<label for="chkVideo">${OptionProfileVideo}</label>
|
|
||||||
</fieldset>
|
|
||||||
|
|
||||||
|
|
||||||
<br />
|
|
||||||
<div is="emby-collapse" title="${HeaderIdentification}">
|
<div is="emby-collapse" title="${HeaderIdentification}">
|
||||||
<div class="collapseContent">
|
<div class="collapseContent">
|
||||||
<br />
|
<h3>${HeaderIdentificationCriteriaHelp}</h3>
|
||||||
<p>${HeaderIdentificationCriteriaHelp}</p>
|
<div class="inputContainer">
|
||||||
<br />
|
<input is="emby-input" type="text" id="txtIdFriendlyName" label="${LabelFriendlyName}" />
|
||||||
<div>
|
|
||||||
<label for="txtIdFriendlyName">${LabelFriendlyName}</label>
|
|
||||||
<input type="text" id="txtIdFriendlyName" />
|
|
||||||
<div class="fieldDescription">${LabelIdentificationFieldHelp}</div>
|
<div class="fieldDescription">${LabelIdentificationFieldHelp}</div>
|
||||||
</div>
|
</div>
|
||||||
<br />
|
<div class="inputContainer">
|
||||||
<div>
|
<input is="emby-input" type="text" id="txtIdManufacturer" label="${LabelManufacturer}" />
|
||||||
<label for="txtIdManufacturer">${LabelManufacturer}</label>
|
|
||||||
<input type="text" id="txtIdManufacturer" />
|
|
||||||
<div class="fieldDescription">${LabelIdentificationFieldHelp}</div>
|
<div class="fieldDescription">${LabelIdentificationFieldHelp}</div>
|
||||||
</div>
|
</div>
|
||||||
<br />
|
<div class="inputContainer">
|
||||||
<div>
|
<input is="emby-input" type="text" id="txtIdManufacturerUrl" label="${LabelManufacturerUrl}" />
|
||||||
<label for="txtIdManufacturerUrl">${LabelManufacturerUrl}</label>
|
|
||||||
<input type="text" id="txtIdManufacturerUrl" />
|
|
||||||
<div class="fieldDescription">${LabelIdentificationFieldHelp}</div>
|
<div class="fieldDescription">${LabelIdentificationFieldHelp}</div>
|
||||||
</div>
|
</div>
|
||||||
<br />
|
<div class="inputContainer">
|
||||||
<div>
|
<input is="emby-input" type="text" id="txtIdModelName" label="${LabelModelName}" />
|
||||||
<label for="txtIdModelName">${LabelModelName}</label>
|
|
||||||
<input type="text" id="txtIdModelName" />
|
|
||||||
<div class="fieldDescription">${LabelIdentificationFieldHelp}</div>
|
<div class="fieldDescription">${LabelIdentificationFieldHelp}</div>
|
||||||
</div>
|
</div>
|
||||||
<br />
|
<div class="inputContainer">
|
||||||
<div>
|
<input is="emby-input" type="text" id="txtIdModelNumber" label="${LabelModelNumber}" />
|
||||||
<label for="txtIdModelNumber">${LabelModelNumber}</label>
|
|
||||||
<input type="text" id="txtIdModelNumber" />
|
|
||||||
<div class="fieldDescription">${LabelIdentificationFieldHelp}</div>
|
<div class="fieldDescription">${LabelIdentificationFieldHelp}</div>
|
||||||
</div>
|
</div>
|
||||||
<br />
|
<div class="inputContainer">
|
||||||
<div>
|
<input is="emby-input" type="text" id="txtIdModelDesription" label="${LabelModelDescription}" />
|
||||||
<label for="txtIdModelDesription">${LabelModelDescription}</label>
|
|
||||||
<input type="text" id="txtIdModelDesription" />
|
|
||||||
<div class="fieldDescription">${LabelIdentificationFieldHelp}</div>
|
<div class="fieldDescription">${LabelIdentificationFieldHelp}</div>
|
||||||
</div>
|
</div>
|
||||||
<br />
|
<div class="inputContainer">
|
||||||
<div>
|
<input is="emby-input" type="text" id="txtIdModelUrl" label="${LabelModelUrl}" />
|
||||||
<label for="txtIdModelUrl">${LabelModelUrl}</label>
|
|
||||||
<input type="text" id="txtIdModelUrl" />
|
|
||||||
<div class="fieldDescription">${LabelIdentificationFieldHelp}</div>
|
<div class="fieldDescription">${LabelIdentificationFieldHelp}</div>
|
||||||
</div>
|
</div>
|
||||||
<br />
|
<div class="inputContainer">
|
||||||
<div>
|
<input is="emby-input" type="text" id="txtIdSerialNumber" label="${LabelSerialNumber}" />
|
||||||
<label for="txtIdSerialNumber">${LabelSerialNumber}</label>
|
|
||||||
<input type="text" id="txtIdSerialNumber" />
|
|
||||||
<div class="fieldDescription">${LabelIdentificationFieldHelp}</div>
|
<div class="fieldDescription">${LabelIdentificationFieldHelp}</div>
|
||||||
</div>
|
</div>
|
||||||
<br />
|
<div class="inputContainer">
|
||||||
<div>
|
<input is="emby-input" type="text" id="txtIdDeviceDescription" label="${LabelDeviceDescription}" />
|
||||||
<label for="txtIdDeviceDescription">${LabelDeviceDescription}</label>
|
|
||||||
<input type="text" id="txtIdDeviceDescription" />
|
|
||||||
<div class="fieldDescription">${LabelIdentificationFieldHelp}</div>
|
<div class="fieldDescription">${LabelIdentificationFieldHelp}</div>
|
||||||
</div>
|
</div>
|
||||||
<br />
|
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<h2 style="vertical-align:middle;display:inline-block;">${HeaderHttpHeaders}</h2>
|
<h2 style="vertical-align:middle;display:inline-block;">${HeaderHttpHeaders}</h2>
|
||||||
|
@ -117,16 +111,20 @@
|
||||||
<div is="emby-collapse" title="${HeaderDisplaySettings}">
|
<div is="emby-collapse" title="${HeaderDisplaySettings}">
|
||||||
<div class="collapseContent">
|
<div class="collapseContent">
|
||||||
<br />
|
<br />
|
||||||
<div>
|
|
||||||
<label for="chkRequiresPlainFolders">${OptionPlainStorageFolders}</label>
|
<div class="checkboxContainer checkboxContainer-withDescription">
|
||||||
<input type="checkbox" id="chkRequiresPlainFolders" data-mini="true" />
|
<label>
|
||||||
<div class="fieldDescription">${OptionPlainStorageFoldersHelp}</div>
|
<input is="emby-checkbox" type="checkbox" id="chkRequiresPlainFolders" />
|
||||||
|
<span>${OptionPlainStorageFolders}</span>
|
||||||
|
</label>
|
||||||
|
<div class="fieldDescription checkboxFieldDescription">${OptionPlainStorageFoldersHelp}</div>
|
||||||
</div>
|
</div>
|
||||||
<br />
|
<div class="checkboxContainer checkboxContainer-withDescription">
|
||||||
<div>
|
<label>
|
||||||
<label for="chkRequiresPlainVideoItems">${OptionPlainVideoItems}</label>
|
<input is="emby-checkbox" type="checkbox" id="chkRequiresPlainVideoItems" />
|
||||||
<input type="checkbox" id="chkRequiresPlainVideoItems" data-mini="true" />
|
<span>${OptionPlainVideoItems}</span>
|
||||||
<div class="fieldDescription">${OptionPlainVideoItemsHelp}</div>
|
</label>
|
||||||
|
<div class="fieldDescription checkboxFieldDescription">${OptionPlainVideoItemsHelp}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -178,29 +176,6 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div is="emby-collapse" title="${HeaderPlaybackSettings}">
|
|
||||||
<div class="collapseContent">
|
|
||||||
<br />
|
|
||||||
<div>
|
|
||||||
<label for="txtMaxAllowedBitrate">${LabelMaxStreamingBitrate}</label>
|
|
||||||
<input type="number" id="txtMaxAllowedBitrate" pattern="[0-9]*" min="1" />
|
|
||||||
<div class="fieldDescription">${LabelMaxStreamingBitrateHelp}</div>
|
|
||||||
</div>
|
|
||||||
<br />
|
|
||||||
<div>
|
|
||||||
<label for="txtMusicStreamingTranscodingBitrate">${LabelMusicStreamingTranscodingBitrate}</label>
|
|
||||||
<input type="number" id="txtMusicStreamingTranscodingBitrate" pattern="[0-9]*" min="1" />
|
|
||||||
<div class="fieldDescription">${LabelMusicStreamingTranscodingBitrateHelp}</div>
|
|
||||||
</div>
|
|
||||||
<br />
|
|
||||||
<div style="display:none;">
|
|
||||||
<label for="chkIgnoreTranscodeByteRangeRequests">${OptionIgnoreTranscodeByteRangeRequests}</label>
|
|
||||||
<input type="checkbox" id="chkIgnoreTranscodeByteRangeRequests" data-mini="true" />
|
|
||||||
<div class="fieldDescription">${OptionIgnoreTranscodeByteRangeRequestsHelp}</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div is="emby-collapse" title="${HeaderServerSettings}">
|
<div is="emby-collapse" title="${HeaderServerSettings}">
|
||||||
<div class="collapseContent">
|
<div class="collapseContent">
|
||||||
<p>${HeaderProfileServerSettingsHelp}</p>
|
<p>${HeaderProfileServerSettingsHelp}</p>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
define(['jQuery', 'fnchecked', 'jqmlistview'], function ($) {
|
define(['jQuery', 'fnchecked', 'jqmlistview', 'emby-select', 'emby-button', 'emby-input', 'emby-checkbox'], function ($) {
|
||||||
|
|
||||||
var currentProfile;
|
var currentProfile;
|
||||||
|
|
||||||
|
|
|
@ -699,7 +699,7 @@
|
||||||
coverImage: true,
|
coverImage: true,
|
||||||
lazy: true,
|
lazy: true,
|
||||||
showDetailsMenu: true,
|
showDetailsMenu: true,
|
||||||
centerText: true,
|
centerText: !supportsImageAnalysis,
|
||||||
overlayText: false,
|
overlayText: false,
|
||||||
overlayPlayButton: true,
|
overlayPlayButton: true,
|
||||||
allowBottomPadding: !enableScrollX(),
|
allowBottomPadding: !enableScrollX(),
|
||||||
|
|
|
@ -144,7 +144,7 @@
|
||||||
shape: "portrait",
|
shape: "portrait",
|
||||||
context: 'tv',
|
context: 'tv',
|
||||||
showTitle: true,
|
showTitle: true,
|
||||||
showYear: true,
|
showSeriesYear: true,
|
||||||
lazy: true,
|
lazy: true,
|
||||||
cardLayout: true,
|
cardLayout: true,
|
||||||
vibrant: supportsImageAnalysis
|
vibrant: supportsImageAnalysis
|
||||||
|
|
|
@ -1774,7 +1774,7 @@
|
||||||
"HeaderUnaired": "Unaired",
|
"HeaderUnaired": "Unaired",
|
||||||
"HeaderMissing": "Missing",
|
"HeaderMissing": "Missing",
|
||||||
"ButtonWebsite": "Website",
|
"ButtonWebsite": "Website",
|
||||||
"ValueSeriesYearToPresent": "{0}-Present",
|
"ValueSeriesYearToPresent": "{0} - Present",
|
||||||
"ValueAwards": "Awards: {0}",
|
"ValueAwards": "Awards: {0}",
|
||||||
"ValueBudget": "Budget: {0}",
|
"ValueBudget": "Budget: {0}",
|
||||||
"ValueRevenue": "Revenue: {0}",
|
"ValueRevenue": "Revenue: {0}",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue