From 0bb7871832bf83bfb75e343ade92a7abe629c046 Mon Sep 17 00:00:00 2001 From: Tim Van Baak Date: Tue, 18 Feb 2025 20:02:19 -0800 Subject: [PATCH] Expose lastUpdated on source feed page --- web/channel.go | 10 ++++++---- web/html/feed.html | 8 ++++++++ web/html/html.go | 9 +++++---- web/source.go | 15 +++++++++++---- 4 files changed, 30 insertions(+), 12 deletions(-) diff --git a/web/channel.go b/web/channel.go index a67aca9..2bf5e4a 100644 --- a/web/channel.go +++ b/web/channel.go @@ -3,6 +3,7 @@ package web import ( "fmt" "net/http" + "time" "github.com/Jaculabilis/intake/core" "github.com/Jaculabilis/intake/web/html" @@ -91,10 +92,11 @@ func (env *Env) getChannel(writer http.ResponseWriter, req *http.Request) { } data := html.FeedData{ - Items: items, - ShowHidden: showHidden, - Page: page, - Count: count, + Items: items, + ShowHidden: showHidden, + Page: page, + Count: count, + LastUpdated: time.Time{}, } html.Feed(writer, data) } diff --git a/web/html/feed.html b/web/html/feed.html index cc6c8e4..2ec95fe 100644 --- a/web/html/feed.html +++ b/web/html/feed.html @@ -27,11 +27,19 @@ hx-vals='{{ massDeacVars .Items }}' hx-confirm="Deactivate {{ len .Items }} items?" >Deactivate All +
+{{ if not .LastUpdated.IsZero }} +last updated {{ .LastUpdated | until }} ({{ .LastUpdated | dateFormat }}) +{{ end }} {{ else }}
Feed is empty +
+ {{ if not .LastUpdated.IsZero }} + last updated {{ .LastUpdated | until }} ({{ .LastUpdated | dateFormat }}) + {{ end }}
{{ end }} {{/* end if .Items */}} diff --git a/web/html/html.go b/web/html/html.go index f3c6705..99f1568 100644 --- a/web/html/html.go +++ b/web/html/html.go @@ -117,10 +117,11 @@ func Home(writer io.Writer, data HomeData) { var feed = load("feed.html", "item.html") type FeedData struct { - Items []core.Item - ShowHidden int - Page int - Count int + Items []core.Item + ShowHidden int + Page int + Count int + LastUpdated time.Time } func Feed(writer io.Writer, data FeedData) { diff --git a/web/source.go b/web/source.go index ff872da..9744ede 100644 --- a/web/source.go +++ b/web/source.go @@ -33,11 +33,18 @@ func (env *Env) getSource(writer http.ResponseWriter, req *http.Request) { return } + lastUpdated, err := core.GetLastUpdated(env.db, source) + if err != nil { + http.Error(writer, err.Error(), 500) + return + } + data := html.FeedData{ - Items: items, - ShowHidden: showHidden, - Page: page, - Count: count, + Items: items, + ShowHidden: showHidden, + Page: page, + Count: count, + LastUpdated: lastUpdated, } html.Feed(writer, data) }