diff --git a/data/interfaces/default/css/tautulli.css b/data/interfaces/default/css/tautulli.css index 8cad039f..0c81f0e5 100644 --- a/data/interfaces/default/css/tautulli.css +++ b/data/interfaces/default/css/tautulli.css @@ -338,20 +338,20 @@ object { } .btn-dark:focus, .btn-dark.focus { - color: #d7d7d7; - background-color: #3B3B3B; + color: #d7d7d7; + background-color: #3B3B3B; } .btn-dark:hover { - color: #eee; - background-color: #333; - border-color: #444; + color: #eee; + background-color: #333; + border-color: #444; } .btn-dark:active, .btn-dark.active, .open > .dropdown-toggle.btn-dark { - color: #eee; - background-color: #333; - border-color: #444; + color: #eee; + background-color: #333; + border-color: #444; } .btn-dark:active:hover, .btn-dark.active:hover, @@ -362,13 +362,13 @@ object { .btn-dark:active.focus, .btn-dark.active.focus, .open > .dropdown-toggle.btn-dark.focus { - color: #eee; - background-color: #333; + color: #eee; + background-color: #333; } .btn-dark:active, .btn-dark.active, .open > .dropdown-toggle.btn-dark { - background-image: none; + background-image: none; } .btn-dark.disabled, .btn-dark[disabled], @@ -388,8 +388,8 @@ fieldset[disabled] .btn-dark:active, .btn-dark.disabled.active, .btn-dark[disabled].active, fieldset[disabled] .btn-dark.active { - background-color: #333; - color: #aaa; + background-color: #333; + color: #aaa; } .btn-dark.inactive:hover { color: #d7d7d7; @@ -398,30 +398,30 @@ fieldset[disabled] .btn-dark.active { cursor: default; } .btn-dark .badge { - color: #e5e5e5; - background-color: #3B3B3B; + color: #e5e5e5; + background-color: #3B3B3B; } .btn-bright { - color: #eee; - background-color: #cc7b19; - box-shadow: inset 0 1px 0 #e7993b; + color: #eee; + background-color: #cc7b19; + box-shadow: inset 0 1px 0 #e7993b; } .btn-bright:focus, .btn-bright.focus { - color: #eee; - background-color: #eb8600; + color: #eee; + background-color: #eb8600; } .btn-bright:hover { - color: #eee; - background-color: #e59029; - box-shadow: inset 0 1px 0 #ebac60; + color: #eee; + background-color: #e59029; + box-shadow: inset 0 1px 0 #ebac60; } .btn-bright:active, .btn-bright.active, .open > .dropdown-toggle.btn-bright { - color: #eee; - background-color: #cc7b19; - box-shadow: inset 0 1px 0 #e7993b; + color: #eee; + background-color: #cc7b19; + box-shadow: inset 0 1px 0 #e7993b; } .btn-bright:active:hover, .btn-bright.active:hover, @@ -432,14 +432,14 @@ fieldset[disabled] .btn-dark.active { .btn-bright:active.focus, .btn-bright.active.focus, .open > .dropdown-toggle.btn-bright.focus { - color: #eee; - background-color: #cc7b19; - box-shadow: inset 0 1px 0 #e7993b; + color: #eee; + background-color: #cc7b19; + box-shadow: inset 0 1px 0 #e7993b; } .btn-bright:active, .btn-bright.active, .open > .dropdown-toggle.btn-bright { - background-image: none; + background-image: none; } .btn-bright.disabled, .btn-bright[disabled], @@ -459,13 +459,13 @@ fieldset[disabled] .btn-bright:active, .btn-bright.disabled.active, .btn-bright[disabled].active, fieldset[disabled] .btn-bright.active { - background-color: #cc7b19; - border-color: #b56d16; + background-color: #cc7b19; + border-color: #b56d16; } .btn-bright .badge { - color: #eee; - background-color: #cc7b19; - box-shadow: inset 0 1px 0 #e7993b; + color: #eee; + background-color: #cc7b19; + box-shadow: inset 0 1px 0 #e7993b; } .btn-danger.btn-edit { color: #d7d7d7; @@ -479,14 +479,14 @@ fieldset[disabled] .btn-bright.active { border-color: #ac2925; } .btn-danger.btn-edit.active { - color: #eee; - background-color: #c9302c; - border-color: #ac2925; + color: #eee; + background-color: #c9302c; + border-color: #ac2925; } .btn-danger.btn-edit.active:hover { - color: #eee; - background-color: #ac2925; - border-color: #761c19; + color: #eee; + background-color: #ac2925; + border-color: #761c19; } .btn-group select { margin-top: 0; @@ -667,12 +667,12 @@ textarea.form-control:focus { white-space: nowrap; vertical-align: middle; -ms-touch-action: manipulation; - touch-action: manipulation; + touch-action: manipulation; cursor: pointer; -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; background-image: none; background-color: #3B3B3B; color: #e5e5e5; @@ -690,10 +690,10 @@ textarea.form-control:focus { } .btn-filter.active, .btn-filter.active.focus { - background-color: #b7800a !important; + background-color: #b7800a !important; } .btn-filter.active:hover { - background-color: #896007 !important; + background-color: #896007 !important; } .form-control-feedback { color: #E5A00D; @@ -1281,7 +1281,7 @@ a .dashboard-activity-metadata-user-thumb:hover { -webkit-backface-visibility: hidden; backface-visibility: hidden; z-index: 1; - -webkit-border-radius: 50%; + -webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 350%; overflow: hidden; @@ -2203,8 +2203,8 @@ span.settings-warning { padding-left: 10px; } #menu_link_show_advanced_settings.active { - color: #eee; - background-color: #cc7b19; + color: #eee; + background-color: #cc7b19; } #configUpdate .form-group, #configUpdate .checkbox{ @@ -2854,6 +2854,30 @@ a .home-platforms-list-cover-face:hover overflow: hidden; max-width: 350px; } +.circle { + width: 1.55rem; + height: 1.55rem; + border-radius: 50%; + border: 0.2rem solid #eeeeee; +} +.circle-quarter { + background-image: + linear-gradient(00deg, #2b2b2b 50%, transparent 50%), + linear-gradient(270deg, #eeeeee 50%, transparent 50%); +} +.circle-half { + background-image: + linear-gradient(90deg, #2b2b2b 50%, transparent 50%), + linear-gradient(-90deg, #eeeeee 50%, transparent 50%); + } +.circle-three-quarter { + background-image: + linear-gradient(180deg, transparent 50%, #eeeeee 50%), + linear-gradient(-90deg, #eeeeee 50%, transparent 50%); +} +.circle-full { + background: #eeeeee; +} #graph-tabs { padding-bottom: 10px; float: none; @@ -2991,8 +3015,8 @@ a .home-platforms-list-cover-face:hover border-left: 2px solid #444; border-top: 1px solid #2d2d2d; -webkit-transition: all 0.3s ease; - -o-transition: all 0.3s ease; - transition: all 0.3s ease; + -o-transition: all 0.3s ease; + transition: all 0.3s ease; } .stacked-configs > li > span:hover, .stacked-configs > li > span:focus { diff --git a/data/interfaces/default/js/tables/history_table.js b/data/interfaces/default/js/tables/history_table.js index d209f90e..7f9d578f 100644 --- a/data/interfaces/default/js/tables/history_table.js +++ b/data/interfaces/default/js/tables/history_table.js @@ -263,13 +263,17 @@ history_table_options = { "targets": [12], "data": "watched_status", "createdCell": function (td, cellData, rowData, row, col) { + var circleValue = ""; if (cellData == 1) { - $(td).html(''); + circleValue = " circle-full"; + } else if (cellData == 0.75) { + circleValue = " circle-three-quarter"; } else if (cellData == 0.5) { - $(td).html(''); - } else { - $(td).html(''); + circleValue = " circle-half"; + } else if (cellData == 0.25) { + circleValue = " circle-quarter"; } + $(td).html('
'); }, "searchable": false, "orderable": false, diff --git a/plexpy/datafactory.py b/plexpy/datafactory.py index 0937480d..de3ed030 100644 --- a/plexpy/datafactory.py +++ b/plexpy/datafactory.py @@ -281,13 +281,19 @@ class DataFactory(object): if item['live']: item['percent_complete'] = 100 + base_watched_value = watched_percent[item['media_type']] / 4.0 + if helpers.check_watched( item['media_type'], item['view_offset'], item['duration'], item['marker_credits_first'], item['marker_credits_final'] ): watched_status = 1 - elif item['percent_complete'] >= watched_percent[item['media_type']] / 2.0: - watched_status = 0.5 + elif item['percent_complete'] >= base_watched_value * 3.0: + watched_status = 0.75 + elif item['percent_complete'] >= base_watched_value * 2.0: + watched_status = 0.50 + elif item['percent_complete'] >= base_watched_value: + watched_status = 0.25 else: watched_status = 0