Prepare to use user language when displaying characters

This commit is contained in:
2018-04-22 16:12:00 +02:00
parent bec7ff76e7
commit e8c66f28ab
10 changed files with 61 additions and 25 deletions

View File

@ -3,6 +3,8 @@ package search
import (
"strings"
"github.com/animenotifier/notify.moe/utils"
"github.com/aerogo/flow"
"github.com/aerogo/aero"
@ -25,6 +27,7 @@ const (
func Get(ctx *aero.Context) string {
term := ctx.Get("term")
term = strings.TrimPrefix(term, "/")
user := utils.GetUser(ctx)
users, animes, posts, threads, tracks, characters, companies := search.All(
term,
@ -37,12 +40,12 @@ func Get(ctx *aero.Context) string {
maxCompanies,
)
return ctx.HTML(components.SearchResults(term, users, animes, posts, threads, tracks, characters, companies, nil))
return ctx.HTML(components.SearchResults(term, users, animes, posts, threads, tracks, characters, companies, nil, user))
}
// GetEmptySearch renders the search page with no contents.
func GetEmptySearch(ctx *aero.Context) string {
return ctx.HTML(components.SearchResults("", nil, nil, nil, nil, nil, nil, nil, nil))
return ctx.HTML(components.SearchResults("", nil, nil, nil, nil, nil, nil, nil, nil, utils.GetUser(ctx)))
}
// Anime search.
@ -58,9 +61,10 @@ func Anime(ctx *aero.Context) string {
func Characters(ctx *aero.Context) string {
term := ctx.Get("term")
term = strings.TrimPrefix(term, "/")
user := utils.GetUser(ctx)
characters := search.Characters(term, maxCharacters)
return ctx.HTML(components.CharacterSearchResults(characters))
return ctx.HTML(components.CharacterSearchResults(characters, user))
}
// Forum search.

View File

@ -1,4 +1,4 @@
component SearchResults(term string, users []*arn.User, animes []*arn.Anime, posts []*arn.Post, threads []*arn.Thread, tracks []*arn.SoundTrack, characters []*arn.Character, companies []*arn.Company, quotes []*arn.Quote)
component SearchResults(term string, users []*arn.User, animes []*arn.Anime, posts []*arn.Post, threads []*arn.Thread, tracks []*arn.SoundTrack, characters []*arn.Character, companies []*arn.Company, quotes []*arn.Quote, user *arn.User)
h1.page-title= "Search: " + term
.search
@ -16,7 +16,7 @@ component SearchResults(term string, users []*arn.User, animes []*arn.Anime, pos
span Characters
#character-search-results
CharacterSearchResults(characters)
CharacterSearchResults(characters, user)
.widget
h3.widget-title
@ -67,14 +67,14 @@ component AnimeSearchResults(animes []*arn.Anime)
a.profile-watching-list-item.tip.mountable(href=anime.Link(), aria-label=anime.Title.Canonical, data-mountable-type="anime")
img.anime-cover-image.anime-search-result.lazy(data-src=anime.ImageLink("small"), data-webp="true", data-color=anime.AverageColor(), alt=anime.Title.Canonical)
component CharacterSearchResults(characters []*arn.Character)
component CharacterSearchResults(characters []*arn.Character, user *arn.User)
if len(characters) == 0
p.no-search-results.mountable No characters found.
else
.character-search
each character in characters
.mountable(data-mountable-type="character")
CharacterSmall(character)
CharacterSmall(character, user)
component ForumSearchResults(posts []*arn.Post, threads []*arn.Thread)
if len(posts) == 0 && len(threads) == 0