diff --git a/internal/shared/ui/anime_list.templ b/internal/shared/ui/anime_list.templ
new file mode 100644
index 0000000..fbdeb9c
--- /dev/null
+++ b/internal/shared/ui/anime_list.templ
@@ -0,0 +1,49 @@
+package ui
+
+import (
+ "fmt"
+ "mal/internal/jikan"
+)
+
+templ InfiniteAnimeList(animes []jikan.Anime, hasNext bool, nextURL string, containerID string) {
+ for _, anime := range animes {
+
-
-
-
-
-
Loading discover
+
+ @ui.LoadingIndicator("Loading discover")
@@ -39,5 +37,5 @@ templ Discover() {
}
templ DiscoverItems(animes []jikan.Anime, listType string, nextPage int, hasNext bool) {
- @InfiniteAnimeList(animes, hasNext, string(templ.URL(fmt.Sprintf("/api/discover/%s?page=%d", listType, nextPage))), "discover-content")
+ @ui.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 d24a5dd..be8e8e9 100644
--- a/internal/templates/index.templ
+++ b/internal/templates/index.templ
@@ -35,5 +35,5 @@ templ SearchResultsWrapper(query string, animes []jikan.Anime, nextPage int, has
}
templ SearchItems(query string, animes []jikan.Anime, nextPage int, hasNext bool) {
- @InfiniteAnimeList(animes, hasNext, string(templ.URL(fmt.Sprintf("/api/search?q=%s&page=%d", url.QueryEscape(query), nextPage))), "results")
+ @ui.InfiniteAnimeList(animes, hasNext, string(templ.URL(fmt.Sprintf("/api/search?q=%s&page=%d", url.QueryEscape(query), nextPage))), "results")
}