From f0a64f37e643d03203dbde7910e8662786f36b46 Mon Sep 17 00:00:00 2001 From: Mikkel Elvers Date: Tue, 14 Apr 2026 23:01:33 +0200 Subject: [PATCH] remove unfinished score sorting and score display (#2) * refactor: remove watchlist score sort * refactor: drop score metadata from ui --- README.md | 2 +- internal/features/watchlist/handler.go | 7 +------ internal/jikan/types.go | 2 -- internal/shared/ui/sort_filter.templ | 3 +-- internal/templates/anime.templ | 6 ------ 5 files changed, 3 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 0a2e552..73df747 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,7 @@ The background worker continuously maintains relation data for sequel awareness, The hardest part has been balancing freshness and resilience. Upstream APIs can fail transiently with `429` and `5xx` responses, so the app favors graceful degradation over hard failure. Cached values are used when fresh requests fail, retryable failures are persisted and replayed in the worker, and relation synchronization is incremental so one bad fetch does not block the rest of the graph. -There are still honest limits. Score sorting in the watchlist remains a placeholder path, and metadata quality still depends partly on external providers. There is also no formal CI pipeline yet, so local validation is currently the main quality gate. +There are still honest limits. Metadata quality still depends partly on external providers, and there is also no formal CI pipeline yet, so local validation is currently the main quality gate. ## Getting started diff --git a/internal/features/watchlist/handler.go b/internal/features/watchlist/handler.go index 4f43cf6..c66e57c 100644 --- a/internal/features/watchlist/handler.go +++ b/internal/features/watchlist/handler.go @@ -152,7 +152,7 @@ func (h *Handler) HandleGetWatchlist(w http.ResponseWriter, r *http.Request) { sortBy := r.URL.Query().Get("sort") sortOrder := r.URL.Query().Get("order") - if sortBy != "title" && sortBy != "score" { + if sortBy != "title" { sortBy = "date" } if sortOrder != "asc" { @@ -270,11 +270,6 @@ func (h *Handler) sortEntries(entries []database.GetUserWatchListRow, sortBy, so } return !cmp } - case "score": - less = func(i, j int) bool { - // Score is stored as JSON in the DB, for now just keep default order - return false - } default: // "date" less = func(i, j int) bool { cmp := entries[i].UpdatedAt.After(entries[j].UpdatedAt) diff --git a/internal/jikan/types.go b/internal/jikan/types.go index bd97ef4..09de193 100644 --- a/internal/jikan/types.go +++ b/internal/jikan/types.go @@ -41,8 +41,6 @@ type Anime struct { } `json:"webp"` } `json:"images"` Synopsis string `json:"synopsis"` - Score float64 `json:"score"` - ScoredBy int `json:"scored_by"` Rank int `json:"rank"` Popularity int `json:"popularity"` Status string `json:"status"` diff --git a/internal/shared/ui/sort_filter.templ b/internal/shared/ui/sort_filter.templ index fb7c375..43d5726 100644 --- a/internal/shared/ui/sort_filter.templ +++ b/internal/shared/ui/sort_filter.templ @@ -1,7 +1,7 @@ package ui type SortFilterOptions struct { - Sort string // "title", "date", "score" + Sort string // "title", "date" Order string // "asc", "desc" View string // for watchlist: "grid", "table" Status string // for watchlist: "all", "watching", etc @@ -14,7 +14,6 @@ templ SortFilter(opts SortFilterOptions) {
diff --git a/internal/templates/anime.templ b/internal/templates/anime.templ index 08948a2..a5646b2 100644 --- a/internal/templates/anime.templ +++ b/internal/templates/anime.templ @@ -82,12 +82,6 @@ templ AnimeDetails(anime jikan.Anime, currentStatus string) { { anime.Status }
} - if anime.Score > 0 { - - } if anime.Duration != "" {