From 328e10b89f56d11c4bc0cf7dc3892ed028dcd9cd Mon Sep 17 00:00:00 2001
From: Svilen Markov <7613769+svilenmarkov@users.noreply.github.com>
Date: Sat, 10 Aug 2024 18:01:54 +0100
Subject: [PATCH] Don't show error if RSS feeds didn't return any items
---
internal/assets/templates/rss-detailed-list.html | 2 ++
internal/assets/templates/rss-horizontal-cards-2.html | 4 ++++
internal/assets/templates/rss-horizontal-cards.html | 4 ++++
internal/assets/templates/rss-list.html | 2 ++
internal/feed/rss.go | 2 +-
internal/widget/rss.go | 3 +++
6 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/internal/assets/templates/rss-detailed-list.html b/internal/assets/templates/rss-detailed-list.html
index a926002..311923d 100644
--- a/internal/assets/templates/rss-detailed-list.html
+++ b/internal/assets/templates/rss-detailed-list.html
@@ -33,6 +33,8 @@
{{ end }}
+ {{ else }}
+
{{ .NoItemsMessage }}
{{ end }}
{{ end }}
diff --git a/internal/assets/templates/rss-horizontal-cards-2.html b/internal/assets/templates/rss-horizontal-cards-2.html
index ffacc2f..0404fce 100644
--- a/internal/assets/templates/rss-horizontal-cards-2.html
+++ b/internal/assets/templates/rss-horizontal-cards-2.html
@@ -3,6 +3,7 @@
{{ define "widget-content-classes" }}widget-content-frameless{{ end }}
{{ define "widget-content" }}
+{{ if gt (len .Items) 0 }}
{{ range .Items }}
@@ -25,4 +26,7 @@
{{ end }}
+{{ else }}
+{{ .NoItemsMessage }}
+{{ end }}
{{ end }}
diff --git a/internal/assets/templates/rss-horizontal-cards.html b/internal/assets/templates/rss-horizontal-cards.html
index b9eabf7..0f79b56 100644
--- a/internal/assets/templates/rss-horizontal-cards.html
+++ b/internal/assets/templates/rss-horizontal-cards.html
@@ -3,6 +3,7 @@
{{ define "widget-content-classes" }}widget-content-frameless{{ end }}
{{ define "widget-content" }}
+{{ if gt (len .Items) 0 }}
{{ range .Items }}
@@ -25,4 +26,7 @@
{{ end }}
+{{ else }}
+{{ .NoItemsMessage }}
+{{ end }}
{{ end }}
diff --git a/internal/assets/templates/rss-list.html b/internal/assets/templates/rss-list.html
index 8116232..b0291ad 100644
--- a/internal/assets/templates/rss-list.html
+++ b/internal/assets/templates/rss-list.html
@@ -12,6 +12,8 @@
+ {{ else }}
+ {{ .NoItemsMessage }}
{{ end }}
{{ end }}
diff --git a/internal/feed/rss.go b/internal/feed/rss.go
index 27b4ea2..4374ca1 100644
--- a/internal/feed/rss.go
+++ b/internal/feed/rss.go
@@ -228,7 +228,7 @@ func GetItemsFromRSSFeeds(requests []RSSFeedRequest) (RSSFeedItems, error) {
entries = append(entries, feeds[i]...)
}
- if len(entries) == 0 {
+ if failed == len(requests) {
return nil, ErrNoContent
}
diff --git a/internal/widget/rss.go b/internal/widget/rss.go
index de89ec3..72b6ca6 100644
--- a/internal/widget/rss.go
+++ b/internal/widget/rss.go
@@ -18,6 +18,7 @@ type RSS struct {
Items feed.RSSFeedItems `yaml:"-"`
Limit int `yaml:"limit"`
CollapseAfter int `yaml:"collapse-after"`
+ NoItemsMessage string `yaml:"-"`
}
func (widget *RSS) Initialize() error {
@@ -45,6 +46,8 @@ func (widget *RSS) Initialize() error {
}
}
+ widget.NoItemsMessage = "No items were returned from the feeds."
+
return nil
}