about summary refs log tree commit diff stats
path: root/internal/components
diff options
context:
space:
mode:
authorAlan Pearce2025-01-05 20:51:24 +0100
committerAlan Pearce2025-01-05 20:51:24 +0100
commit920764211064521930441b96ed914034302a7470 (patch)
tree17ec08690e47ecc7e3103de7fe1729874ca9527c /internal/components
parentd289e54af28de6b21cbe49cebc262c4e3ca9f6d2 (diff)
downloadsearchix-920764211064521930441b96ed914034302a7470.tar.lz
searchix-920764211064521930441b96ed914034302a7470.tar.zst
searchix-920764211064521930441b96ed914034302a7470.zip
feat: offer to show all results on one page (if < 10000)
Implements: https://todo.sr.ht/~alanpearce/searchix/5
Diffstat (limited to 'internal/components')
-rw-r--r--internal/components/data.go1
-rw-r--r--internal/components/results.templ7
2 files changed, 6 insertions, 2 deletions
diff --git a/internal/components/data.go b/internal/components/data.go
index aecd44c..862429e 100644
--- a/internal/components/data.go
+++ b/internal/components/data.go
@@ -25,4 +25,5 @@ type ResultData struct {
 	Results *search.Result
 	Prev    string
 	Next    string
+	All     string
 }
diff --git a/internal/components/results.templ b/internal/components/results.templ
index 226b71e..fee211c 100644
--- a/internal/components/results.templ
+++ b/internal/components/results.templ
@@ -1,9 +1,9 @@
 package components
 
 import (
-	"strconv"
-	"go.alanpearce.eu/searchix/internal/nix"
 	"go.alanpearce.eu/searchix/internal/config"
+	"go.alanpearce.eu/searchix/internal/nix"
+	"strconv"
 )
 
 func convertMatch[I nix.Importable](m nix.Importable) *I {
@@ -37,6 +37,9 @@ templ Results(r ResultData) {
 					}
 				</nav>
 				<span role="status">{ strconv.FormatUint(r.Results.Total, 10) } results</span>
+				if r.Next != r.Prev && r.Results.Total < config.MaxResultsShowAll {
+					<a href={ templ.SafeURL(r.All) }>Show All</a>
+				}
 			</footer>
 		} else {
 			<span role="status">Nothing found</span>