From 39f25a74d37d309e80262e316b6f3992a143cc60 Mon Sep 17 00:00:00 2001 From: mkelvers Date: Mon, 6 Apr 2026 20:14:05 +0200 Subject: [PATCH] fix: pass english and japanese titles to watchlist dropdown --- internal/handlers/watchlist.go | 29 ++++++++++------------------- internal/templates/anime.templ | 18 +++++++++--------- internal/templates/anime_templ.go | 20 ++++++++++---------- 3 files changed, 29 insertions(+), 38 deletions(-) diff --git a/internal/handlers/watchlist.go b/internal/handlers/watchlist.go index 61ca01f..de5d336 100644 --- a/internal/handlers/watchlist.go +++ b/internal/handlers/watchlist.go @@ -83,16 +83,7 @@ func (h *WatchlistHandler) HandleUpdateWatchlist(w http.ResponseWriter, r *http. return } - // Determine display title (prefer English) - displayTitle := animeTitleEnglish - if displayTitle == "" { - displayTitle = animeTitleJapanese - } - if displayTitle == "" { - displayTitle = animeTitle - } - - templates.WatchlistDropdown(int(animeID), displayTitle, animeImage, status).Render(r.Context(), w) + templates.WatchlistDropdown(int(animeID), animeTitle, animeTitleEnglish, animeTitleJapanese, animeImage, status).Render(r.Context(), w) } func (h *WatchlistHandler) HandleDeleteWatchlist(w http.ResponseWriter, r *http.Request) { @@ -138,18 +129,18 @@ func (h *WatchlistHandler) HandleDeleteWatchlist(w http.ResponseWriter, r *http. return } - // Determine display title for dropdown (prefer English) - displayTitle := "" - if anime.TitleEnglish.Valid && anime.TitleEnglish.String != "" { - displayTitle = anime.TitleEnglish.String - } else if anime.TitleJapanese.Valid && anime.TitleJapanese.String != "" { - displayTitle = anime.TitleJapanese.String - } else { - displayTitle = anime.TitleOriginal + // Extract nullable strings + titleEnglish := "" + if anime.TitleEnglish.Valid { + titleEnglish = anime.TitleEnglish.String + } + titleJapanese := "" + if anime.TitleJapanese.Valid { + titleJapanese = anime.TitleJapanese.String } // Otherwise return updated dropdown for anime page - templates.WatchlistDropdown(int(animeID), displayTitle, anime.ImageUrl, "").Render(r.Context(), w) + templates.WatchlistDropdown(int(animeID), anime.TitleOriginal, titleEnglish, titleJapanese, anime.ImageUrl, "").Render(r.Context(), w) } func (h *WatchlistHandler) HandleGetWatchlist(w http.ResponseWriter, r *http.Request) { diff --git a/internal/templates/anime.templ b/internal/templates/anime.templ index bfba3ef..653bcde 100644 --- a/internal/templates/anime.templ +++ b/internal/templates/anime.templ @@ -36,7 +36,7 @@ templ AnimeDetails(anime jikan.Anime, currentStatus string) { }
- @WatchlistDropdown(anime.MalID, anime.Title, anime.ImageURL(), currentStatus) + @WatchlistDropdown(anime.MalID, anime.Title, anime.TitleEnglish, anime.TitleJapanese, anime.ImageURL(), currentStatus)
@@ -146,7 +146,7 @@ func joinNames(entities []jikan.NamedEntity) string { return strings.Join(names, ", ") } -templ WatchlistDropdown(animeID int, animeTitle string, animeImage string, currentStatus string) { +templ WatchlistDropdown(animeID int, animeTitle string, animeTitleEnglish string, animeTitleJapanese string, animeImage string, currentStatus string) {