Show feeds with errors first

This commit is contained in:
Frédéric Guillot 2017-12-26 20:42:43 -08:00
parent 5a721e694b
commit a475b875c5
6 changed files with 47 additions and 16 deletions

File diff suppressed because one or more lines are too long

View File

@ -172,6 +172,15 @@ input[type="text"]:focus {
color: #ddd;
}
/* Feeds list */
article.feed-parsing-error {
background-color: #343434;
}
.parsing-error {
color: #eee;
}
/* Entry view */
.entry header {
border-color: #333;

View File

@ -485,6 +485,22 @@ a.button {
display: none;
}
/* Feeds list */
article.feed-parsing-error {
background-color: #fcf8e3;
border-color: #aaa;
}
.parsing-error {
font-size: 0.85em;
margin-top: 2px;
color: #333;
}
.parsing-error-count {
cursor: pointer;
}
/* Entry view */
.entry header {
padding-bottom: 5px;

View File

@ -24,7 +24,7 @@
{{ else }}
<div class="items">
{{ range .feeds }}
<article class="item">
<article class="item {{ if ne .ParsingErrorCount 0 }}feed-parsing-error{{ end }}">
<div class="item-header">
<span class="item-title">
{{ if .Icon }}
@ -44,9 +44,6 @@
<li>
{{ t "Last check:" }} <time datetime="{{ isodate .CheckedAt }}" title="{{ isodate .CheckedAt }}">{{ elapsed .CheckedAt }}</time>
</li>
{{ if ne .ParsingErrorCount 0 }}
<li><strong title="{{ .ParsingErrorMsg }}">{{ plural "plural.feed.error_count" .ParsingErrorCount .ParsingErrorCount }}</strong></li>
{{ end }}
</ul>
<ul>
<li>
@ -66,6 +63,12 @@
</li>
</ul>
</div>
{{ if ne .ParsingErrorCount 0 }}
<div class="parsing-error">
<strong title="{{ .ParsingErrorMsg }}" class="parsing-error-count">{{ plural "plural.feed.error_count" .ParsingErrorCount .ParsingErrorCount }}</strong>
<small class="parsing-error-message">({{ .ParsingErrorMsg }})</small>
</div>
{{ end }}
</article>
{{ end }}
</div>

View File

@ -1,5 +1,5 @@
// Code generated by go generate; DO NOT EDIT.
// 2017-12-24 14:32:38.873134292 -0800 PST m=+0.030159187
// 2017-12-26 20:38:06.293140899 -0800 PST m=+0.021474553
package template
@ -696,7 +696,7 @@ var templateViewsMap = map[string]string{
{{ else }}
<div class="items">
{{ range .feeds }}
<article class="item">
<article class="item {{ if ne .ParsingErrorCount 0 }}feed-parsing-error{{ end }}">
<div class="item-header">
<span class="item-title">
{{ if .Icon }}
@ -716,9 +716,6 @@ var templateViewsMap = map[string]string{
<li>
{{ t "Last check:" }} <time datetime="{{ isodate .CheckedAt }}" title="{{ isodate .CheckedAt }}">{{ elapsed .CheckedAt }}</time>
</li>
{{ if ne .ParsingErrorCount 0 }}
<li><strong title="{{ .ParsingErrorMsg }}">{{ plural "plural.feed.error_count" .ParsingErrorCount .ParsingErrorCount }}</strong></li>
{{ end }}
</ul>
<ul>
<li>
@ -738,6 +735,12 @@ var templateViewsMap = map[string]string{
</li>
</ul>
</div>
{{ if ne .ParsingErrorCount 0 }}
<div class="parsing-error">
<strong title="{{ .ParsingErrorMsg }}" class="parsing-error-count">{{ plural "plural.feed.error_count" .ParsingErrorCount .ParsingErrorCount }}</strong>
<small class="parsing-error-message">({{ .ParsingErrorMsg }})</small>
</div>
{{ end }}
</article>
{{ end }}
</div>
@ -1332,7 +1335,7 @@ var templateViewsMapChecksums = map[string]string{
"edit_user": "82d9749d76ddbd2352816d813c4b1f6d92f2222de678b4afe5821090246735c7",
"entry": "6b4405e0c8e4a7d31874659f8835f4e43e01dc3c20686091517ac750196dd70f",
"feed_entries": "ac93cb9a90f93ddd9dd8a67d7e160592ecb9f5e465ee9679bb14eecd8d4caf20",
"feeds": "2f04664f9daf1ea0259bccd7d5ab4c0917d3208f1dcdc89620ffa9fa3094efd2",
"feeds": "2a3951bfbb08e9f825ab4a018344e8ef8461a09efaf86ac9da3c99d6f3b2a2de",
"history": "abc7ea29f7d54f28f73fe14979bbd03dbc41fa6a7c86f95f56d6e94f7b09b9ba",
"import": "73b5112e20bfd232bf73334544186ea419505936bc237d481517a8622901878f",
"integrations": "3c14d7de904911aad7f3ebec6d1a20b50843287f58125c526e167f429f3d455d",

View File

@ -60,7 +60,7 @@ func (s *Storage) Feeds(userID int64) (model.Feeds, error) {
LEFT JOIN categories c ON c.id=f.category_id
LEFT JOIN feed_icons fi ON fi.feed_id=f.id
WHERE f.user_id=$1
ORDER BY f.id ASC`
ORDER BY f.parsing_error_count DESC, f.title ASC`
rows, err := s.db.Query(query, userID)
if err != nil {