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") }