From 5551dd176e59bf3a11a42fb0d800d7e435ddbcd8 Mon Sep 17 00:00:00 2001 From: Eduard Urbach Date: Wed, 28 Aug 2019 11:50:26 +0900 Subject: [PATCH] Simplify anime list routing --- pages/animelist/animelist.go | 11 +++++------ pages/index/userroutes/userroutes.go | 14 ++------------ 2 files changed, 7 insertions(+), 18 deletions(-) diff --git a/pages/animelist/animelist.go b/pages/animelist/animelist.go index 8cda4d44..9764d828 100644 --- a/pages/animelist/animelist.go +++ b/pages/animelist/animelist.go @@ -18,12 +18,11 @@ const ( animePerScroll = 40 ) -// FilterByStatus returns a handler for the given anime list item status. -func FilterByStatus(status string) aero.Handler { - return func(ctx aero.Context) error { - user := utils.GetUser(ctx) - return AnimeList(ctx, user, status) - } +// Filter filters a user's anime list item by the status. +func Filter(ctx aero.Context) error { + user := utils.GetUser(ctx) + status := ctx.Get("status") + return AnimeList(ctx, user, status) } // AnimeList renders the anime list items. diff --git a/pages/index/userroutes/userroutes.go b/pages/index/userroutes/userroutes.go index bbfd9b92..e46d9095 100644 --- a/pages/index/userroutes/userroutes.go +++ b/pages/index/userroutes/userroutes.go @@ -2,7 +2,6 @@ package userroutes import ( "github.com/aerogo/aero" - "github.com/animenotifier/notify.moe/arn" "github.com/animenotifier/notify.moe/pages/animelist" "github.com/animenotifier/notify.moe/pages/animelistitem" "github.com/animenotifier/notify.moe/pages/compare" @@ -40,17 +39,8 @@ func Register(app *aero.Application) { page.Get(app, "/user/:nick/edit", user.Edit) // Anime list - page.Get(app, "/user/:nick/animelist/watching", animelist.FilterByStatus(arn.AnimeListStatusWatching)) - page.Get(app, "/user/:nick/animelist/completed", animelist.FilterByStatus(arn.AnimeListStatusCompleted)) - page.Get(app, "/user/:nick/animelist/planned", animelist.FilterByStatus(arn.AnimeListStatusPlanned)) - page.Get(app, "/user/:nick/animelist/hold", animelist.FilterByStatus(arn.AnimeListStatusHold)) - page.Get(app, "/user/:nick/animelist/dropped", animelist.FilterByStatus(arn.AnimeListStatusDropped)) - - page.Get(app, "/user/:nick/animelist/watching/from/:index", animelist.FilterByStatus(arn.AnimeListStatusWatching)) - page.Get(app, "/user/:nick/animelist/completed/from/:index", animelist.FilterByStatus(arn.AnimeListStatusCompleted)) - page.Get(app, "/user/:nick/animelist/planned/from/:index", animelist.FilterByStatus(arn.AnimeListStatusPlanned)) - page.Get(app, "/user/:nick/animelist/hold/from/:index", animelist.FilterByStatus(arn.AnimeListStatusHold)) - page.Get(app, "/user/:nick/animelist/dropped/from/:index", animelist.FilterByStatus(arn.AnimeListStatusDropped)) + page.Get(app, "/user/:nick/animelist/:status", animelist.Filter) + page.Get(app, "/user/:nick/animelist/:status/from/:index", animelist.Filter) // Redirects page.Get(app, "/animelist/watching", animelist.Redirect)