1
0
Fork 0
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:
Luke Pulverenti 2016-10-11 17:33:38 -04:00
parent 8bf645c346
commit a511a2fa84
10 changed files with 89 additions and 108 deletions

View file

@ -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",

View file

@ -292,8 +292,9 @@ button {
margin-right: 2em; margin-right: 2em;
} }
.cardCenteredText { .cardDefaultText {
white-space: normal; white-space: normal;
text-align: center;
} }
.textActionButton { .textActionButton {

View file

@ -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;
} }
@ -958,9 +958,14 @@ define(['datetime', 'imageLoader', 'connectionManager', 'itemHelper', 'mediaInfo
lines.push(globalize.translate('sharedcomponents#SeriesYearToPresent', item.ProductionYear || '')); lines.push(globalize.translate('sharedcomponents#SeriesYearToPresent', item.ProductionYear || ''));
} else {
if (item.EndDate && item.ProductionYear) {
lines.push(item.ProductionYear + ' - ' + datetime.parseISO8601Date(item.EndDate).getFullYear());
} else { } else {
lines.push(item.ProductionYear || ''); 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';

View file

@ -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 {

View file

@ -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>

View file

@ -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;

View file

@ -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(),

View file

@ -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