diff --git a/PlexRequests.UI/Content/awesome-bootstrap-checkbox.css b/PlexRequests.UI/Content/awesome-bootstrap-checkbox.css new file mode 100644 index 000000000..b78e37a09 --- /dev/null +++ b/PlexRequests.UI/Content/awesome-bootstrap-checkbox.css @@ -0,0 +1,266 @@ +@charset "UTF-8"; +.abc-checkbox { + padding-left: 20px; } +.abc-checkbox label { + display: inline-block; + vertical-align: middle; + position: relative; + padding-left: 5px; } +.abc-checkbox label::before { + cursor: pointer; + content: ""; + display: inline-block; + position: absolute; + width: 17px; + height: 17px; + left: 0; + margin-left: -20px; + border: 1px solid #ccc; + border-radius: 3px; + background-color: #fff; } +.abc-checkbox label::after { + cursor: pointer; + display: inline-block; + position: absolute; + width: 16px; + height: 16px; + left: 0; + top: 0; + margin-left: -20px; + padding-left: 3px; + padding-top: 1px; + font-size: 11px; + color: #55595c; } +.abc-checkbox input[type="checkbox"], +.abc-checkbox input[type="radio"] { + cursor: pointer; + opacity: 0; + z-index: 1; } +.abc-checkbox input[type="checkbox"]:focus + label::before, +.abc-checkbox input[type="radio"]:focus + label::before { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; } +.abc-checkbox input[type="checkbox"]:checked + label::after, +.abc-checkbox input[type="radio"]:checked + label::after { + font-family: "FontAwesome"; + content: ""; } +.abc-checkbox input[type="checkbox"]:indeterminate + label::after, +.abc-checkbox input[type="radio"]:indeterminate + label::after { + display: block; + content: ""; + width: 10px; + height: 3px; + background-color: #555555; + border-radius: 2px; + margin-left: -16.5px; + margin-top: 7px; } +.abc-checkbox input[type="checkbox"]:disabled + label, +.abc-checkbox input[type="radio"]:disabled + label { + opacity: 0.65; } +.abc-checkbox input[type="checkbox"]:disabled + label::before, +.abc-checkbox input[type="radio"]:disabled + label::before { + background-color: #eceeef; + cursor: not-allowed; } +.abc-checkbox.abc-checkbox-circle label::before { + border-radius: 50%; } +.abc-checkbox.checkbox-inline { + margin-top: 0; } + +.abc-checkbox-primary input[type="checkbox"]:checked + label::before, +.abc-checkbox-primary input[type="radio"]:checked + label::before { + background-color: #0275d8; + border-color: #0275d8; } + +.abc-checkbox-primary input[type="checkbox"]:checked + label::after, +.abc-checkbox-primary input[type="radio"]:checked + label::after { + color: #fff; } + +.abc-checkbox-danger input[type="checkbox"]:checked + label::before, +.abc-checkbox-danger input[type="radio"]:checked + label::before { + background-color: #d9534f; + border-color: #d9534f; } + +.abc-checkbox-danger input[type="checkbox"]:checked + label::after, +.abc-checkbox-danger input[type="radio"]:checked + label::after { + color: #fff; } + +.abc-checkbox-info input[type="checkbox"]:checked + label::before, +.abc-checkbox-info input[type="radio"]:checked + label::before { + background-color: #5bc0de; + border-color: #5bc0de; } + +.abc-checkbox-info input[type="checkbox"]:checked + label::after, +.abc-checkbox-info input[type="radio"]:checked + label::after { + color: #fff; } + +.abc-checkbox-warning input[type="checkbox"]:checked + label::before, +.abc-checkbox-warning input[type="radio"]:checked + label::before { + background-color: #f0ad4e; + border-color: #f0ad4e; } + +.abc-checkbox-warning input[type="checkbox"]:checked + label::after, +.abc-checkbox-warning input[type="radio"]:checked + label::after { + color: #fff; } + +.abc-checkbox-success input[type="checkbox"]:checked + label::before, +.abc-checkbox-success input[type="radio"]:checked + label::before { + background-color: #5cb85c; + border-color: #5cb85c; } + +.abc-checkbox-success input[type="checkbox"]:checked + label::after, +.abc-checkbox-success input[type="radio"]:checked + label::after { + color: #fff; } + +.abc-checkbox-primary input[type="checkbox"]:indeterminate + label::before, +.abc-checkbox-primary input[type="radio"]:indeterminate + label::before { + background-color: #0275d8; + border-color: #0275d8; } + +.abc-checkbox-primary input[type="checkbox"]:indeterminate + label::after, +.abc-checkbox-primary input[type="radio"]:indeterminate + label::after { + background-color: #fff; } + +.abc-checkbox-danger input[type="checkbox"]:indeterminate + label::before, +.abc-checkbox-danger input[type="radio"]:indeterminate + label::before { + background-color: #d9534f; + border-color: #d9534f; } + +.abc-checkbox-danger input[type="checkbox"]:indeterminate + label::after, +.abc-checkbox-danger input[type="radio"]:indeterminate + label::after { + background-color: #fff; } + +.abc-checkbox-info input[type="checkbox"]:indeterminate + label::before, +.abc-checkbox-info input[type="radio"]:indeterminate + label::before { + background-color: #5bc0de; + border-color: #5bc0de; } + +.abc-checkbox-info input[type="checkbox"]:indeterminate + label::after, +.abc-checkbox-info input[type="radio"]:indeterminate + label::after { + background-color: #fff; } + +.abc-checkbox-warning input[type="checkbox"]:indeterminate + label::before, +.abc-checkbox-warning input[type="radio"]:indeterminate + label::before { + background-color: #f0ad4e; + border-color: #f0ad4e; } + +.abc-checkbox-warning input[type="checkbox"]:indeterminate + label::after, +.abc-checkbox-warning input[type="radio"]:indeterminate + label::after { + background-color: #fff; } + +.abc-checkbox-success input[type="checkbox"]:indeterminate + label::before, +.abc-checkbox-success input[type="radio"]:indeterminate + label::before { + background-color: #5cb85c; + border-color: #5cb85c; } + +.abc-checkbox-success input[type="checkbox"]:indeterminate + label::after, +.abc-checkbox-success input[type="radio"]:indeterminate + label::after { + background-color: #fff; } + +.abc-radio { + padding-left: 20px; } +.abc-radio label { + display: inline-block; + vertical-align: middle; + position: relative; + padding-left: 5px; } +.abc-radio label::before { + content: ""; + cursor: pointer; + display: inline-block; + position: absolute; + width: 17px; + height: 17px; + left: 0; + margin-left: -20px; + border: 1px solid #ccc; + border-radius: 50%; + background-color: #fff; } +.abc-radio label::after { + cursor: pointer; + display: inline-block; + position: absolute; + content: " "; + width: 11px; + height: 11px; + left: 3px; + top: 3px; + margin-left: -20px; + border-radius: 50%; + background-color: #55595c; + transform: scale(0, 0); + transition: transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33); } +.abc-radio input[type="radio"] { + cursor: pointer; + opacity: 0; + z-index: 1; } +.abc-radio input[type="radio"]:focus + label::before { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; } +.abc-radio input[type="radio"]:checked + label::after { + transform: scale(1, 1); } +.abc-radio input[type="radio"]:disabled + label { + opacity: 0.65; } +.abc-radio input[type="radio"]:disabled + label::before { + cursor: not-allowed; } +.abc-radio.radio-inline { + margin-top: 0; } + +.abc-radio-primary input[type="radio"] + label::after { + background-color: #0275d8; } + +.abc-radio-primary input[type="radio"]:checked + label::before { + border-color: #0275d8; } + +.abc-radio-primary input[type="radio"]:checked + label::after { + background-color: #0275d8; } + +.abc-radio-danger input[type="radio"] + label::after { + background-color: #d9534f; } + +.abc-radio-danger input[type="radio"]:checked + label::before { + border-color: #d9534f; } + +.abc-radio-danger input[type="radio"]:checked + label::after { + background-color: #d9534f; } + +.abc-radio-info input[type="radio"] + label::after { + background-color: #5bc0de; } + +.abc-radio-info input[type="radio"]:checked + label::before { + border-color: #5bc0de; } + +.abc-radio-info input[type="radio"]:checked + label::after { + background-color: #5bc0de; } + +.abc-radio-warning input[type="radio"] + label::after { + background-color: #f0ad4e; } + +.abc-radio-warning input[type="radio"]:checked + label::before { + border-color: #f0ad4e; } + +.abc-radio-warning input[type="radio"]:checked + label::after { + background-color: #f0ad4e; } + +.abc-radio-success input[type="radio"] + label::after { + background-color: #5cb85c; } + +.abc-radio-success input[type="radio"]:checked + label::before { + border-color: #5cb85c; } + +.abc-radio-success input[type="radio"]:checked + label::after { + background-color: #5cb85c; } + +input[type="checkbox"].styled:checked + label:after, +input[type="radio"].styled:checked + label:after { + font-family: "FontAwesome"; + content: ""; } + +input[type="checkbox"] .styled:checked + label::before, +input[type="radio"] .styled:checked + label::before { + color: #fff; } + +input[type="checkbox"] .styled:checked + label::after, +input[type="radio"] .styled:checked + label::after { + color: #fff; } diff --git a/PlexRequests.UI/Content/awesome-bootstrap-checkbox.scss b/PlexRequests.UI/Content/awesome-bootstrap-checkbox.scss new file mode 100644 index 000000000..464893ddb --- /dev/null +++ b/PlexRequests.UI/Content/awesome-bootstrap-checkbox.scss @@ -0,0 +1,250 @@ + +// +// Checkboxes +// -------------------------------------------------- + + +$font-family-icon: 'FontAwesome' !default; +$fa-var-check: "\f00c" !default; +$check-icon: $fa-var-check !default; + +@mixin checkbox-variant($parent, $color) { + #{$parent} input[type="checkbox"]:checked + label, + #{$parent} input[type="radio"]:checked + label { + &::before { + background-color: $color; + border-color: $color; + } + &::after{ + color: #fff; + } + } +} + +@mixin checkbox-variant-indeterminate($parent, $color) { + #{$parent} input[type="checkbox"]:indeterminate + label, + #{$parent} input[type="radio"]:indeterminate + label { + &::before { + background-color: $color; + border-color: $color; + } + &::after{ + background-color: #fff; + } + } +} + +.abc-checkbox{ + padding-left: 20px; + + label{ + display: inline-block; + vertical-align: middle; + position: relative; + padding-left: 5px; + + &::before{ + cursor: pointer; + content: ""; + display: inline-block; + position: absolute; + width: 17px; + height: 17px; + left: 0; + margin-left: -20px; + border: 1px solid $input-border-color; + border-radius: 3px; + background-color: #fff; + @include transition(border 0.15s ease-in-out, color 0.15s ease-in-out); + } + + &::after{ + cursor: pointer; + display: inline-block; + position: absolute; + width: 16px; + height: 16px; + left: 0; + top: 0; + margin-left: -20px; + padding-left: 3px; + padding-top: 1px; + font-size: 11px; + color: $input-color; + } + } + + input[type="checkbox"], + input[type="radio"] { + cursor: pointer; + opacity: 0; + z-index: 1; + + &:focus + label::before{ + @include tab-focus(); + } + + &:checked + label::after{ + font-family: $font-family-icon; + content: $check-icon; + } + + &:indeterminate + label::after{ + display: block; + content: ""; + width: 10px; + height: 3px; + background-color: #555555; + border-radius: 2px; + margin-left: -16.5px; + margin-top: 7px; + } + + &:disabled + label{ + opacity: 0.65; + + &::before{ + background-color: $input-bg-disabled; + cursor: not-allowed; + } + } + + } + + &.abc-checkbox-circle label::before{ + border-radius: 50%; + } + + &.checkbox-inline{ + margin-top: 0; + } +} + +@include checkbox-variant('.abc-checkbox-primary', $brand-primary); +@include checkbox-variant('.abc-checkbox-danger', $brand-danger); +@include checkbox-variant('.abc-checkbox-info', $brand-info); +@include checkbox-variant('.abc-checkbox-warning', $brand-warning); +@include checkbox-variant('.abc-checkbox-success', $brand-success); + + +@include checkbox-variant-indeterminate('.abc-checkbox-primary', $brand-primary); +@include checkbox-variant-indeterminate('.abc-checkbox-danger', $brand-danger); +@include checkbox-variant-indeterminate('.abc-checkbox-info', $brand-info); +@include checkbox-variant-indeterminate('.abc-checkbox-warning', $brand-warning); +@include checkbox-variant-indeterminate('.abc-checkbox-success', $brand-success); + +// +// Radios +// -------------------------------------------------- + +@mixin radio-variant($parent, $color) { + #{$parent} input[type="radio"]{ + + label{ + &::after{ + background-color: $color; + } + } + &:checked + label{ + &::before { + border-color: $color; + } + &::after{ + background-color: $color; + } + } + } +} + +.abc-radio{ + padding-left: 20px; + + label{ + display: inline-block; + vertical-align: middle; + position: relative; + padding-left: 5px; + + &::before{ + cursor: pointer; + content: ""; + display: inline-block; + position: absolute; + width: 17px; + height: 17px; + left: 0; + margin-left: -20px; + border: 1px solid $input-border-color; + border-radius: 50%; + background-color: #fff; + @include transition(border 0.15s ease-in-out); + } + + &::after{ + cursor: pointer; + display: inline-block; + position: absolute; + content: " "; + width: 11px; + height: 11px; + left: 3px; + top: 3px; + margin-left: -20px; + border-radius: 50%; + background-color: $input-color; + transform: scale(0, 0); + + transition: transform .1s cubic-bezier(.8,-0.33,.2,1.33); + //curve - http://cubic-bezier.com/#.8,-0.33,.2,1.33 + } + } + + input[type="radio"]{ + cursor: pointer; + opacity: 0; + z-index: 1; + + &:focus + label::before{ + @include tab-focus(); + } + + &:checked + label::after{ + transform: scale(1, 1); + } + + &:disabled + label{ + opacity: 0.65; + + &::before{ + cursor: not-allowed; + } + } + + } + + &.radio-inline{ + margin-top: 0; + } +} + +@include radio-variant('.abc-radio-primary', $brand-primary); +@include radio-variant('.abc-radio-danger', $brand-danger); +@include radio-variant('.abc-radio-info', $brand-info); +@include radio-variant('.abc-radio-warning', $brand-warning); +@include radio-variant('.abc-radio-success', $brand-success); + + +input[type="checkbox"], +input[type="radio"] { + &.styled:checked + label:after { + font-family: $font-family-icon; + content: $check-icon; + } + .styled:checked + label { + &::before { + color: #fff; + } + &::after { + color: #fff; + } + } +} diff --git a/PlexRequests.UI/Content/custom.css b/PlexRequests.UI/Content/custom.css index ccdecf826..5d18f3b4c 100644 --- a/PlexRequests.UI/Content/custom.css +++ b/PlexRequests.UI/Content/custom.css @@ -42,11 +42,28 @@ label { margin-bottom: 0.5rem !important; font-size: 16px !important; } +.nav-tabs > li { + font-size: 13px; + line-height: 21px; } + .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { background: #4e5d6c; } +.nav-tabs > li > a > .fa { + padding: 3px 5px 3px 3px; } + +.nav-tabs > li.nav-tab-right { + float: right; } + +.nav-tabs > li.nav-tab-right a { + margin-right: 0; + margin-left: 2px; } + +.nav-tabs > li.nav-tab-icononly .fa { + padding: 3px; } + .navbar .nav a .fa, .dropdown-menu a .fa { font-size: 130%; @@ -225,3 +242,42 @@ label { text-align: center; font-size: 15px; } +.checkbox label { + display: inline-block; + cursor: pointer; + position: relative; + padding-left: 25px; + margin-right: 15px; + font-size: 13px; + margin-bottom: 10px; } + +.checkbox label:before { + content: ""; + display: inline-block; + width: 18px; + height: 18px; + margin-right: 10px; + position: absolute; + left: 0; + bottom: 1px; + border: 2px solid #eee; + border-radius: 3px; } + +.checkbox input[type=checkbox] { + display: none; } + +.checkbox input[type=checkbox]:checked + label:before { + content: "\2713"; + font-size: 13px; + color: #fafafa; + text-align: center; + line-height: 13px; } + +.input-group-sm { + padding-top: 2px; + padding-bottom: 2px; } + +.tab-pane .form-horizontal .form-group { + margin-right: 15px; + margin-left: 15px; } + diff --git a/PlexRequests.UI/Content/custom.min.css b/PlexRequests.UI/Content/custom.min.css index 0a8928887..9c604fa2f 100644 --- a/PlexRequests.UI/Content/custom.min.css +++ b/PlexRequests.UI/Content/custom.min.css @@ -1 +1 @@ -@media(min-width:768px){.row{position:relative;}.bottom-align-text{position:absolute;bottom:0;right:0;}}@media(max-width:48em){.home{padding-top:1rem;}}@media(min-width:48em){.home{padding-top:4rem;}}.btn{border-radius:.25rem !important;}.multiSelect{background-color:#4e5d6c;}.form-control-custom{background-color:#4e5d6c !important;color:#fff !important;border-radius:0;box-shadow:0 0 0 !important;}h1{font-size:3.5rem !important;font-weight:600 !important;}.request-title{margin-top:0 !important;font-size:1.9rem !important;}p{font-size:1.1rem !important;}label{display:inline-block !important;margin-bottom:.5rem !important;font-size:16px !important;}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{background:#4e5d6c;}.navbar .nav a .fa,.dropdown-menu a .fa{font-size:130%;top:1px;position:relative;display:inline-block;margin-right:5px;}.dropdown-menu a .fa{top:2px;}.btn-danger-outline{color:#d9534f !important;background-color:transparent;background-image:none;border-color:#d9534f !important;}.btn-danger-outline:focus,.btn-danger-outline.focus,.btn-danger-outline:active,.btn-danger-outline.active,.btn-danger-outline:hover,.open>.btn-danger-outline.dropdown-toggle{color:#fff !important;background-color:#d9534f !important;border-color:#d9534f !important;}.btn-primary-outline{color:#ff761b !important;background-color:transparent;background-image:none;border-color:#ff761b !important;}.btn-primary-outline:focus,.btn-primary-outline.focus,.btn-primary-outline:active,.btn-primary-outline.active,.btn-primary-outline:hover,.open>.btn-primary-outline.dropdown-toggle{color:#fff !important;background-color:#df691a !important;border-color:#df691a !important;}.btn-info-outline{color:#5bc0de !important;background-color:transparent;background-image:none;border-color:#5bc0de !important;}.btn-info-outline:focus,.btn-info-outline.focus,.btn-info-outline:active,.btn-info-outline.active,.btn-info-outline:hover,.open>.btn-info-outline.dropdown-toggle{color:#fff !important;background-color:#5bc0de !important;border-color:#5bc0de !important;}.btn-warning-outline{color:#f0ad4e !important;background-color:transparent;background-image:none;border-color:#f0ad4e !important;}.btn-warning-outline:focus,.btn-warning-outline.focus,.btn-warning-outline:active,.btn-warning-outline.active,.btn-warning-outline:hover,.open>.btn-warning-outline.dropdown-toggle{color:#fff !important;background-color:#f0ad4e !important;border-color:#f0ad4e !important;}.btn-success-outline{color:#5cb85c !important;background-color:transparent;background-image:none;border-color:#5cb85c !important;}.btn-success-outline:focus,.btn-success-outline.focus,.btn-success-outline:active,.btn-success-outline.active,.btn-success-outline:hover,.open>.btn-success-outline.dropdown-toggle{color:#fff !important;background-color:#5cb85c !important;border-color:#5cb85c !important;}#movieList .mix{display:none;}#tvList .mix{display:none;}.scroll-top-wrapper{position:fixed;opacity:0;visibility:hidden;overflow:hidden;text-align:center;z-index:99999999;background-color:#4e5d6c;color:#eee;width:50px;height:48px;line-height:48px;right:30px;bottom:30px;padding-top:2px;border-top-left-radius:10px;border-top-right-radius:10px;border-bottom-right-radius:10px;border-bottom-left-radius:10px;-webkit-transition:all .5s ease-in-out;-moz-transition:all .5s ease-in-out;-ms-transition:all .5s ease-in-out;-o-transition:all .5s ease-in-out;transition:all .5s ease-in-out;}.scroll-top-wrapper:hover{background-color:#637689;}.scroll-top-wrapper.show{visibility:visible;cursor:pointer;opacity:1;}.scroll-top-wrapper i.fa{line-height:inherit;}.no-search-results{text-align:center;}.no-search-results .no-search-results-icon{font-size:10em;color:#4e5d6c;}.no-search-results .no-search-results-text{margin:20px 0;color:#ccc;}.form-control-search{padding:13px 105px 13px 16px;height:100%;}.form-control-withbuttons{padding-right:105px;}.input-group-addon .btn-group{position:absolute;right:45px;z-index:3;top:13px;box-shadow:0 0 0;}.input-group-addon .btn-group .btn{border:1px solid rgba(255,255,255,.7) !important;padding:3px 12px;color:rgba(255,255,255,.7) !important;}.btn-split .btn{border-radius:0 !important;}.btn-split .btn:not(.dropdown-toggle){border-radius:.25rem 0 0 .25rem !important;}.btn-split .btn.dropdown-toggle{border-radius:0 .25rem .25rem 0 !important;padding:12px 8px;}#updateAvailable{background-color:#ffa400;text-align:center;font-size:15px;} \ No newline at end of file +@media(min-width:768px){.row{position:relative;}.bottom-align-text{position:absolute;bottom:0;right:0;}}@media(max-width:48em){.home{padding-top:1rem;}}@media(min-width:48em){.home{padding-top:4rem;}}.btn{border-radius:.25rem !important;}.multiSelect{background-color:#4e5d6c;}.form-control-custom{background-color:#4e5d6c !important;color:#fff !important;border-radius:0;box-shadow:0 0 0 !important;}h1{font-size:3.5rem !important;font-weight:600 !important;}.request-title{margin-top:0 !important;font-size:1.9rem !important;}p{font-size:1.1rem !important;}label{display:inline-block !important;margin-bottom:.5rem !important;font-size:16px !important;}.nav-tabs>li{font-size:13px;line-height:21px;}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{background:#4e5d6c;}.nav-tabs>li>a>.fa{padding:3px 5px 3px 3px;}.nav-tabs>li.nav-tab-right{float:right;}.nav-tabs>li.nav-tab-right a{margin-right:0;margin-left:2px;}.nav-tabs>li.nav-tab-icononly .fa{padding:3px;}.navbar .nav a .fa,.dropdown-menu a .fa{font-size:130%;top:1px;position:relative;display:inline-block;margin-right:5px;}.dropdown-menu a .fa{top:2px;}.btn-danger-outline{color:#d9534f !important;background-color:transparent;background-image:none;border-color:#d9534f !important;}.btn-danger-outline:focus,.btn-danger-outline.focus,.btn-danger-outline:active,.btn-danger-outline.active,.btn-danger-outline:hover,.open>.btn-danger-outline.dropdown-toggle{color:#fff !important;background-color:#d9534f !important;border-color:#d9534f !important;}.btn-primary-outline{color:#ff761b !important;background-color:transparent;background-image:none;border-color:#ff761b !important;}.btn-primary-outline:focus,.btn-primary-outline.focus,.btn-primary-outline:active,.btn-primary-outline.active,.btn-primary-outline:hover,.open>.btn-primary-outline.dropdown-toggle{color:#fff !important;background-color:#df691a !important;border-color:#df691a !important;}.btn-info-outline{color:#5bc0de !important;background-color:transparent;background-image:none;border-color:#5bc0de !important;}.btn-info-outline:focus,.btn-info-outline.focus,.btn-info-outline:active,.btn-info-outline.active,.btn-info-outline:hover,.open>.btn-info-outline.dropdown-toggle{color:#fff !important;background-color:#5bc0de !important;border-color:#5bc0de !important;}.btn-warning-outline{color:#f0ad4e !important;background-color:transparent;background-image:none;border-color:#f0ad4e !important;}.btn-warning-outline:focus,.btn-warning-outline.focus,.btn-warning-outline:active,.btn-warning-outline.active,.btn-warning-outline:hover,.open>.btn-warning-outline.dropdown-toggle{color:#fff !important;background-color:#f0ad4e !important;border-color:#f0ad4e !important;}.btn-success-outline{color:#5cb85c !important;background-color:transparent;background-image:none;border-color:#5cb85c !important;}.btn-success-outline:focus,.btn-success-outline.focus,.btn-success-outline:active,.btn-success-outline.active,.btn-success-outline:hover,.open>.btn-success-outline.dropdown-toggle{color:#fff !important;background-color:#5cb85c !important;border-color:#5cb85c !important;}#movieList .mix{display:none;}#tvList .mix{display:none;}.scroll-top-wrapper{position:fixed;opacity:0;visibility:hidden;overflow:hidden;text-align:center;z-index:99999999;background-color:#4e5d6c;color:#eee;width:50px;height:48px;line-height:48px;right:30px;bottom:30px;padding-top:2px;border-top-left-radius:10px;border-top-right-radius:10px;border-bottom-right-radius:10px;border-bottom-left-radius:10px;-webkit-transition:all .5s ease-in-out;-moz-transition:all .5s ease-in-out;-ms-transition:all .5s ease-in-out;-o-transition:all .5s ease-in-out;transition:all .5s ease-in-out;}.scroll-top-wrapper:hover{background-color:#637689;}.scroll-top-wrapper.show{visibility:visible;cursor:pointer;opacity:1;}.scroll-top-wrapper i.fa{line-height:inherit;}.no-search-results{text-align:center;}.no-search-results .no-search-results-icon{font-size:10em;color:#4e5d6c;}.no-search-results .no-search-results-text{margin:20px 0;color:#ccc;}.form-control-search{padding:13px 105px 13px 16px;height:100%;}.form-control-withbuttons{padding-right:105px;}.input-group-addon .btn-group{position:absolute;right:45px;z-index:3;top:13px;box-shadow:0 0 0;}.input-group-addon .btn-group .btn{border:1px solid rgba(255,255,255,.7) !important;padding:3px 12px;color:rgba(255,255,255,.7) !important;}.btn-split .btn{border-radius:0 !important;}.btn-split .btn:not(.dropdown-toggle){border-radius:.25rem 0 0 .25rem !important;}.btn-split .btn.dropdown-toggle{border-radius:0 .25rem .25rem 0 !important;padding:12px 8px;}#updateAvailable{background-color:#ffa400;text-align:center;font-size:15px;}.checkbox label{display:inline-block;cursor:pointer;position:relative;padding-left:25px;margin-right:15px;font-size:13px;margin-bottom:10px;}.checkbox label:before{content:"";display:inline-block;width:18px;height:18px;margin-right:10px;position:absolute;left:0;bottom:1px;border:2px solid #eee;border-radius:3px;}.checkbox input[type=checkbox]{display:none;}.checkbox input[type=checkbox]:checked+label:before{content:"✓";font-size:13px;color:#fafafa;text-align:center;line-height:13px;}.input-group-sm{padding-top:2px;padding-bottom:2px;}.tab-pane .form-horizontal .form-group{margin-right:15px;margin-left:15px;} \ No newline at end of file diff --git a/PlexRequests.UI/Content/custom.scss b/PlexRequests.UI/Content/custom.scss index e2fd7c26d..0157bed3e 100644 --- a/PlexRequests.UI/Content/custom.scss +++ b/PlexRequests.UI/Content/custom.scss @@ -69,12 +69,34 @@ label { font-size: 16px $i; } +.nav-tabs > li { + font-size: 13px; + line-height: 21px; +} + .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus { background: #4e5d6c; } +.nav-tabs > li > a > .fa { + padding: 3px 5px 3px 3px; +} + +.nav-tabs > li.nav-tab-right { + float: right; +} + +.nav-tabs > li.nav-tab-right a { + margin-right: 0; + margin-left: 2px; +} + +.nav-tabs > li.nav-tab-icononly .fa { + padding: 3px; +} + .navbar .nav a .fa, .dropdown-menu a .fa { font-size: 130%; @@ -284,4 +306,44 @@ $border-radius: 10px; background-color: rgb(255, 164, 0); text-align: center; font-size: 15px; -} \ No newline at end of file +} + +.checkbox label { + display: inline-block; + cursor: pointer; + position: relative; + padding-left: 25px; + margin-right: 15px; + font-size: 13px; + margin-bottom: 10px; } + + .checkbox label:before { + content: ""; + display: inline-block; + width: 18px; + height: 18px; + margin-right: 10px; + position: absolute; + left: 0; + bottom: 1px; + border: 2px solid #eee; + border-radius: 3px; } + + .checkbox input[type=checkbox] { + display: none; } + + .checkbox input[type=checkbox]:checked + label:before { + content: "\2713"; + font-size: 13px; + color: #fafafa; + text-align: center; + line-height: 13px; } + +.input-group-sm{ + padding-top: 2px; + padding-bottom: 2px; +} + +.tab-pane .form-horizontal .form-group { + margin-right: 15px; + margin-left: 15px; } \ No newline at end of file diff --git a/PlexRequests.UI/Helpers/BaseUrlHelper.cs b/PlexRequests.UI/Helpers/BaseUrlHelper.cs index 4071f00d8..fd14cf23e 100644 --- a/PlexRequests.UI/Helpers/BaseUrlHelper.cs +++ b/PlexRequests.UI/Helpers/BaseUrlHelper.cs @@ -57,6 +57,7 @@ namespace PlexRequests.UI.Helpers sb.AppendLine($""); sb.AppendLine($""); sb.AppendLine($""); + sb.AppendLine($""); sb.AppendLine($""); sb.AppendLine($""); diff --git a/PlexRequests.UI/Modules/AdminModule.cs b/PlexRequests.UI/Modules/AdminModule.cs index e1673c5e0..2e3c4233d 100644 --- a/PlexRequests.UI/Modules/AdminModule.cs +++ b/PlexRequests.UI/Modules/AdminModule.cs @@ -278,7 +278,7 @@ namespace PlexRequests.UI.Modules var token = settings?.PlexAuthToken; if (token == null) { - return Response.AsJson(string.Empty); + return Response.AsJson(new { Result = true, Users = string.Empty }); } try { diff --git a/PlexRequests.UI/PlexRequests.UI.csproj b/PlexRequests.UI/PlexRequests.UI.csproj index f9058cdb2..50c045ad1 100644 --- a/PlexRequests.UI/PlexRequests.UI.csproj +++ b/PlexRequests.UI/PlexRequests.UI.csproj @@ -196,6 +196,9 @@ + + PreserveNewest + PreserveNewest @@ -363,6 +366,9 @@ compilerconfig.json + + PreserveNewest + Always diff --git a/PlexRequests.UI/Views/Admin/Authentication.cshtml b/PlexRequests.UI/Views/Admin/Authentication.cshtml index 129220cd6..471b10903 100644 --- a/PlexRequests.UI/Views/Admin/Authentication.cshtml +++ b/PlexRequests.UI/Views/Admin/Authentication.cshtml @@ -16,35 +16,35 @@
- +
- +
diff --git a/PlexRequests.UI/Views/Admin/CouchPotato.cshtml b/PlexRequests.UI/Views/Admin/CouchPotato.cshtml index 0e52986e2..8558534f2 100644 --- a/PlexRequests.UI/Views/Admin/CouchPotato.cshtml +++ b/PlexRequests.UI/Views/Admin/CouchPotato.cshtml @@ -17,16 +17,16 @@ CouchPotato Settings
- +
@@ -53,16 +53,16 @@
- +
diff --git a/PlexRequests.UI/Views/Admin/EmailNotifications.cshtml b/PlexRequests.UI/Views/Admin/EmailNotifications.cshtml index ef12311e3..b9b22f5a7 100644 --- a/PlexRequests.UI/Views/Admin/EmailNotifications.cshtml +++ b/PlexRequests.UI/Views/Admin/EmailNotifications.cshtml @@ -18,44 +18,44 @@
- +
- +
- +
Please note that if user notifications is enabled, the email will get sent with the SMTP set-up below. diff --git a/PlexRequests.UI/Views/Admin/Headphones.cshtml b/PlexRequests.UI/Views/Admin/Headphones.cshtml index 4145b53bf..f95b3ffdf 100644 --- a/PlexRequests.UI/Views/Admin/Headphones.cshtml +++ b/PlexRequests.UI/Views/Admin/Headphones.cshtml @@ -17,30 +17,30 @@ Headphones Settings
- +
- +
diff --git a/PlexRequests.UI/Views/Admin/Plex.cshtml b/PlexRequests.UI/Views/Admin/Plex.cshtml index a4b9a2787..d50364b02 100644 --- a/PlexRequests.UI/Views/Admin/Plex.cshtml +++ b/PlexRequests.UI/Views/Admin/Plex.cshtml @@ -32,16 +32,16 @@
- +
diff --git a/PlexRequests.UI/Views/Admin/PushbulletNotifications.cshtml b/PlexRequests.UI/Views/Admin/PushbulletNotifications.cshtml index 9ef592b7a..a4a53a902 100644 --- a/PlexRequests.UI/Views/Admin/PushbulletNotifications.cshtml +++ b/PlexRequests.UI/Views/Admin/PushbulletNotifications.cshtml @@ -8,16 +8,16 @@
- +
diff --git a/PlexRequests.UI/Views/Admin/PushoverNotifications.cshtml b/PlexRequests.UI/Views/Admin/PushoverNotifications.cshtml index e67c1b541..8417bb227 100644 --- a/PlexRequests.UI/Views/Admin/PushoverNotifications.cshtml +++ b/PlexRequests.UI/Views/Admin/PushoverNotifications.cshtml @@ -8,16 +8,16 @@
- +
diff --git a/PlexRequests.UI/Views/Admin/Settings.cshtml b/PlexRequests.UI/Views/Admin/Settings.cshtml index 67e484970..1c1a42e59 100644 --- a/PlexRequests.UI/Views/Admin/Settings.cshtml +++ b/PlexRequests.UI/Views/Admin/Settings.cshtml @@ -23,7 +23,7 @@
- Request Plex Settings + Plex Request Settings
@@ -42,138 +42,137 @@
You will have to restart after changing the url base. -
+
- - + +
-
+
- +
- +
- +
- - -
+
- +
- - -
-
+ -

A comma separated list of users whose requests do not require approval.

-
- -
-
- +
+

A comma separated list of users whose requests do not require approval.

+
+ +
+ +
+
+ @*
- -
- -
-
//TODO: Need to implement this*@ + +
+ +
+
//TODO: Need to implement this*@
diff --git a/PlexRequests.UI/Views/Admin/Sickrage.cshtml b/PlexRequests.UI/Views/Admin/Sickrage.cshtml index 34eb87a42..6181f0b0e 100644 --- a/PlexRequests.UI/Views/Admin/Sickrage.cshtml +++ b/PlexRequests.UI/Views/Admin/Sickrage.cshtml @@ -17,16 +17,14 @@ SickRage Settings
-
@@ -53,16 +51,15 @@
-
diff --git a/PlexRequests.UI/Views/Admin/Sonarr.cshtml b/PlexRequests.UI/Views/Admin/Sonarr.cshtml index 1607b0d41..56f14cb7e 100644 --- a/PlexRequests.UI/Views/Admin/Sonarr.cshtml +++ b/PlexRequests.UI/Views/Admin/Sonarr.cshtml @@ -17,16 +17,14 @@ Sonarr Settings
-
@@ -53,16 +51,14 @@
-
@@ -93,7 +89,7 @@
- +
+
diff --git a/PlexRequests.UI/Views/Login/Index.cshtml b/PlexRequests.UI/Views/Login/Index.cshtml index 37a07dc33..bbdf57068 100644 --- a/PlexRequests.UI/Views/Login/Index.cshtml +++ b/PlexRequests.UI/Views/Login/Index.cshtml @@ -8,15 +8,16 @@ } } - Username -
- Password -
- Remember Me -

- + Username +
+ Password +
+ + +
+ - + @if (!Model.AdminExists) { diff --git a/PlexRequests.UI/Views/Search/Index.cshtml b/PlexRequests.UI/Views/Search/Index.cshtml index 1c419cdc8..3d26aab63 100644 --- a/PlexRequests.UI/Views/Search/Index.cshtml +++ b/PlexRequests.UI/Views/Search/Index.cshtml @@ -12,28 +12,35 @@

Want to watch something that is not currently on Plex?! No problem! Just search for it below and request it!


-
-
- -
-
+ @@ -102,9 +109,32 @@
} -
+ +
+
+
+
+
+ +
+
+
+
+ + +
+
+
+
+ +
+
+
+
+
+
diff --git a/PlexRequests.UI/Views/UserLogin/Index.cshtml b/PlexRequests.UI/Views/UserLogin/Index.cshtml index aada16203..ebef5b3cb 100644 --- a/PlexRequests.UI/Views/UserLogin/Index.cshtml +++ b/PlexRequests.UI/Views/UserLogin/Index.cshtml @@ -24,11 +24,12 @@
- +
+
} -
+ diff --git a/PlexRequests.Updater/Updater.cs b/PlexRequests.Updater/Updater.cs index 43b44007c..2b32317b0 100644 --- a/PlexRequests.Updater/Updater.cs +++ b/PlexRequests.Updater/Updater.cs @@ -95,7 +95,7 @@ namespace PlexRequests.Updater fullname = entry.FullName.Replace("Release/", string.Empty); } - var fullPath = Path.Combine(Path.Combine(Path.GetDirectoryName(Application.ExecutablePath)), fullname); + var fullPath = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), fullname); if (string.IsNullOrEmpty(entry.Name)) {