Added genre overview

This commit is contained in:
2017-11-30 03:21:37 +01:00
parent d290e2d505
commit f358ffbf7c
3 changed files with 36 additions and 7 deletions

View File

@ -4,11 +4,14 @@ import (
"github.com/aerogo/aero"
"github.com/animenotifier/arn"
"github.com/animenotifier/notify.moe/components"
"github.com/animenotifier/notify.moe/utils"
)
// Get ...
func Get(ctx *aero.Context) string {
var genres []string
user := utils.GetUser(ctx)
genres := []string{}
genreToAnime := map[string]*arn.Anime{}
for _, genre := range arn.Genres {
if genre == "Hentai" {
@ -18,5 +21,30 @@ func Get(ctx *aero.Context) string {
genres = append(genres, genre)
}
return ctx.HTML(components.Genres(genres))
allAnime := arn.AllAnime()
arn.SortAnimeByQuality(allAnime, "")
added := 0
for _, anime := range allAnime {
for _, genre := range anime.Genres {
// Skip genre that we don't care about
if !arn.Contains(genres, genre) {
continue
}
_, exists := genreToAnime[genre]
if !exists {
genreToAnime[genre] = anime
added++
}
}
if added >= len(genres) {
break
}
}
return ctx.HTML(components.Genres(genres, genreToAnime, user))
}

View File

@ -1,13 +1,12 @@
component Genres(genres []string)
component Genres(genres []string, genreToAnime map[string]*arn.Anime, user *arn.User)
h1 Genres
.genres
each genre in genres
a.genre.ajax(href="/genre/" + strings.ToLower(genre))
a.genre.mountable.ajax(href="/genre/" + strings.ToLower(genre))
.genre-text.front
.genre-icon
RawIcon(arn.GetGenreIcon(genre))
span= genre
//- if len(genre.AnimeList) > 0
//- img.genre-image.back(src=genre.AnimeList[0].Image, alt=genre.AnimeList[0].Title.Romaji, title=genre.AnimeList[0].Title.Romaji + "\n" + genre.Name + " #1")
img.genre-image.back(src=genreToAnime[genre].Image("medium"), alt=genreToAnime[genre].Title.ByUser(user), title=genre)