From 383ee780613116e78db9114a39a2d6127533463c Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Wed, 19 Mar 2025 20:49:46 +0100 Subject: feat: show last/next/current indexing run time --- internal/components/search.go | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'internal/components/search.go') diff --git a/internal/components/search.go b/internal/components/search.go index 0a7c991..d629eef 100644 --- a/internal/components/search.go +++ b/internal/components/search.go @@ -1,6 +1,8 @@ package components import ( + "time" + g "go.alanpearce.eu/gomponents" . "go.alanpearce.eu/gomponents/html" ) @@ -40,6 +42,40 @@ func SearchPage(tdata TemplateData, r ResultData, children ...g.Node) g.Node { g.Text(" and "), A(Href("https://github.com/nix-community/home-manager"), g.Text("home-manager")), ), + g.If(Indexing.InProgress, + P(Class("notice"), + g.Text("Indexing in progress, started "), + Time( + DateTime(Indexing.StartedAt.Format(time.RFC3339)), + Title(Indexing.StartedAt.Format(time.RFC3339)), + g.Text(time.Since(Indexing.StartedAt).Round(time.Second).String()), + ), + g.Text(" ago. "), + g.If(!Indexing.FinishedAt.IsZero(), + g.Text("Last run took "), + Time( + DateTime(Indexing.FinishedAt.Format(time.RFC3339)), + Title(Indexing.FinishedAt.Format(time.RFC3339)), + g.Text(time.Since(Indexing.FinishedAt).Round(time.Minute).String()), + ), + ), + ), + P( + g.Text("Indexing last ran "), + Time( + DateTime(Indexing.FinishedAt.Format(time.RFC3339)), + Title(Indexing.FinishedAt.Format(time.RFC3339)), + g.Text(time.Since(Indexing.FinishedAt).Round(time.Minute).String()), + ), + g.Text(" ago, will run again in "), + Time( + DateTime(Indexing.NextRun.Format(time.RFC3339)), + Title(Indexing.NextRun.Format(time.RFC3339)), + g.Text(time.Until(Indexing.NextRun).Round(time.Minute).String()), + ), + g.Text("."), + ), + ), script(tdata.Assets.ByPath["/static/search.js"]), Search(tdata, r), Section( -- cgit 1.4.1