normalize rating to fsk

This commit is contained in:
Luke Pulverenti 2016-09-18 01:52:10 -04:00
parent 1f57d9b231
commit 2971ec0e69
86 changed files with 388 additions and 136 deletions

View File

@ -27,7 +27,7 @@
<p id="btnInstallDiv" class="hide">
<button is="emby-button" type="submit" id="btnInstall" class="raised button-submit block">
<i class="md-icon">check</i><span>${Install}</span>
<span>${Install}</span>
</button>
</p>
<p id="nonServerMsg"></p>
@ -65,7 +65,6 @@
<input type="hidden" name="notify_url" value="https://mb3admin.com/admin/service/services/ppipn.php">
<input type="hidden" name="return" id="paypalReturnUrl" value="#">
<button is="emby-button" type="submit" id="ppButton" class="raised block button-submit" style="background-color: #179BD7;color:#fff;">
<i class="md-icon">check</i>
<span>${RegisterWithPayPal}</span>
</button>

View File

@ -154,7 +154,7 @@
<div class="fieldDescription checkboxFieldDescription">${LabelDeleteEmptyFoldersHelp}</div>
</div>
<div>
<button is="emby-button" type="submit" class="raised button-submit block"><i class="md-icon">check</i><span>${ButtonSave}</span></button>
<button is="emby-button" type="submit" class="raised button-submit block"><span>${ButtonSave}</span></button>
</div>
</form>

View File

@ -14,12 +14,12 @@
},
"devDependencies": {},
"ignore": [],
"version": "1.4.253",
"_release": "1.4.253",
"version": "1.4.254",
"_release": "1.4.254",
"_resolution": {
"type": "version",
"tag": "1.4.253",
"commit": "858cc490a36d41641aed43e556944f803d5f083a"
"tag": "1.4.254",
"commit": "261edde431045d80a709a5ac89a8307e7e012f31"
},
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
"_target": "^1.2.1",

View File

@ -4,10 +4,12 @@
padding: 0;
border: none;
max-height: 84%;
border-radius: 1px !important;
}
.actionsheet-fullscreen {
max-height: none;
border-radius: 0 !important;
}
.actionSheetContent-centered {

View File

@ -15,15 +15,15 @@ define(['dialog', 'globalize'], function (dialog, globalize) {
var items = [];
items.push({
name: globalize.translate('sharedcomponents#ButtonOk'),
id: 'ok',
type: 'submit'
name: options.cancelText || globalize.translate('sharedcomponents#ButtonCancel'),
id: 'cancel',
type: options.primary == 'cancel' ? 'submit' : 'cancel'
});
items.push({
name: globalize.translate('sharedcomponents#ButtonCancel'),
id: 'cancel',
type: 'cancel'
name: options.confirmText || globalize.translate('sharedcomponents#ButtonOk'),
id: 'ok',
type: options.primary == 'cancel' ? 'cancel' : 'submit'
});
options.buttons = items;

View File

@ -1,21 +1,5 @@
define(['dialogHelper', 'dom', 'layoutManager', 'scrollHelper', 'globalize', 'require', 'material-icons', 'emby-button', 'paper-icon-button-light', 'emby-input', 'formDialogStyle'], function (dialogHelper, dom, layoutManager, scrollHelper, globalize, require) {
function showTvDialog(options) {
return new Promise(function (resolve, reject) {
require(['actionsheet'], function (actionSheet) {
actionSheet.show({
title: options.text,
items: options.buttons,
timeout: options.timeout
}).then(resolve, reject);
});
});
}
function showDialog(options, template) {
var dialogOptions = {
@ -23,7 +7,9 @@ define(['dialogHelper', 'dom', 'layoutManager', 'scrollHelper', 'globalize', 're
scrollY: false
};
if (layoutManager.tv) {
var enableTvLayout = layoutManager.tv;
if (enableTvLayout) {
dialogOptions.size = 'fullscreen';
} else {
//dialogOptions.size = 'mini';
@ -35,10 +21,17 @@ define(['dialogHelper', 'dom', 'layoutManager', 'scrollHelper', 'globalize', 're
dlg.innerHTML = globalize.translateHtml(template, 'sharedcomponents');
if (layoutManager.tv) {
scrollHelper.centerFocus.on(dlg.querySelector('.formDialogContent'), false);
if (enableTvLayout) {
dlg.style['align-items'] = 'center';
dlg.style['justify-content'] = 'center';
var formDialogContent = dlg.querySelector('.formDialogContent');
formDialogContent.style['flex-grow'] = 'initial';
formDialogContent.style['max-width'] = '50%';
formDialogContent.style['max-height'] = '60%';
scrollHelper.centerFocus.on(formDialogContent, false);
} else {
dlg.querySelector('.dialogContentInner').classList.add('dialogContentInner-mini');
var minWidth = (Math.min(options.buttons.length * 150, dom.getWindowSize().innerWidth - 50));
dlg.style.maxWidth = (minWidth + 200) + 'px';
}
//dlg.querySelector('.btnCancel').addEventListener('click', function (e) {
@ -56,7 +49,7 @@ define(['dialogHelper', 'dom', 'layoutManager', 'scrollHelper', 'globalize', 're
var item = options.buttons[i];
var autoFocus = i == 0 ? ' autofocus' : '';
var buttonClass = 'btnOption raised block formDialogFooterItem';
var buttonClass = 'btnOption raised formDialogFooterItem formDialogFooterItem-autosize';
if (item.type) {
buttonClass += ' button-' + item.type;
@ -65,8 +58,6 @@ define(['dialogHelper', 'dom', 'layoutManager', 'scrollHelper', 'globalize', 're
html += '<button is="emby-button" type="button" class="' + buttonClass + '" data-id="' + item.id + '"' + autoFocus + '>' + item.name + '</button>';
}
dlg.style.minWidth = (Math.min(options.buttons.length * 150, dom.getWindowSize().innerWidth - 50)) + 'px';
dlg.querySelector('.formDialogFooter').innerHTML = html;
var dialogResult;
@ -82,7 +73,7 @@ define(['dialogHelper', 'dom', 'layoutManager', 'scrollHelper', 'globalize', 're
return dialogHelper.open(dlg).then(function () {
if (layoutManager.tv) {
if (enableTvLayout) {
scrollHelper.centerFocus.off(dlg.querySelector('.formDialogContent'), false);
}
@ -106,10 +97,6 @@ define(['dialogHelper', 'dom', 'layoutManager', 'scrollHelper', 'globalize', 're
options = text;
}
if (layoutManager.tv) {
return showTvDialog(options);
}
return new Promise(function (resolve, reject) {
require(['text!./dialog.template.html'], function (template) {
showDialog(options, template).then(resolve, reject);

View File

@ -1,16 +1,15 @@
<div class="formDialogHeader">
<h3 class="formDialogHeaderTitle" style="margin-left:.75em;"></h3>
<button is="paper-icon-button-light" class="btnCancel autoSize" tabindex="-1" style="visibility:hidden;"><i class="md-icon">&#xE5C4;</i></button>
<div class="formDialogHeader formDialogHeader-clear" style="justify-content:center;">
<h1 class="formDialogHeaderTitle" style="margin-left:0;margin-top: .5em;"></h1>
</div>
<div class="formDialogContent smoothScrollY">
<div class="dialogContentInner dialog-content-centered" style="padding-top:2em;">
<div class="dialogContentInner dialog-content-centered" style="padding-top:2em;padding-bottom: 2em; text-align: center;">
<div class="text">
</div>
<div class="formDialogFooter">
</div>
</div>
</div>
<div class="formDialogFooter formDialogFooter-clear formDialogFooter-flex" style="padding-bottom: 1.5em;">
</div>

View File

@ -13,7 +13,7 @@
.dialog {
margin: 0;
border-radius: 1px;
border-radius: 4px;
-webkit-font-smoothing: antialiased;
box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.4);
border: 0;

View File

@ -26,7 +26,6 @@
position: relative;
overflow: hidden;
font-weight: 500;
text-transform: uppercase;
/* Disable webkit tap highlighting */
-webkit-tap-highlight-color: rgba(0,0,0,0);
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);

View File

@ -15,6 +15,10 @@
background-color: #222326;
}
.formDialogHeader-clear, .formDialogFooter-clear {
background-color: transparent;
}
.formDialogHeaderTitle {
margin-left: .25em;
/* In case of h1, h2, h3 */
@ -57,6 +61,10 @@
flex-wrap: wrap;
}
.formDialogFooter-flex {
position: static;
}
.formDialogFooterItem {
margin-left: .5em !important;
margin-right: .5em !important;
@ -65,6 +73,13 @@
flex-basis: 0;
}
.formDialogFooterItem-autosize {
flex-basis: initial;
flex-grow: initial;
padding-left: 2em;
padding-right: 2em;
}
@media all and (min-width: 800px) {
.formDialogFooterItem {

View File

@ -192,7 +192,13 @@
require(['confirm'], function (confirm) {
confirm(globalize.translate('sharedcomponents#ConfirmDeleteImage')).then(afterConfirm);
confirm({
text: globalize.translate('sharedcomponents#ConfirmDeleteImage'),
confirmText: globalize.translate('sharedcomponents#Delete'),
primary: 'cancel'
}).then(afterConfirm);
});
}

View File

@ -37,10 +37,18 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'embyRouter',
}
if (item.CanDelete) {
commands.push({
name: globalize.translate('sharedcomponents#Delete'),
id: 'delete'
});
if (item.Type == 'Playlist' || item.Type == 'BoxSet') {
commands.push({
name: globalize.translate('sharedcomponents#Delete'),
id: 'delete'
});
} else {
commands.push({
name: globalize.translate('sharedcomponents#DeleteMedia'),
id: 'delete'
});
}
}
if (itemHelper.canEdit(user, item.Type)) {
@ -383,7 +391,7 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'embyRouter',
}
case 'delete':
{
deleteItem(apiClient, itemId).then(getResolveFunction(resolve, id, true, true), getResolveFunction(resolve, id));
deleteItem(apiClient, item).then(getResolveFunction(resolve, id, true, true), getResolveFunction(resolve, id));
break;
}
case 'share':
@ -550,16 +558,25 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'embyRouter',
});
}
function deleteItem(apiClient, itemId) {
function deleteItem(apiClient, item) {
return new Promise(function (resolve, reject) {
var itemId = item.Id;
var msg = globalize.translate('sharedcomponents#ConfirmDeleteItem');
var title = globalize.translate('sharedcomponents#HeaderDeleteItem');
require(['confirm'], function (confirm) {
confirm(msg, title).then(function () {
confirm({
title: title,
text: msg,
confirmText: globalize.translate('sharedcomponents#Delete'),
primary: 'cancel'
}).then(function () {
apiClient.deleteItem(itemId).then(function () {
resolve(true);

View File

@ -409,26 +409,18 @@
return;
}
var msg = globalize.translate('sharedcomponents#TheSelectedItemsWillBeGrouped');
loading.show();
require(['confirm'], function (confirm) {
apiClient.ajax({
confirm(msg, globalize.translate('sharedcomponents#GroupVersions')).then(function () {
type: "POST",
url: apiClient.getUrl("Videos/MergeVersions", { Ids: selection.join(',') })
loading.show();
}).then(function () {
apiClient.ajax({
type: "POST",
url: apiClient.getUrl("Videos/MergeVersions", { Ids: selection.join(',') })
}).then(function () {
loading.hide();
hideSelections();
dispatchNeedsRefresh();
});
});
loading.hide();
hideSelections();
dispatchNeedsRefresh();
});
}

View File

@ -12,7 +12,15 @@
require(['confirm'], function (confirm) {
confirm(globalize.translate('sharedcomponents#MessageConfirmRecordingCancellation'), globalize.translate('sharedcomponents#HeaderConfirmRecordingCancellation')).then(function () {
confirm({
title: globalize.translate('sharedcomponents#HeaderConfirmRecordingCancellation'),
text: globalize.translate('sharedcomponents#MessageConfirmRecordingCancellation'),
confirmText: globalize.translate('sharedcomponents#HeaderCancelRecording'),
cancelText: globalize.translate('sharedcomponents#HeaderKeepRecording'),
primary: 'cancel'
}).then(function () {
loading.show();

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"HeaderLearnMore": "Learn More",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Special - {0}",
"Share": "Share",
"Add": "Add",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"HeaderLearnMore": "Learn More",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Special - {0}",
"Share": "Share",
"Add": "\u0414\u043e\u0431\u0430\u0432\u0438",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"HeaderLearnMore": "Learn More",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Special - {0}",
"Share": "Share",
"Add": "Afegeix",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"HeaderLearnMore": "Learn More",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Special - {0}",
"Share": "Share",
"Add": "P\u0159idat",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"HeaderLearnMore": "Learn More",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Special - {0}",
"Share": "Del",
"Add": "Tilf\u00f8j",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Konvertiere Aufnahmen automatisch in ein Streaming-freundliches Format mit Emby Premiere. Aufnahmen werden, basierend auf den Emby Server-Einstellungen, dynamisch zu MP4 oder MKV konvertiert.",
"HeaderConvertYourRecordings": "Konvertiere deine Aufnahmen",
"HeaderLearnMore": "Erfahre mehr",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Special - {0}",
"Share": "Teilen",
"Add": "Hinzuf\u00fcgen",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"HeaderLearnMore": "Learn More",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Special - {0}",
"Share": "Share",
"Add": "\u03a0\u03c1\u03cc\u03c3\u03b8\u03b5\u03c3\u03b5",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"HeaderLearnMore": "Learn More",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Special - {0}",
"Share": "Share",
"Add": "Add",
@ -64,7 +69,7 @@
"NewCollection": "New Collection",
"LabelCollection": "Collection:",
"Help": "Help",
"NewCollectionHelp": "Collections allow you to create personalized groupings of movies and other library content.",
"NewCollectionHelp": "Collections allow you to create personalised groupings of movies and other library content.",
"SearchForCollectionInternetMetadata": "Search the internet for artwork and metadata",
"LabelName": "Name:",
"NewCollectionNameExample": "Example: Star Wars Collection",
@ -94,7 +99,7 @@
"HeaderSaySomethingLike": "Say Something Like...",
"ButtonTryAgain": "Try Again",
"HeaderYouSaid": "You Said...",
"MessageWeDidntRecognizeCommand": "We're sorry, we didn't recognize that command.",
"MessageWeDidntRecognizeCommand": "We're sorry, we didn't recognise that command.",
"MessageIfYouBlockedVoice": "If you denied voice access to the app you'll need to reconfigure before trying again.",
"ValueDiscNumber": "Disc {0}",
"Unrated": "Unrated",
@ -205,7 +210,7 @@
"Continuing": "Continuing",
"Ended": "Ended",
"HeaderEnabledFields": "Enabled Fields",
"HeaderEnabledFieldsHelp": "Uncheck a field to lock it and prevent it's data from being changed.",
"HeaderEnabledFieldsHelp": "Uncheck a field to lock it and prevent its data from being changed.",
"Backdrops": "Backdrops",
"Images": "Images",
"Keywords": "Keywords",
@ -245,7 +250,7 @@
"ValueMusicVideoCount": "{0} music videos",
"ValueMinutes": "{0} min",
"HeaderIdentifyItemHelp": "Enter one or more search criteria. Remove criteria to increase search results.",
"PleaseEnterNameOrId": "Please enter a name or an external Id.",
"PleaseEnterNameOrId": "Please enter a name or an external ID.",
"MessageItemSaved": "Item saved.",
"SearchResults": "Search Results",
"SyncToOtherDevice": "Sync to other device",
@ -279,7 +284,7 @@
"Settings": "Settings",
"ShowIndicatorsFor": "Show indicators for:",
"NewEpisodes": "New episodes",
"HDPrograms": "HD programs",
"HDPrograms": "HD programmes",
"LiveBroadcasts": "Live broadcasts",
"Premieres": "Premieres",
"RepeatEpisodes": "Repeat episodes",

View File

@ -48,7 +48,7 @@
"MessageActiveSubscriptionRequiredSeriesRecordings": "An active Emby Premiere subscription is required in order to create automated series recordings.",
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
"FeatureRequiresEmbyPremiere": "This feature requires an active Emby Premiere subscription.",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"Record": "Record",
"Save": "Save",
"Edit": "Edit",
@ -124,7 +124,6 @@
"MarkUnplayed": "Mark unplayed",
"GroupVersions": "Group versions",
"PleaseSelectTwoItems": "Please select at least two items.",
"TheSelectedItemsWillBeGrouped": "The selected videos will be grouped into one virtual item. Emby apps will automatically choose which version to play based on device and network performance. Are you sure you wish to continue?",
"TryMultiSelect": "Try Multi-Select",
"TryMultiSelectMessage": "To edit multiple media items, just click and hold any poster and select the items you want to manage. Try it!",
"HeaderConfirmRecordingCancellation": "Confirm Recording Cancellation",
@ -285,5 +284,7 @@
"RepeatEpisodes": "Repeat episodes",
"DvrSubscriptionRequired": "Emby DVR requires an active Emby Premiere subscription.",
"HeaderCancelRecording": "Cancel Recording",
"HeaderLearnMore": "Learn More"
"HeaderKeepRecording": "Keep Recording",
"HeaderLearnMore": "Learn More",
"DeleteMedia": "Delete media"
}

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"HeaderLearnMore": "Learn More",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Special - {0}",
"Share": "Share",
"Add": "Add",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"HeaderLearnMore": "Learn More",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Especial - {0}",
"Share": "Compartir",
"Add": "Agregar",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"HeaderLearnMore": "Learn More",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Special - {0}",
"Share": "Compartir",
"Add": "A\u00f1adir",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"HeaderLearnMore": "Learn More",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Special - {0}",
"Share": "Share",
"Add": "Add",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"HeaderLearnMore": "Learn More",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Special - {0}",
"Share": "Share",
"Add": "Add",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"HeaderLearnMore": "Learn More",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Sp\u00e9cial - {0}",
"Share": "Partager",
"Add": "Ajouter",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"HeaderLearnMore": "Learn More",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Special - {0}",
"Share": "Share",
"Add": "Add",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"HeaderLearnMore": "Learn More",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Special - {0}",
"Share": "Share",
"Add": "\u05d4\u05d5\u05e1\u05e3",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"HeaderLearnMore": "Learn More",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Special - {0}",
"Share": "Share",
"Add": "Dodaj",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"HeaderLearnMore": "Learn More",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Special - {0}",
"Share": "Megoszt\u00e1s",
"Add": "Hozz\u00e1ad",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"HeaderLearnMore": "Learn More",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Special - {0}",
"Share": "Share",
"Add": "Add",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"HeaderLearnMore": "Learn More",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Special - {0}",
"Share": "Share",
"Add": "Aggiungi",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Emby Premiere \u0430\u0440\u049b\u044b\u043b\u044b \u0442\u0430\u0441\u044b\u043c\u0430\u043b\u0434\u0430\u0443\u0493\u0430 \u043e\u04a3\u0430\u0439 \u043f\u0456\u0448\u0456\u043d\u0434\u0435 \u0436\u0430\u0437\u0431\u0430\u043b\u0430\u0440\u0434\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0442\u044b \u0442\u04af\u0440\u0434\u0435 \u0442\u04af\u0440\u043b\u0435\u043d\u0434\u0456\u0440\u0443. \u0416\u0430\u0437\u0431\u0430\u043b\u0430\u0440 Emby Server \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043b\u0435\u0440\u0456 \u043d\u0435\u0433\u0456\u0437\u0456\u043d\u0434\u0435, \u043d\u0430\u049b\u0442\u044b \u0443\u0430\u049b\u044b\u0442\u0442\u0430 MP4 \u043d\u0435\u043c\u0435\u0441\u0435 MKV \u043f\u0456\u0448\u0456\u043c\u0456\u043d\u0435 \u0442\u04af\u0440\u043b\u0435\u043d\u0434\u0456\u0440\u0456\u043b\u0435\u0434\u0456.",
"HeaderConvertYourRecordings": "\u0416\u0430\u0437\u0431\u0430\u043b\u0430\u0440\u044b\u04a3\u044b\u0437\u0434\u044b \u0442\u04af\u0440\u043b\u0435\u043d\u0434\u0456\u0440\u0443",
"HeaderLearnMore": "\u041a\u04e9\u0431\u0456\u0440\u0435\u043a \u0431\u0456\u043b\u0443",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "\u0410\u0440\u043d\u0430\u0439\u044b - {0}",
"Share": "\u041e\u0440\u0442\u0430\u049b\u0442\u0430\u0441\u0443",
"Add": "\u04ae\u0441\u0442\u0435\u0443",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"HeaderLearnMore": "Learn More",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Special - {0}",
"Share": "Share",
"Add": "\ucd94\uac00",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"HeaderLearnMore": "Learn More",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Special - {0}",
"Share": "Share",
"Add": "Add",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"HeaderLearnMore": "Learn More",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Spesial - {0}",
"Share": "Del",
"Add": "Legg til",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"HeaderLearnMore": "Learn More",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Speciaal - {0}",
"Share": "Delen",
"Add": "Toevoegen",
@ -13,7 +18,7 @@
"ValueSeriesYearToPresent": "{0}-Heden",
"ReleaseYearValue": "Jaar van uitgifte: {0}",
"OriginalAirDateValue": "Originele uitzenddatum: {0}",
"EndsAtValue": "Eindigt om: {0}",
"EndsAtValue": "Eindigt om {0}",
"OptionSundayShort": "Zo",
"OptionMondayShort": "Ma",
"OptionTuesdayShort": "Di",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"HeaderLearnMore": "Learn More",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Special - {0}",
"Share": "Share",
"Add": "Dodaj",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Converter automaticamente grava\u00e7\u00f5es para um formato amig\u00e1vel para streaming com Emby Premiere. Grava\u00e7\u00f5es ser\u00e3o convertidas em tempo real para MP4 ou MKV, baseado nas configura\u00e7\u00f5es do Servidor Emby.",
"HeaderConvertYourRecordings": "Converter suas Grava\u00e7\u00f5es",
"HeaderLearnMore": "Saiba Mais",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Especial - {0}",
"Share": "Compartilhar",
"Add": "Adicionar",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"HeaderLearnMore": "Learn More",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Especial - {0}",
"Share": "Partilhar",
"Add": "Adicionar",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"HeaderLearnMore": "Learn More",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Special - {0}",
"Share": "Share",
"Add": "Add",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0432 \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0434\u043b\u044f \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u0438 \u0444\u043e\u0440\u043c\u0430\u0442 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Emby Premiere. \u0417\u0430\u043f\u0438\u0441\u0438 \u0431\u0443\u0434\u0443\u0442 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0432 MP4 \u0438\u043b\u0438 MKV, \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 Emby Server.",
"HeaderConvertYourRecordings": "\u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u0430\u0448\u0438\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439",
"HeaderLearnMore": "\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435...",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "\u0421\u043f\u0435\u0446\u044d\u043f\u0438\u0437\u043e\u0434 - {0}",
"Share": "\u041f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f",
"Add": "\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"HeaderLearnMore": "Learn More",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Special - {0}",
"Share": "Share",
"Add": "Add",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"HeaderLearnMore": "Learn More",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Special - {0}",
"Share": "Share",
"Add": "Add",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"HeaderLearnMore": "Learn More",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Specialavsnitt - {0}",
"Share": "Dela",
"Add": "L\u00e4gg till",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"HeaderLearnMore": "Learn More",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Special - {0}",
"Share": "Share",
"Add": "Ekle",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"HeaderLearnMore": "Learn More",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Special - {0}",
"Share": "Share",
"Add": "Add",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"HeaderLearnMore": "Learn More",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Special - {0}",
"Share": "Share",
"Add": "Th\u00eam",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"HeaderLearnMore": "Learn More",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Special - {0}",
"Share": "Share",
"Add": "\u6dfb\u52a0",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"HeaderLearnMore": "Learn More",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Special - {0}",
"Share": "Share",
"Add": "\u65b0\u589e",

View File

@ -1,4 +1,9 @@
{
"PromoConvertRecordingsToStreamingFormat": "Automatically convert recordings to a streaming friendly format with Emby Premiere. Recordings will be converted on the fly to MP4 or MKV, based on Emby server settings.",
"HeaderConvertYourRecordings": "Convert Your Recordings",
"HeaderLearnMore": "Learn More",
"HeaderKeepRecording": "Keep Recording",
"DeleteMedia": "Delete media",
"ValueSpecialEpisodeName": "Special - {0}",
"Share": "\u5206\u4eab",
"Add": "\u6dfb\u52a0",

View File

@ -68,7 +68,14 @@
require(['confirm'], function (confirm) {
confirm(msg, globalize.translate('sharedcomponents#ConfirmDeletion')).then(function () {
confirm({
title: globalize.translate('sharedcomponents#ConfirmDeletion'),
text: msg,
confirmText: globalize.translate('sharedcomponents#Delete'),
primary: 'cancel'
}).then(function () {
loading.show();

View File

@ -1,6 +1,6 @@
{
"name": "requirejs",
"version": "2.3.1",
"version": "2.3.2",
"ignore": [],
"homepage": "http://requirejs.org",
"authors": [
@ -14,11 +14,11 @@
"license": [
"MIT"
],
"_release": "2.3.1",
"_release": "2.3.2",
"_resolution": {
"type": "version",
"tag": "2.3.1",
"commit": "94785e8633448b668f292009fd2c31e3338a0074"
"tag": "2.3.2",
"commit": "5b5d3ea2c754898b645cfeaa8871bb92ba4f2790"
},
"_source": "https://github.com/jrburke/requirejs-bower.git",
"_target": "^2.1.22",

View File

@ -1,6 +1,6 @@
{
"name": "requirejs",
"version": "2.3.1",
"version": "2.3.2",
"ignore": [],
"homepage": "http://requirejs.org",
"authors": [

View File

@ -1,5 +1,5 @@
/** vim: et:ts=4:sw=4:sts=4
* @license RequireJS 2.3.1 Copyright jQuery Foundation and other contributors.
* @license RequireJS 2.3.2 Copyright jQuery Foundation and other contributors.
* Released under MIT license, https://github.com/requirejs/requirejs/blob/master/LICENSE
*/
//Not using strict: uneven strict support in browsers, #392, and causes
@ -11,7 +11,7 @@ var requirejs, require, define;
(function (global, setTimeout) {
var req, s, head, baseElement, dataMain, src,
interactiveScript, currentlyAddingScript, mainScript, subPath,
version = '2.3.1',
version = '2.3.2',
commentRegExp = /\/\*[\s\S]*?\*\/|([^:"'=]|^)\/\/.*$/mg,
cjsRequireRegExp = /[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,
jsSuffixRegExp = /\.js$/,
@ -2139,4 +2139,4 @@ var requirejs, require, define;
//Set up with config info.
req(cfg);
}(this, setTimeout));
}(this, (typeof setTimeout === 'undefined' ? undefined : setTimeout)));

View File

@ -6,10 +6,15 @@
z-index: 1;
bottom: 0;
transition: transform 180ms linear;
contain: layout style;
}
.appfooter.headroom--unpinned {
transform: translateY(100%);
}
.appfooter-blurred {
background: rgba(28,28,28,.92);
-webkit-backdrop-filter: blur(5px);
backdrop-filter: blur(5px);
}
.appfooter.headroom--unpinned {
transform: translateY(100%);
}

View File

@ -1,4 +1,4 @@
define(['css!./appfooter'], function () {
define(['browser', 'css!./appfooter'], function (browser) {
function render(options) {
@ -6,6 +6,10 @@
elem.classList.add('appfooter');
if (browser.safari) {
elem.classList.add('appfooter-blurred');
}
document.body.appendChild(elem);
return elem;

View File

@ -39,6 +39,9 @@
case 'manageserver':
Dashboard.navigate('dashboard.html');
break;
case 'remotecontrol':
Dashboard.navigate('nowplaying.html');
break;
case 'sync':
Dashboard.navigate('mysync.html');
break;
@ -115,6 +118,11 @@
});
}
commands.push({
name: globalize.translate('ButtonRemoteControl'),
id: 'remotecontrol'
});
if (Dashboard.isConnectMode()) {
commands.push({
name: globalize.translate('HeaderSelectServer'),

View File

@ -42,7 +42,6 @@
</label>
<br />
<button is="emby-button" type="submit" class="raised submit block">
<i class="md-icon">check</i>
<span>${ButtonOk}</span>
</button>
<input id="hfResultId" type="hidden" />

View File

@ -28,7 +28,6 @@
</select>
</div>
<button is="emby-button" type="submit" class="raised submit block">
<i class="md-icon">check</i>
<span>${ButtonUpload}</span>
</button>
</div>

View File

@ -34,7 +34,14 @@
require(['confirm'], function (confirm) {
confirm(Globalize.translate('MessageConfirmRemoveMediaLocation'), Globalize.translate('HeaderRemoveMediaLocation')).then(function () {
confirm({
title: Globalize.translate('HeaderRemoveMediaLocation'),
text: Globalize.translate('MessageConfirmRemoveMediaLocation'),
confirmText: Globalize.translate('sharedcomponents#ButtonDelete'),
primary: 'cancel'
}).then(function () {
var refreshAfterChange = currentOptions.refresh;

View File

@ -21,7 +21,7 @@
<input is="emby-input" class="txtPass" label="${LabelPassword}" required="required" autocomplete="off" type="password"/>
</div>
<div>
<button is="emby-button" type="submit" class="raised button-submit block"><i class="md-icon">check</i><span>${ButtonSave}</span></button>
<button is="emby-button" type="submit" class="raised button-submit block"><span>${ButtonSave}</span></button>
</div>
</div>
</form>
@ -62,8 +62,8 @@
</div>
<br />
<div>
<button is="emby-button" type="submit" class="raised button-submit block btnSubmitListingsContainer btnSubmitListings hide"><i class="md-icon">check</i><span>${ButtonSave}</span></button>
<button is="emby-button" type="button" class="raised button-cancel block btnCancel hide" onclick="history.back();"><i class="md-icon">close</i><span>${ButtonCancel}</span></button>
<button is="emby-button" type="submit" class="raised button-submit block btnSubmitListingsContainer btnSubmitListings hide"><span>${ButtonSave}</span></button>
<button is="emby-button" type="button" class="raised button-cancel block btnCancel hide" onclick="history.back();"><span>${ButtonCancel}</span></button>
</div>
</div>
</form>

View File

@ -45,7 +45,7 @@
<a class="lnkPremiere" href="https://emby.media/premiere">${ButtonLearnMore}</a>
</div><br />
<div>
<button is="emby-button" type="submit" class="raised button-submit block btnSubmitListings hide"><i class="md-icon">check</i><span>${ButtonSave}</span></button>
<button is="emby-button" type="button" class="raised button-cancel block btnCancel hide" onclick="history.back();"><i class="md-icon">close</i><span>${ButtonCancel}</span></button>
<button is="emby-button" type="submit" class="raised button-submit block btnSubmitListings hide"><span>${ButtonSave}</span></button>
<button is="emby-button" type="button" class="raised button-cancel block btnCancel hide" onclick="history.back();"><span>${ButtonCancel}</span></button>
</div>
</form>

View File

@ -62,11 +62,9 @@
<br />
<button is="emby-button" type="submit" class="raised button-submit block">
<i class="md-icon">check</i>
<span>${ButtonConnect}</span>
</button>
<button is="emby-button" type="button" class="raised button-cancel block btnCancelManualServer">
<i class="md-icon">close</i>
<span>${ButtonCancel}</span>
</button>
</form>

View File

@ -23,7 +23,7 @@
<div class="fieldDescription">${LabelCameraUploadPathHelp}</div>
</div>
<div>
<button is="emby-button" type="submit" class="raised button-submit block"><i class="md-icon">check</i><span>${ButtonSave}</span></button>
<button is="emby-button" type="submit" class="raised button-submit block"><span>${ButtonSave}</span></button>
</div>
</form>

View File

@ -329,10 +329,10 @@
<br />
<div>
<button is="emby-button" type="submit" class="raised button-submit block">
<i class="md-icon">check</i><span>${ButtonSave}</span>
<span>${ButtonSave}</span>
</button>
<button is="emby-button" type="button" class="button-cancel raised block" onclick="Dashboard.navigate('dlnaprofiles.html');">
<i class="md-icon">close</i><span>${ButtonCancel}</span>
<span>${ButtonCancel}</span>
</button>
</div>

View File

@ -14,12 +14,10 @@
<div>
<button is="emby-button" type="submit" class="raised submit block">
<i class="md-icon">check</i>
<span>${ButtonSubmit}</span>
</button>
<button is="emby-button" type="button" class="raised cancel block btnCancel" onclick="history.back();">
<i class="md-icon">close</i>
<span>${ButtonCancel}</span>
</button>
</div>

View File

@ -13,12 +13,10 @@
<div>
<button is="emby-button" type="submit" class="raised submit block">
<i class="md-icon">check</i>
<span>${ButtonSubmit}</span>
</button>
<button is="emby-button" type="button" class="raised cancel block btnCancel" onclick="history.back();">
<i class="md-icon">close</i>
<span>${ButtonCancel}</span>
</button>
</div>

View File

@ -36,8 +36,8 @@
<div class="detailUserDataIcons userDataIcons"></div>
</div>
<div class="syncLocalContainer hide" style="margin-top:1em; display: inline-flex; padding: 0 .5em;">
<label class="checkboxContainer" style="margin:0;">
<input type="checkbox" is="emby-checkbox" class="chkOffline" />
<label class="toggleContainer" style="margin:0;">
<input type="checkbox" is="emby-toggle" class="chkOffline" />
<span>${MakeAvailableOffline}</span>
</label>
</div>

View File

@ -68,9 +68,9 @@
</div>
<div class="hide">
<button is="emby-button" type="submit" class="raised submit block btnSubmit"><i class="md-icon">check</i><span>${ButtonSave}</span></button>
<button is="emby-button" type="submit" class="raised submit block btnSubmit"><span>${ButtonSave}</span></button>
<button is="emby-button" type="button" class="raised cancel block btnCancel" onclick="history.back();"><i class="md-icon">close</i><span>${ButtonCancel}</span></button>
<button is="emby-button" type="button" class="raised cancel block btnCancel" onclick="history.back();"><span>${ButtonCancel}</span></button>
</div>
</form>
<div class="scheduleTab"></div>

View File

@ -95,7 +95,7 @@
</div>
<br />
<div>
<button is="emby-button" type="submit" class="raised button-submit block"><i class="md-icon">check</i><span>${ButtonSave}</span></button>
<button is="emby-button" type="submit" class="raised button-submit block"><span>${ButtonSave}</span></button>
</div>
</form>
</div>

View File

@ -15,8 +15,8 @@
</div>
</div>
<div>
<button is="emby-button" type="submit" class="raised button-submit block"><i class="md-icon">check</i><span>${ButtonSave}</span></button>
<button is="emby-button" type="button" class="raised button-cancel block btnCancel" onclick="history.back();"><i class="md-icon">close</i><span>${ButtonCancel}</span></button>
<button is="emby-button" type="submit" class="raised button-submit block"><span>${ButtonSave}</span></button>
<button is="emby-button" type="button" class="raised button-cancel block btnCancel" onclick="history.back();"><span>${ButtonCancel}</span></button>
</div>
</form>
</div>

View File

@ -63,8 +63,8 @@
</div>
<br />
<div>
<button is="emby-button" type="submit" class="raised submit block"><i class="md-icon">check</i><span>${ButtonSave}</span></button>
<button is="emby-button" type="button" class="raised cancel block btnCancel" onclick="history.back();"><i class="md-icon">close</i><span>${ButtonCancel}</span></button>
<button is="emby-button" type="submit" class="raised submit block"><span>${ButtonSave}</span></button>
<button is="emby-button" type="button" class="raised cancel block btnCancel" onclick="history.back();"><span>${ButtonCancel}</span></button>
</div>
</div>
</form>

View File

@ -28,7 +28,7 @@
</div>
<br />
<div>
<button is="emby-button" type="submit" class="raised button-submit block"><i class="md-icon">check</i><span>${ButtonSave}</span></button>
<button is="emby-button" type="submit" class="raised button-submit block"><span>${ButtonSave}</span></button>
</div>
</form>
</div>

View File

@ -87,7 +87,7 @@
<br />
<br />
<div><button is="emby-button" type="submit" class="raised button-submit block"><i class="md-icon">check</i><span>${ButtonSave}</span></button></div>
<div><button is="emby-button" type="submit" class="raised button-submit block"><span>${ButtonSave}</span></button></div>
</form>
</div>

View File

@ -42,7 +42,7 @@
</label>
<div class="fieldDescription checkboxFieldDescription">${LabelKodiMetadataEnableExtraThumbsHelp}</div>
</div>
<div><button is="emby-button" type="submit" class="raised button-submit block"><i class="md-icon">check</i><span>${ButtonSave}</span></button></div>
<div><button is="emby-button" type="submit" class="raised button-submit block"><span>${ButtonSave}</span></button></div>
</form>
</div>

View File

@ -88,7 +88,6 @@
</div>
</div>
<button is="emby-button" type="submit" class="raised button-submit block btnSave hide">
<i class="md-icon">check</i>
<span>${ButtonSave}</span>
</button>
</form>

View File

@ -112,7 +112,6 @@
</div>
<button is="emby-button" type="submit" class="raised button-submit block btnSave hide">
<i class="md-icon">check</i>
<span>${ButtonSave}</span>
</button>
</form>

View File

@ -95,7 +95,6 @@
</div>
<button is="emby-button" type="submit" class="raised button-submit block btnSave hide">
<i class="md-icon">check</i>
<span>${ButtonSave}</span>
</button>
</form>

View File

@ -61,7 +61,7 @@
<input is="emby-input" type="password" id="txtNewPasswordConfirm" label="${LabelNewPasswordConfirm}" autocomplete="off" />
</div>
<div>
<button is="emby-button" type="submit" class="raised button-submit block"><i class="md-icon">check</i><span>${ButtonSave}</span></button>
<button is="emby-button" type="submit" class="raised button-submit block"><span>${ButtonSave}</span></button>
<button is="emby-button" type="button" id="btnResetPassword" class="raised cancel block hide">
<i class="md-icon">lock</i>
<span>${ButtonResetPassword}</span>

View File

@ -1016,7 +1016,14 @@
require(['confirm'], function (confirm) {
confirm(Globalize.translate('MessageConfirmRestart'), Globalize.translate('HeaderRestart')).then(function () {
confirm({
title: Globalize.translate('HeaderRestart'),
text: Globalize.translate('MessageConfirmRestart'),
confirmText: Globalize.translate('ButtonRestart'),
primary: 'cancel'
}).then(function () {
$('#btnRestartServer').buttonEnabled(false);
$('#btnShutdown').buttonEnabled(false);
@ -1029,7 +1036,14 @@
require(['confirm'], function (confirm) {
confirm(Globalize.translate('MessageConfirmShutdown'), Globalize.translate('HeaderShutdown')).then(function () {
confirm({
title: Globalize.translate('HeaderShutdown'),
text: Globalize.translate('MessageConfirmShutdown'),
confirmText: Globalize.translate('ButtonShutdown'),
primary: 'cancel'
}).then(function () {
$('#btnRestartServer').buttonEnabled(false);
$('#btnShutdown').buttonEnabled(false);

View File

@ -1,4 +1,4 @@
define(['layoutManager', 'cardBuilder', 'datetime', 'mediaInfo', 'backdrop', 'listView', 'itemContextMenu', 'itemHelper', 'userdataButtons', 'dom', 'indicators', 'apphost', 'scrollStyles', 'emby-itemscontainer', 'emby-checkbox'], function (layoutManager, cardBuilder, datetime, mediaInfo, backdrop, listView, itemContextMenu, itemHelper, userdataButtons, dom, indicators, appHost) {
define(['layoutManager', 'cardBuilder', 'datetime', 'mediaInfo', 'backdrop', 'listView', 'itemContextMenu', 'itemHelper', 'userdataButtons', 'dom', 'indicators', 'apphost', 'scrollStyles', 'emby-itemscontainer', 'emby-checkbox', 'emby-toggle'], function (layoutManager, cardBuilder, datetime, mediaInfo, backdrop, listView, itemContextMenu, itemHelper, userdataButtons, dom, indicators, appHost) {
var currentItem;

View File

@ -24,7 +24,6 @@
<div class="addServer" style="margin:0 0 1em;">
<a href="connectlogin.html?mode=manualserver" class="clearLink">
<button is="emby-button" type="button" class="raised cancel block">
<i class="md-icon">add</i>
<span>${ButtonAddServer}</span>
</button>
</a>
@ -33,7 +32,6 @@
<div class="connectLogin hide" style="margin:1em 0;">
<a href="connectlogin.html?mode=connect" class="clearLink">
<button is="emby-button" type="button" class="raised button-accent block">
<i class="md-icon">check</i>
<span>${ButtonSignInWithConnect}</span>
</button>
</a>