From d91c275aed3ba4d3703018e39aeedc9df98ef993 Mon Sep 17 00:00:00 2001 From: admin Date: Mon, 10 Jun 2024 13:12:09 +0200 Subject: [PATCH] added "next" button for videos --- templates/videos.html | 42 ++++++++++++++++++++++++++---------------- video.go | 11 +++++++++-- 2 files changed, 35 insertions(+), 18 deletions(-) diff --git a/templates/videos.html b/templates/videos.html index 4289967..c3fa06e 100644 --- a/templates/videos.html +++ b/templates/videos.html @@ -10,10 +10,10 @@

Ocásek

- - - -
+ + + +
@@ -32,17 +32,16 @@
-
- - +
+ + +
-
-

@@ -51,11 +50,11 @@
-
+

{{ .Title }}

{{ .Views }} | {{ .Date }}

YouTube | {{ .Creator }}

@@ -64,12 +63,23 @@
{{ end }} {{ else }} -
No results found for '{{ .Query }}'. Try different keywords.
> +
No results found for '{{ .Query }}'. Try different keywords.
{{ end }} - +
+
+ + + {{ if .HasPrevPage }} + + {{ end }} + {{ if .HasNextPage }} + + {{ end }} +
+
- + \ No newline at end of file diff --git a/video.go b/video.go index ec78793..4aa1ec3 100644 --- a/video.go +++ b/video.go @@ -180,16 +180,23 @@ func handleVideoSearch(w http.ResponseWriter, query, safe, lang string, page int } elapsed := time.Since(start) - tmpl, err := template.ParseFiles("templates/videos.html") + tmpl, err := template.New("videos.html").Funcs(funcs).ParseFiles("templates/videos.html") if err != nil { log.Printf("Error parsing template: %v", err) http.Error(w, "Internal Server Error", http.StatusInternalServerError) return } - tmpl.Execute(w, map[string]interface{}{ + err = tmpl.Execute(w, map[string]interface{}{ "Results": results, "Query": query, "Fetched": fmt.Sprintf("%.2f seconds", elapsed.Seconds()), + "Page": page, + "HasPrevPage": page > 1, + "HasNextPage": len(results) > 0, // assuming you have a way to determine if there are more pages }) + if err != nil { + log.Printf("Error executing template: %v", err) + http.Error(w, "Internal Server Error", http.StatusInternalServerError) + } }