aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2014-07-26 13:56:44 +0200
committerGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2014-07-26 13:56:44 +0200
commitd19824b919289ad63743f27da7861f2422da5baa (patch)
treef99fe4c3dec6382289a0e25dddaeccbdd046cc2f
parent584665eed4dfc1bf31c7557edd96e90b64f90c54 (diff)
Hide read feeds and read categories when in unread mode
https://github.com/marienfressinaud/FreshRSS/issues/430 There are some repeated HTML attributes (`data-unread` and `active`) which could maybe be simplified. If some people do not like this behaviour, we could consider having an option.
-rw-r--r--app/layout/aside_flux.phtml6
-rw-r--r--p/scripts/main.js8
-rw-r--r--p/themes/Dark/template.css3
-rw-r--r--p/themes/Flat/template.css3
-rw-r--r--p/themes/Origine/template.css3
-rw-r--r--p/themes/base-theme/template.css3
6 files changed, 23 insertions, 3 deletions
diff --git a/app/layout/aside_flux.phtml b/app/layout/aside_flux.phtml
index 817dae676..7eebc569b 100644
--- a/app/layout/aside_flux.phtml
+++ b/app/layout/aside_flux.phtml
@@ -1,4 +1,4 @@
-<div class="aside aside_flux" id="aside_flux">
+<div class="aside aside_flux<?php if (($this->state & FreshRSS_Entry::STATE_NOT_READ) && !($this->state & FreshRSS_Entry::STATE_READ)) echo ' state_unread'; ?>" id="aside_flux">
<a class="toggle_aside" href="#close"><?php echo FreshRSS_Themes::icon('close'); ?></a>
<ul class="categories">
@@ -41,11 +41,11 @@
foreach ($this->cat_aside as $cat) {
$feeds = $cat->feeds ();
if (!empty ($feeds)) {
- ?><li><?php
$c_active = false;
if ($this->get_c == $cat->id ()) {
$c_active = true;
}
+ ?><li data-unread="<?php echo $cat->nbNotRead(); ?>"<?php if ($c_active) echo ' class="active"'; ?>><?php
?><div class="category stick<?php echo $c_active ? ' active' : ''; ?>"><?php
?><a data-unread="<?php echo formatNumber($cat->nbNotRead()); ?>" class="btn<?php echo $c_active ? ' active' : ''; ?>" href="<?php $arUrl['params']['get'] = 'c_' . $cat->id(); echo Minz_Url::display($arUrl); ?>"><?php echo $cat->name (); ?></a><?php
?><a class="btn dropdown-toggle" href="#"><?php echo FreshRSS_Themes::icon($c_active ? 'up' : 'down'); ?></a><?php
@@ -55,7 +55,7 @@
$feed_id = $feed->id ();
$nbEntries = $feed->nbEntries ();
$f_active = ($this->get_f == $feed_id);
- ?><li id="f_<?php echo $feed_id; ?>" class="item<?php echo $f_active ? ' active' : ''; ?><?php echo $feed->inError () ? ' error' : ''; ?><?php echo $nbEntries == 0 ? ' empty' : ''; ?>"><?php
+ ?><li id="f_<?php echo $feed_id; ?>" class="item<?php echo $f_active ? ' active' : ''; ?><?php echo $feed->inError () ? ' error' : ''; ?><?php echo $nbEntries == 0 ? ' empty' : ''; ?>" data-unread="<?php echo $feed->nbNotRead(); ?>"><?php
?><div class="dropdown"><?php
?><div class="dropdown-target"></div><?php
?><a class="dropdown-toggle" data-fweb="<?php echo $feed->website (); ?>"><?php echo FreshRSS_Themes::icon('configure'); ?></a><?php
diff --git a/p/scripts/main.js b/p/scripts/main.js
index d0f3c27e9..1cc26f57f 100644
--- a/p/scripts/main.js
+++ b/p/scripts/main.js
@@ -69,6 +69,10 @@ function incUnreadsFeed(article, feed_id, nb) {
feed_priority = elem ? str2int(elem.getAttribute('data-priority')) : 0;
if (elem) {
elem.setAttribute('data-unread', numberFormat(feed_unreads + nb));
+ elem = $(elem).closest('li').get(0);
+ if (elem) {
+ elem.setAttribute('data-unread', feed_unreads + nb);
+ }
}
//Update unread: category
@@ -76,6 +80,10 @@ function incUnreadsFeed(article, feed_id, nb) {
feed_unreads = elem ? str2int(elem.getAttribute('data-unread')) : 0;
if (elem) {
elem.setAttribute('data-unread', numberFormat(feed_unreads + nb));
+ elem = $(elem).closest('li').get(0);
+ if (elem) {
+ elem.setAttribute('data-unread', feed_unreads + nb);
+ }
}
//Update unread: all
diff --git a/p/themes/Dark/template.css b/p/themes/Dark/template.css
index 09ecaf685..466ec4603 100644
--- a/p/themes/Dark/template.css
+++ b/p/themes/Dark/template.css
@@ -309,6 +309,9 @@ a.btn {
list-style: none;
margin: 0;
}
+.state_unread li:not(.active)[data-unread="0"] {
+ display: none;
+}
.category {
display: block;
overflow: hidden;
diff --git a/p/themes/Flat/template.css b/p/themes/Flat/template.css
index 09ecaf685..466ec4603 100644
--- a/p/themes/Flat/template.css
+++ b/p/themes/Flat/template.css
@@ -309,6 +309,9 @@ a.btn {
list-style: none;
margin: 0;
}
+.state_unread li:not(.active)[data-unread="0"] {
+ display: none;
+}
.category {
display: block;
overflow: hidden;
diff --git a/p/themes/Origine/template.css b/p/themes/Origine/template.css
index 09ecaf685..466ec4603 100644
--- a/p/themes/Origine/template.css
+++ b/p/themes/Origine/template.css
@@ -309,6 +309,9 @@ a.btn {
list-style: none;
margin: 0;
}
+.state_unread li:not(.active)[data-unread="0"] {
+ display: none;
+}
.category {
display: block;
overflow: hidden;
diff --git a/p/themes/base-theme/template.css b/p/themes/base-theme/template.css
index 09ecaf685..466ec4603 100644
--- a/p/themes/base-theme/template.css
+++ b/p/themes/base-theme/template.css
@@ -309,6 +309,9 @@ a.btn {
list-style: none;
margin: 0;
}
+.state_unread li:not(.active)[data-unread="0"] {
+ display: none;
+}
.category {
display: block;
overflow: hidden;