Added recommendations view to the UI
This commit is contained in:
parent
b9f8cfc79e
commit
d4d7294f4e
@ -10,9 +10,13 @@ component Profile(viewUser *arn.User, user *arn.User, animeList *arn.AnimeList,
|
|||||||
a.profile-watching-list-item.ajax(href=item.Anime().Link(), title=item.Anime().Title.ByUser(user) + " (" + toString(item.Episodes) + " / " + arn.EpisodesToString(item.Anime().EpisodeCount) + ")")
|
a.profile-watching-list-item.ajax(href=item.Anime().Link(), title=item.Anime().Title.ByUser(user) + " (" + toString(item.Episodes) + " / " + arn.EpisodesToString(item.Anime().EpisodeCount) + ")")
|
||||||
img.profile-watching-list-item-image.lazy(data-src=item.Anime().Image("small"), data-webp="true", alt=item.Anime().Title.ByUser(user))
|
img.profile-watching-list-item-image.lazy(data-src=item.Anime().Image("small"), data-webp="true", alt=item.Anime().Title.ByUser(user))
|
||||||
|
|
||||||
if user != nil && (user.Role == "admin" || user.Role == "editor")
|
|
||||||
.footer
|
.footer
|
||||||
.buttons
|
.buttons
|
||||||
|
a.button.profile-action.ajax(href="/+" + viewUser.Nick + "/recommended/anime")
|
||||||
|
Icon("tv")
|
||||||
|
span View recommendations
|
||||||
|
|
||||||
|
if user != nil && (user.Role == "admin" || user.Role == "editor")
|
||||||
a.button.profile-action(href="/api/user/" + viewUser.ID, target="_blank", rel="noopener")
|
a.button.profile-action(href="/api/user/" + viewUser.ID, target="_blank", rel="noopener")
|
||||||
Icon("search-plus")
|
Icon("search-plus")
|
||||||
span JSON
|
span JSON
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
package recommended
|
package recommended
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
|
||||||
"net/http"
|
"net/http"
|
||||||
"sort"
|
"sort"
|
||||||
|
|
||||||
"github.com/aerogo/aero"
|
"github.com/aerogo/aero"
|
||||||
"github.com/animenotifier/arn"
|
"github.com/animenotifier/arn"
|
||||||
"github.com/animenotifier/notify.moe/components"
|
"github.com/animenotifier/notify.moe/components"
|
||||||
|
"github.com/animenotifier/notify.moe/utils"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@ -17,14 +17,15 @@ const (
|
|||||||
|
|
||||||
// Anime shows a list of recommended anime.
|
// Anime shows a list of recommended anime.
|
||||||
func Anime(ctx *aero.Context) string {
|
func Anime(ctx *aero.Context) string {
|
||||||
|
user := utils.GetUser(ctx)
|
||||||
nick := ctx.Get("nick")
|
nick := ctx.Get("nick")
|
||||||
user, err := arn.GetUserByNick(nick)
|
viewUser, err := arn.GetUserByNick(nick)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return ctx.Error(http.StatusUnauthorized, "Not logged in", err)
|
return ctx.Error(http.StatusUnauthorized, "Not logged in", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
animeList := user.AnimeList()
|
animeList := viewUser.AnimeList()
|
||||||
genreItems := animeList.Genres()
|
genreItems := animeList.Genres()
|
||||||
genreAffinity := map[string]float64{}
|
genreAffinity := map[string]float64{}
|
||||||
worstGenres := []string{}
|
worstGenres := []string{}
|
||||||
@ -57,8 +58,6 @@ func Anime(ctx *aero.Context) string {
|
|||||||
worstGenres = worstGenres[:worstGenreCount]
|
worstGenres = worstGenres[:worstGenreCount]
|
||||||
}
|
}
|
||||||
|
|
||||||
fmt.Println(worstGenres)
|
|
||||||
|
|
||||||
// Get all anime
|
// Get all anime
|
||||||
recommendations := arn.AllAnime()
|
recommendations := arn.AllAnime()
|
||||||
|
|
||||||
@ -121,5 +120,5 @@ func Anime(ctx *aero.Context) string {
|
|||||||
recommendations = recommendations[:maxRecommendations]
|
recommendations = recommendations[:maxRecommendations]
|
||||||
}
|
}
|
||||||
|
|
||||||
return ctx.HTML(components.RecommendedAnime(recommendations, user))
|
return ctx.HTML(components.RecommendedAnime(recommendations, worstGenres, viewUser, user))
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
component RecommendedAnime(animes []*arn.Anime, user *arn.User)
|
component RecommendedAnime(animes []*arn.Anime, worstGenres []string, viewUser *arn.User, user *arn.User)
|
||||||
h1= "Recommended anime for " + user.Nick
|
h1(title="This is a machine-generated list of anime recommendations.")= "Recommended anime for " + viewUser.Nick
|
||||||
|
|
||||||
AnimeGrid(animes, user)
|
AnimeGrid(animes, user)
|
||||||
//- ul
|
|
||||||
//- each anime in animes
|
|
||||||
//- li= anime.Title.Canonical
|
|
Loading…
Reference in New Issue
Block a user