commit
a3dfa05f25
@ -0,0 +1,9 @@
|
||||
language: csharp
|
||||
solution: src/NzbDrone.sln
|
||||
script: # the following commands are just examples, use whatever your build process requires
|
||||
- ./build.sh
|
||||
- chmod +x test.sh
|
||||
# - ./test.sh Linux Unit Takes far too long, maybe even crashes travis :/
|
||||
install:
|
||||
- sudo apt-get install nodejs
|
||||
- sudo apt-get install npm
|
Binary file not shown.
@ -0,0 +1,11 @@
|
||||
namespace NzbDrone.Core.IndexerSearch.Definitions
|
||||
{
|
||||
public class MovieSearchCriteria : SearchCriteriaBase
|
||||
{
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return string.Format("[{0}]", Movie.Title);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using NzbDrone.Core.Tv;
|
||||
|
||||
namespace NzbDrone.Core.Parser.Model
|
||||
{
|
||||
public class RemoteMovie
|
||||
{
|
||||
public ReleaseInfo Release { get; set; }
|
||||
public ParsedEpisodeInfo ParsedEpisodeInfo { get; set; } //TODO: Change to ParsedMovieInfo, for now though ParsedEpisodeInfo will do.
|
||||
public Movie Movie { get; set; }
|
||||
public bool DownloadAllowed { get; set; }
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return Release.Title;
|
||||
}
|
||||
}
|
||||
}
|
Binary file not shown.
@ -0,0 +1,35 @@
|
||||
var $ = require('jquery');
|
||||
var vent = require('vent');
|
||||
var Marionette = require('marionette');
|
||||
var NzbDroneCell = require('../../Cells/NzbDroneCell');
|
||||
|
||||
module.exports = NzbDroneCell.extend({
|
||||
className : 'episode-actions-cell',
|
||||
|
||||
events : {
|
||||
'click .x-failed' : '_markAsFailed'
|
||||
},
|
||||
|
||||
render : function() {
|
||||
this.$el.empty();
|
||||
|
||||
if (this.model.get('eventType') === 'grabbed') {
|
||||
this.$el.html('<i class="icon-sonarr-delete x-failed" title="Mark download as failed"></i>');
|
||||
}
|
||||
|
||||
return this;
|
||||
},
|
||||
|
||||
_markAsFailed : function() {
|
||||
var url = window.NzbDrone.ApiRoot + '/history/failed';
|
||||
var data = {
|
||||
id : this.model.get('id')
|
||||
};
|
||||
|
||||
$.ajax({
|
||||
url : url,
|
||||
type : 'POST',
|
||||
data : data
|
||||
});
|
||||
}
|
||||
});
|
@ -0,0 +1,28 @@
|
||||
var $ = require('jquery');
|
||||
var vent = require('vent');
|
||||
var Marionette = require('marionette');
|
||||
var NzbDroneCell = require('../../Cells/NzbDroneCell');
|
||||
var HistoryDetailsView = require('../../Activity/History/Details/HistoryDetailsView');
|
||||
require('bootstrap');
|
||||
|
||||
module.exports = NzbDroneCell.extend({
|
||||
className : 'episode-history-details-cell',
|
||||
|
||||
render : function() {
|
||||
this.$el.empty();
|
||||
this.$el.html('<i class="icon-sonarr-form-info"></i>');
|
||||
|
||||
var html = new HistoryDetailsView({ model : this.model }).render().$el;
|
||||
|
||||
this.$el.popover({
|
||||
content : html,
|
||||
html : true,
|
||||
trigger : 'hover',
|
||||
title : 'Details',
|
||||
placement : 'left',
|
||||
container : this.$el
|
||||
});
|
||||
|
||||
return this;
|
||||
}
|
||||
});
|
@ -0,0 +1,83 @@
|
||||
var Marionette = require('marionette');
|
||||
var Backgrid = require('backgrid');
|
||||
var HistoryCollection = require('../../Activity/History/HistoryCollection');
|
||||
var EventTypeCell = require('../../Cells/EventTypeCell');
|
||||
var QualityCell = require('../../Cells/QualityCell');
|
||||
var RelativeDateCell = require('../../Cells/RelativeDateCell');
|
||||
var EpisodeHistoryActionsCell = require('./MovieHistoryActionsCell');
|
||||
var EpisodeHistoryDetailsCell = require('./MovieHistoryDetailsCell');
|
||||
var NoHistoryView = require('./NoHistoryView');
|
||||
var LoadingView = require('../../Shared/LoadingView');
|
||||
|
||||
module.exports = Marionette.Layout.extend({
|
||||
template : 'Movies/History/MovieHistoryLayoutTemplate',
|
||||
|
||||
regions : {
|
||||
historyTable : '.history-table'
|
||||
},
|
||||
|
||||
columns : [
|
||||
{
|
||||
name : 'eventType',
|
||||
label : '',
|
||||
cell : EventTypeCell,
|
||||
cellValue : 'this'
|
||||
},
|
||||
{
|
||||
name : 'sourceTitle',
|
||||
label : 'Source Title',
|
||||
cell : 'string'
|
||||
},
|
||||
{
|
||||
name : 'quality',
|
||||
label : 'Quality',
|
||||
cell : QualityCell
|
||||
},
|
||||
{
|
||||
name : 'date',
|
||||
label : 'Date',
|
||||
cell : RelativeDateCell
|
||||
},
|
||||
{
|
||||
name : 'this',
|
||||
label : '',
|
||||
cell : EpisodeHistoryDetailsCell,
|
||||
sortable : false
|
||||
},
|
||||
{
|
||||
name : 'this',
|
||||
label : '',
|
||||
cell : EpisodeHistoryActionsCell,
|
||||
sortable : false
|
||||
}
|
||||
],
|
||||
|
||||
initialize : function(options) {
|
||||
this.model = options.model;
|
||||
|
||||
this.collection = new HistoryCollection({
|
||||
episodeId : this.model.id,
|
||||
tableName : 'episodeHistory'
|
||||
});
|
||||
this.collection.fetch();
|
||||
this.listenTo(this.collection, 'sync', this._showTable);
|
||||
},
|
||||
|
||||
onRender : function() {
|
||||
this.historyTable.show(new LoadingView());
|
||||
},
|
||||
|
||||
_showTable : function() {
|
||||
if (this.collection.any()) {
|
||||
this.historyTable.show(new Backgrid.Grid({
|
||||
collection : this.collection,
|
||||
columns : this.columns,
|
||||
className : 'table table-hover table-condensed'
|
||||
}));
|
||||
}
|
||||
|
||||
else {
|
||||
this.historyTable.show(new NoHistoryView());
|
||||
}
|
||||
}
|
||||
});
|
@ -0,0 +1 @@
|
||||
<div class="history-table table-responsive"></div>
|
@ -0,0 +1,5 @@
|
||||
var Marionette = require('marionette');
|
||||
|
||||
module.exports = Marionette.ItemView.extend({
|
||||
template : 'Movies/History/NoHistoryViewTemplate'
|
||||
});
|
@ -0,0 +1,3 @@
|
||||
<p class="text-warning">
|
||||
No history for this episode.
|
||||
</p>
|
@ -0,0 +1,5 @@
|
||||
var Marionette = require('marionette');
|
||||
|
||||
module.exports = Marionette.ItemView.extend({
|
||||
template : 'Movies/Search/ButtonsViewTemplate'
|
||||
});
|
@ -0,0 +1,4 @@
|
||||
<div class="search-buttons">
|
||||
<button class="btn btn-lg btn-block x-search-auto"><i class="icon-sonarr-search-automatic"/> Automatic Search</button>
|
||||
<button class="btn btn-lg btn-block btn-primary x-search-manual"><i class="icon-sonarr-search-manual"/> Manual Search</button>
|
||||
</div>
|
@ -0,0 +1,86 @@
|
||||
var Marionette = require('marionette');
|
||||
var Backgrid = require('backgrid');
|
||||
var ReleaseTitleCell = require('../../Cells/ReleaseTitleCell');
|
||||
var FileSizeCell = require('../../Cells/FileSizeCell');
|
||||
var QualityCell = require('../../Cells/QualityCell');
|
||||
var ApprovalStatusCell = require('../../Cells/ApprovalStatusCell');
|
||||
var DownloadReportCell = require('../../Release/DownloadReportCell');
|
||||
var AgeCell = require('../../Release/AgeCell');
|
||||
var ProtocolCell = require('../../Release/ProtocolCell');
|
||||
var PeersCell = require('../../Release/PeersCell');
|
||||
|
||||
module.exports = Marionette.Layout.extend({
|
||||
template : 'Movies/Search/ManualLayoutTemplate',
|
||||
|
||||
regions : {
|
||||
grid : '#episode-release-grid'
|
||||
},
|
||||
|
||||
columns : [
|
||||
{
|
||||
name : 'protocol',
|
||||
label : 'Source',
|
||||
cell : ProtocolCell
|
||||
},
|
||||
{
|
||||
name : 'age',
|
||||
label : 'Age',
|
||||
cell : AgeCell
|
||||
},
|
||||
{
|
||||
name : 'title',
|
||||
label : 'Title',
|
||||
cell : ReleaseTitleCell
|
||||
},
|
||||
{
|
||||
name : 'indexer',
|
||||
label : 'Indexer',
|
||||
cell : Backgrid.StringCell
|
||||
},
|
||||
{
|
||||
name : 'size',
|
||||
label : 'Size',
|
||||
cell : FileSizeCell
|
||||
},
|
||||
{
|
||||
name : 'seeders',
|
||||
label : 'Peers',
|
||||
cell : PeersCell
|
||||
},
|
||||
{
|
||||
name : 'quality',
|
||||
label : 'Quality',
|
||||
cell : QualityCell
|
||||
},
|
||||
{
|
||||
name : 'rejections',
|
||||
label : '<i class="icon-sonarr-header-rejections" />',
|
||||
tooltip : 'Rejections',
|
||||
cell : ApprovalStatusCell,
|
||||
sortable : true,
|
||||
sortType : 'fixed',
|
||||
direction : 'ascending',
|
||||
title : 'Release Rejected'
|
||||
},
|
||||
{
|
||||
name : 'download',
|
||||
label : '<i class="icon-sonarr-download" />',
|
||||
tooltip : 'Auto-Search Prioritization',
|
||||
cell : DownloadReportCell,
|
||||
sortable : true,
|
||||
sortType : 'fixed',
|
||||
direction : 'ascending'
|
||||
}
|
||||
],
|
||||
|
||||
onShow : function() {
|
||||
if (!this.isClosed) {
|
||||
this.grid.show(new Backgrid.Grid({
|
||||
row : Backgrid.Row,
|
||||
columns : this.columns,
|
||||
collection : this.collection,
|
||||
className : 'table table-hover'
|
||||
}));
|
||||
}
|
||||
}
|
||||
});
|
@ -0,0 +1,2 @@
|
||||
<div id="episode-release-grid" class="table-responsive"></div>
|
||||
<button class="btn x-search-back">Back</button>
|
@ -0,0 +1,82 @@
|
||||
var vent = require('vent');
|
||||
var Marionette = require('marionette');
|
||||
var ButtonsView = require('./ButtonsView');
|
||||
var ManualSearchLayout = require('./ManualLayout');
|
||||
var ReleaseCollection = require('../../Release/ReleaseCollection');
|
||||
var CommandController = require('../../Commands/CommandController');
|
||||
var LoadingView = require('../../Shared/LoadingView');
|
||||
var NoResultsView = require('./NoResultsView');
|
||||
|
||||
module.exports = Marionette.Layout.extend({
|
||||
template : 'Movies/Search/MovieSearchLayoutTemplate',
|
||||
|
||||
regions : {
|
||||
main : '#episode-search-region'
|
||||
},
|
||||
|
||||
events : {
|
||||
'click .x-search-auto' : '_searchAuto',
|
||||
'click .x-search-manual' : '_searchManual',
|
||||
'click .x-search-back' : '_showButtons'
|
||||
},
|
||||
|
||||
initialize : function() {
|
||||
this.mainView = new ButtonsView();
|
||||
this.releaseCollection = new ReleaseCollection();
|
||||
|
||||
this.listenTo(this.releaseCollection, 'sync', this._showSearchResults);
|
||||
},
|
||||
|
||||
onShow : function() {
|
||||
if (this.startManualSearch) {
|
||||
this._searchManual();
|
||||
}
|
||||
|
||||
else {
|
||||
this._showMainView();
|
||||
}
|
||||
},
|
||||
|
||||
_searchAuto : function(e) {
|
||||
if (e) {
|
||||
e.preventDefault();
|
||||
}
|
||||
|
||||
CommandController.Execute('episodeSearch', {
|
||||
episodeIds : [this.model.get('id')]
|
||||
});
|
||||
|
||||
vent.trigger(vent.Commands.CloseModalCommand);
|
||||
},
|
||||
|
||||
_searchManual : function(e) {
|
||||
if (e) {
|
||||
e.preventDefault();
|
||||
}
|
||||
|
||||
this.mainView = new LoadingView();
|
||||
this._showMainView();
|
||||
this.releaseCollection.fetchMovieReleases(this.model.id);
|
||||
},
|
||||
|
||||
_showMainView : function() {
|
||||
this.main.show(this.mainView);
|
||||
},
|
||||
|
||||
_showButtons : function() {
|
||||
this.mainView = new ButtonsView();
|
||||
this._showMainView();
|
||||
},
|
||||
|
||||
_showSearchResults : function() {
|
||||
if (this.releaseCollection.length === 0) {
|
||||
this.mainView = new NoResultsView();
|
||||
}
|
||||
|
||||
else {
|
||||
this.mainView = new ManualSearchLayout({ collection : this.releaseCollection });
|
||||
}
|
||||
|
||||
this._showMainView();
|
||||
}
|
||||
});
|
@ -0,0 +1 @@
|
||||
<div id="episode-search-region"></div>
|
@ -0,0 +1,5 @@
|
||||
var Marionette = require('marionette');
|
||||
|
||||
module.exports = Marionette.ItemView.extend({
|
||||
template : 'Movies/Search/NoResultsViewTemplate'
|
||||
});
|
@ -0,0 +1 @@
|
||||
<div>No results found</div>
|
@ -0,0 +1,471 @@
|
||||
@import "../Content/Bootstrap/variables";
|
||||
@import "../Shared/Styles/card.less";
|
||||
@import "../Shared/Styles/clickable.less";
|
||||
@import "../Content/prefixer";
|
||||
|
||||
.series-poster {
|
||||
min-width: 56px;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.edit-movie-modal, .delete-movie-modal {
|
||||
overflow : visible;
|
||||
|
||||
.series-poster {
|
||||
padding-left : 20px;
|
||||
width : 168px;
|
||||
}
|
||||
|
||||
.form-horizontal {
|
||||
margin-top : 10px;
|
||||
}
|
||||
|
||||
.twitter-typeahead {
|
||||
.form-control[disabled] {
|
||||
background-color: #ffffff;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.delete-movie-modal {
|
||||
.path {
|
||||
margin-left : 30px;
|
||||
}
|
||||
|
||||
.delete-files-info {
|
||||
margin-top : 10px;
|
||||
display : none;
|
||||
}
|
||||
}
|
||||
|
||||
.movie-item {
|
||||
padding-bottom : 30px;
|
||||
|
||||
:hover {
|
||||
text-decoration : none;
|
||||
}
|
||||
|
||||
h2 {
|
||||
margin-top : 0px;
|
||||
}
|
||||
|
||||
a {
|
||||
color : #000000;
|
||||
}
|
||||
}
|
||||
|
||||
.movie-page-header {
|
||||
.card(black);
|
||||
.opacity(0.9);
|
||||
background : #000000;
|
||||
color : #ffffff;
|
||||
padding : 30px 15px;
|
||||
margin : 50px 10px;
|
||||
|
||||
.poster {
|
||||
margin-top : 4px;
|
||||
}
|
||||
|
||||
.header-text {
|
||||
margin-top : 0px;
|
||||
}
|
||||
}
|
||||
|
||||
.movie-season {
|
||||
.card;
|
||||
.opacity(0.9);
|
||||
margin : 30px 10px;
|
||||
padding : 10px 25px;
|
||||
|
||||
.show-hide-episodes {
|
||||
.clickable();
|
||||
text-align : center;
|
||||
|
||||
i {
|
||||
.clickable();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.series-posters {
|
||||
list-style-type: none;
|
||||
|
||||
@media (max-width: @screen-xs-max) {
|
||||
padding : 0px;
|
||||
}
|
||||
|
||||
li {
|
||||
display : inline-block;
|
||||
vertical-align : top;
|
||||
}
|
||||
|
||||
.series-posters-item {
|
||||
|
||||
.card;
|
||||
.clickable;
|
||||
margin-bottom : 20px;
|
||||
height : 315px;
|
||||
|
||||
.center {
|
||||
display : block;
|
||||
margin-left : auto;
|
||||
margin-right : auto;
|
||||
text-align : center;
|
||||
|
||||
.progress {
|
||||
text-align : left;
|
||||
margin-top : 5px;
|
||||
left : 0px;
|
||||
width : 170px;
|
||||
|
||||
.progressbar-front-text, .progressbar-back-text {
|
||||
width : 170px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.labels {
|
||||
display : inline-block;
|
||||
.opacity(0.75);
|
||||
width : 170px;
|
||||
|
||||
:hover {
|
||||
cursor : default;
|
||||
}
|
||||
|
||||
.label {
|
||||
margin-top : 3px;
|
||||
display : block;
|
||||
}
|
||||
|
||||
.tooltip {
|
||||
.opacity(1);
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: @screen-xs-max) {
|
||||
height : 235px;
|
||||
margin : 5px;
|
||||
padding : 6px 5px;
|
||||
|
||||
.center {
|
||||
.progress {
|
||||
width : 125px;
|
||||
|
||||
.progressbar-front-text, .progressbar-back-text {
|
||||
width : 125px
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.labels {
|
||||
width: 125px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.series-poster-container {
|
||||
position : relative;
|
||||
overflow : hidden;
|
||||
display : inline-block;
|
||||
|
||||
.placeholder-image ~ .title {
|
||||
opacity: 1.0;
|
||||
}
|
||||
|
||||
.title {
|
||||
position : absolute;
|
||||
top : 25px;
|
||||
color : #f5f5f5;
|
||||
width : 100%;
|
||||
font-size : 22px;
|
||||
line-height: 24px;
|
||||
opacity : 0.0;
|
||||
font-weight: 100;
|
||||
}
|
||||
|
||||
.ended-banner {
|
||||
color : #eeeeee;
|
||||
background-color : #b94a48;
|
||||
.box-shadow(2px 2px 20px #888888);
|
||||
-moz-transform-origin : 50% 50%;
|
||||
-webkit-transform-origin : 50% 50%;
|
||||
position : absolute;
|
||||
width : 320px;
|
||||
top : 200px;
|
||||
left : -122px;
|
||||
text-align : center;
|
||||
.opacity(0.9);
|
||||
|
||||
.transform(rotate(45deg));
|
||||
}
|
||||
|
||||
.movie-controls {
|
||||
position : absolute;;
|
||||
top : 0px;
|
||||
overflow : hidden;
|
||||
background-color : #eeeeee;
|
||||
width : 100%;
|
||||
text-align : right;
|
||||
padding-right : 10px;
|
||||
display : none;
|
||||
.opacity(0.8);
|
||||
|
||||
i {
|
||||
.clickable();
|
||||
}
|
||||
}
|
||||
|
||||
.hidden-title {
|
||||
position : absolute;;
|
||||
bottom : 0px;
|
||||
overflow : hidden;
|
||||
background-color : #eeeeee;
|
||||
width : 100%;
|
||||
text-align : center;
|
||||
.opacity(0.8);
|
||||
display : none;
|
||||
}
|
||||
|
||||
.series-poster {
|
||||
width : 168px;
|
||||
height : 247px;
|
||||
display : block;
|
||||
font-size : 34px;
|
||||
line-height : 34px;
|
||||
}
|
||||
|
||||
@media (max-width: @screen-xs-max) {
|
||||
.series-poster {
|
||||
width : 120px;
|
||||
height : 176px;
|
||||
}
|
||||
|
||||
.ended-banner {
|
||||
top : 145px;
|
||||
left : -137px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.movie-detail-overview {
|
||||
margin-bottom : 50px;
|
||||
}
|
||||
|
||||
.movie-season {
|
||||
|
||||
.episode-number-cell {
|
||||
width : 40px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.episode-air-date-cell {
|
||||
width : 150px;
|
||||
}
|
||||
|
||||
.episode-status-cell {
|
||||
width : 100px;
|
||||
}
|
||||
|
||||
.episode-title-cell {
|
||||
cursor : pointer;
|
||||
}
|
||||
}
|
||||
|
||||
.episode-detail-modal {
|
||||
|
||||
.episode-info {
|
||||
margin-bottom : 10px;
|
||||
}
|
||||
|
||||
.episode-overview {
|
||||
font-style : italic;
|
||||
}
|
||||
|
||||
.episode-file-info {
|
||||
margin-top : 30px;
|
||||
font-size : 12px;
|
||||
}
|
||||
|
||||
.episode-history-details-cell .popover {
|
||||
max-width: 800px;
|
||||
}
|
||||
|
||||
.hidden-movie-title {
|
||||
display : none;
|
||||
}
|
||||
}
|
||||
|
||||
.season-grid {
|
||||
.toggle-cell {
|
||||
width : 28px;
|
||||
text-align : center;
|
||||
padding-left : 0px;
|
||||
padding-right : 0px;
|
||||
}
|
||||
|
||||
.toggle-cell {
|
||||
i {
|
||||
.clickable;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.season-actions {
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.season-actions, .movie-actions {
|
||||
|
||||
div {
|
||||
display : inline-block
|
||||
}
|
||||
|
||||
text-transform : none;
|
||||
|
||||
i {
|
||||
.clickable();
|
||||
font-size : 24px;
|
||||
margin-left : 5px;
|
||||
}
|
||||
}
|
||||
|
||||
.movie-stats {
|
||||
font-size : 11px;
|
||||
}
|
||||
|
||||
.movie-legend {
|
||||
padding-top : 5px;
|
||||
}
|
||||
|
||||
.seasonpass-movie {
|
||||
.card;
|
||||
margin : 20px 0px;
|
||||
|
||||
.title {
|
||||
font-weight : 300;
|
||||
font-size : 24px;
|
||||
line-height : 30px;
|
||||
margin-left : 5px;
|
||||
}
|
||||
|
||||
.season-select {
|
||||
margin-bottom : 0px;
|
||||
}
|
||||
|
||||
.expander {
|
||||
.clickable;
|
||||
line-height : 30px;
|
||||
margin-left : 8px;
|
||||
width : 16px;
|
||||
}
|
||||
|
||||
.season-grid {
|
||||
margin-top : 10px;
|
||||
}
|
||||
|
||||
.season-pass-button {
|
||||
display : inline-block;
|
||||
}
|
||||
|
||||
.movie-monitor-toggle {
|
||||
font-size : 24px;
|
||||
margin-top : 3px;
|
||||
}
|
||||
|
||||
.help-inline {
|
||||
margin-top : 7px;
|
||||
display : inline-block;
|
||||
}
|
||||
}
|
||||
|
||||
.season-status {
|
||||
font-size : 11px;
|
||||
vertical-align : middle !important;
|
||||
}
|
||||
|
||||
//Overview List
|
||||
.movie-overview-list-actions {
|
||||
min-width: 56px;
|
||||
max-width: 56px;
|
||||
|
||||
i {
|
||||
.clickable();
|
||||
}
|
||||
}
|
||||
|
||||
//Editor
|
||||
|
||||
.movie-editor-footer {
|
||||
max-width: 1160px;
|
||||
color: #f5f5f5;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
|
||||
.form-group {
|
||||
padding-top: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
.update-files-movie-modal {
|
||||
.selected-movie {
|
||||
margin-top: 15px;
|
||||
}
|
||||
}
|
||||
|
||||
//Series Details
|
||||
|
||||
.movie-not-monitored {
|
||||
.season-monitored, .episode-monitored {
|
||||
color: #888888;
|
||||
cursor: not-allowed;
|
||||
|
||||
i {
|
||||
cursor: not-allowed;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.movie-info {
|
||||
.row {
|
||||
margin-bottom : 3px;
|
||||
|
||||
.label {
|
||||
display : inline-block;
|
||||
margin-bottom : 2px;
|
||||
padding : 4px 6px 3px 6px;
|
||||
max-width : 100%;
|
||||
white-space : normal;
|
||||
word-wrap : break-word;
|
||||
}
|
||||
}
|
||||
|
||||
.movie-info-links {
|
||||
@media (max-width: @screen-sm-max) {
|
||||
display : inline-block;
|
||||
margin-top : 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.scene-info {
|
||||
.key, .value {
|
||||
display : inline-block;
|
||||
}
|
||||
|
||||
.key {
|
||||
width : 80px;
|
||||
margin-left : 10px;
|
||||
vertical-align : top;
|
||||
}
|
||||
|
||||
.value {
|
||||
margin-right : 10px;
|
||||
max-width : 170px;
|
||||
}
|
||||
|
||||
ul {
|
||||
padding-left : 0px;
|
||||
list-style-type : none;
|
||||
}
|
||||
}
|
Loading…
Reference in new issue