diff --git a/internal/templates/catalog.templ b/internal/templates/catalog.templ
index 06f4022..d67d480 100644
--- a/internal/templates/catalog.templ
+++ b/internal/templates/catalog.templ
@@ -18,18 +18,21 @@ templ Catalog() {
}
}
-templ CatalogItems(animes []jikan.Anime, nextPage int, hasNext bool) {
+templ InfiniteAnimeList(animes []jikan.Anime, hasNext bool, nextURL string, containerID string) {
for _, anime := range animes {
@CatalogItem(anime)
}
if hasNext {
-
+
}
}
+templ CatalogItems(animes []jikan.Anime, nextPage int, hasNext bool) {
+ @InfiniteAnimeList(animes, hasNext, string(templ.URL(fmt.Sprintf("/api/catalog?page=%d", nextPage))), "catalog-content")
+}
+
templ CatalogItem(anime jikan.Anime) {
if anime.ImageURL() != "" {
diff --git a/internal/templates/discovery.templ b/internal/templates/discovery.templ
index 70cf138..2d9fed5 100644
--- a/internal/templates/discovery.templ
+++ b/internal/templates/discovery.templ
@@ -39,28 +39,5 @@ templ Discover() {
}
templ DiscoverItems(animes []jikan.Anime, listType string, nextPage int, hasNext bool) {
- for _, anime := range animes {
-
- @CatalogItem(anime)
-
- }
- if hasNext {
-
- }
-
+ @InfiniteAnimeList(animes, hasNext, string(templ.URL(fmt.Sprintf("/api/discover/%s?page=%d", listType, nextPage))), "discover-content")
}
diff --git a/internal/templates/index.templ b/internal/templates/index.templ
index 3a5f967..62d46e8 100644
--- a/internal/templates/index.templ
+++ b/internal/templates/index.templ
@@ -39,28 +39,5 @@ templ SearchResultsWrapper(query string, animes []jikan.Anime, nextPage int, has
}
templ SearchItems(query string, animes []jikan.Anime, nextPage int, hasNext bool) {
- for _, anime := range animes {
-
- @CatalogItem(anime)
-
- }
- if hasNext {
-
- }
-
+ @InfiniteAnimeList(animes, hasNext, string(templ.URL(fmt.Sprintf("/api/search?q=%s&page=%d", url.QueryEscape(query), nextPage))), "results")
}