From 94adad1fd83aa411a25e1fe82b9c3792a56157e7 Mon Sep 17 00:00:00 2001 From: Eduard Urbach Date: Sun, 25 Mar 2018 18:27:24 +0200 Subject: [PATCH] Advanced filters for editors --- pages/editor/editor.pixy | 3 ++- pages/editor/filteranime/genres.go | 2 -- pages/editor/filteranime/lowresimages.go | 2 -- pages/editor/filteranime/shoboi.go | 2 -- pages/editor/filteranime/tba.go | 20 ++++++++++++++++++++ pages/explore/explore.pixy | 16 +++++++++++----- pages/index.go | 1 + 7 files changed, 34 insertions(+), 12 deletions(-) create mode 100644 pages/editor/filteranime/tba.go diff --git a/pages/editor/editor.pixy b/pages/editor/editor.pixy index 395e6159..72bac9ba 100644 --- a/pages/editor/editor.pixy +++ b/pages/editor/editor.pixy @@ -33,8 +33,9 @@ component EditorTabs(url string, user *arn.User) Tab("Mappings", "arrows-h", "/editor/anime/mapping/mal" + user.Settings().Editor.Filter.Suffix()) Tab("Synopsis", "align-left", "/editor/anime/synopsis" + user.Settings().Editor.Filter.Suffix()) Tab("Genres", "clone", "/editor/anime/genres" + user.Settings().Editor.Filter.Suffix()) - Tab("Start date", "calendar", "/editor/anime/startdate" + user.Settings().Editor.Filter.Suffix()) Tab("Images", "image", "/editor/anime/image/lowres" + user.Settings().Editor.Filter.Suffix()) + Tab("Start date", "calendar", "/editor/anime/startdate" + user.Settings().Editor.Filter.Suffix()) + Tab("TBA", "question-circle", "/editor/anime/tba" + user.Settings().Editor.Filter.Suffix()) if strings.Contains(url, "/editor/anime/mapping/") .tabs diff --git a/pages/editor/filteranime/genres.go b/pages/editor/filteranime/genres.go index 7116c893..24623413 100644 --- a/pages/editor/filteranime/genres.go +++ b/pages/editor/filteranime/genres.go @@ -5,8 +5,6 @@ import ( "github.com/animenotifier/arn" ) -const maxGenreEntries = 70 - // Genres ... func Genres(ctx *aero.Context) string { return editorList( diff --git a/pages/editor/filteranime/lowresimages.go b/pages/editor/filteranime/lowresimages.go index a618d5fb..bc2d7b1f 100644 --- a/pages/editor/filteranime/lowresimages.go +++ b/pages/editor/filteranime/lowresimages.go @@ -5,8 +5,6 @@ import ( "github.com/animenotifier/arn" ) -const maxImageEntries = 70 - // LowResolutionAnimeImages filters anime with low resolution images. func LowResolutionAnimeImages(ctx *aero.Context) string { return filterAnimeImages(ctx, "Anime with low resolution images", arn.AnimeImageLargeWidth, arn.AnimeImageLargeHeight) diff --git a/pages/editor/filteranime/shoboi.go b/pages/editor/filteranime/shoboi.go index 2ec90a58..3324b2c2 100644 --- a/pages/editor/filteranime/shoboi.go +++ b/pages/editor/filteranime/shoboi.go @@ -5,8 +5,6 @@ import ( "github.com/animenotifier/arn" ) -const maxShoboiEntries = 70 - // Shoboi ... func Shoboi(ctx *aero.Context) string { return editorList( diff --git a/pages/editor/filteranime/tba.go b/pages/editor/filteranime/tba.go new file mode 100644 index 00000000..05678b67 --- /dev/null +++ b/pages/editor/filteranime/tba.go @@ -0,0 +1,20 @@ +package filteranime + +import ( + "github.com/aerogo/aero" + "github.com/animenotifier/arn" +) + +// TBA ... +func TBA(ctx *aero.Context) string { + return editorList( + ctx, + "Anime to be announced", + func(anime *arn.Anime) bool { + return anime.Status == "tba" + }, + func(anime *arn.Anime) string { + return "https://www.google.com/search?q=" + anime.Title.Canonical + }, + ) +} diff --git a/pages/explore/explore.pixy b/pages/explore/explore.pixy index 9cc87552..c355f8e6 100644 --- a/pages/explore/explore.pixy +++ b/pages/explore/explore.pixy @@ -21,29 +21,35 @@ component ExploreAnime(animeList []*arn.Anime, year string, status string, typ s else AnimeGrid(animeList, user) -component ExploreFilters(year string, status string, typ string, allowAny bool) +component ExploreFilters(year string, status string, typ string, advancedFilters bool) .explore-filters select#filter-year.action(value=year, data-action="filterAnime", data-trigger="change") - if allowAny + if advancedFilters option(value="") for year := time.Now().Year()+1; year >= 1951; year-- option(value=year)= year select#filter-status.action(value=status, data-action="filterAnime", data-trigger="change") - if allowAny + if advancedFilters option(value="") option(value="current") Current option(value="upcoming") Upcoming option(value="finished") Finished + if advancedFilters + option(value="tba") TBA + select#filter-type.action(value=typ, data-action="filterAnime", data-trigger="change") - if allowAny + if advancedFilters option(value="") option(value="tv") TV option(value="movie") Movie option(value="ova") OVA option(value="ona") ONA - option(value="special") Special \ No newline at end of file + option(value="special") Special + + if advancedFilters + option(value="music") Music \ No newline at end of file diff --git a/pages/index.go b/pages/index.go index 1ea878ac..fcf11de3 100644 --- a/pages/index.go +++ b/pages/index.go @@ -257,6 +257,7 @@ func Configure(app *aero.Application) { editorFilterable("/editor/anime/synopsis", filteranime.Synopsis) editorFilterable("/editor/anime/genres", filteranime.Genres) editorFilterable("/editor/anime/startdate", filteranime.StartDate) + editorFilterable("/editor/anime/tba", filteranime.TBA) editorFilterable("/editor/anime/mapping/shoboi", filteranime.Shoboi) editorFilterable("/editor/anime/mapping/anilist", filteranime.AniList) editorFilterable("/editor/anime/mapping/mal", filteranime.MAL)