This commit is contained in:
Eduard Urbach 2020-10-23 09:28:11 +09:00
parent 287a1837e9
commit 2b9ea49c9b
Signed by: akyoto
GPG Key ID: C874F672B1AF20C0
3 changed files with 34 additions and 28 deletions

View File

@ -1,5 +1,11 @@
component Rating(value float64, userCount int, user *arn.User)
if user == nil
.anime-rating.tip(aria-label="Based on " + stringutils.Plural(userCount, "rating"))= fmt.Sprintf("%.1f", value)
.anime-rating.tip(aria-label="Rated by " + stringutils.Plural(userCount, "user"))= fmt.Sprintf("%.1f", value)
else
.anime-rating.tip(aria-label="Based on " + stringutils.Plural(userCount, "rating"))= fmt.Sprintf("%." + strconv.Itoa(user.Settings().Format.RatingsPrecision) + "f", value)
.anime-rating.tip(aria-label="Rated by " + stringutils.Plural(userCount, "user"))= fmt.Sprintf("%." + strconv.Itoa(user.Settings().Format.RatingsPrecision) + "f", value)
component CompanyRating(value float64, ratingCount int, user *arn.User)
if user == nil
.anime-rating.tip(aria-label="Based on " + stringutils.Plural(ratingCount, "rating"))= fmt.Sprintf("%.1f", value)
else
.anime-rating.tip(aria-label="Based on " + stringutils.Plural(ratingCount, "rating"))= fmt.Sprintf("%." + strconv.Itoa(user.Settings().Format.RatingsPrecision) + "f", value)

View File

@ -52,27 +52,27 @@ func Get(ctx aero.Context) error {
var closeCompanies []*arn.Company
distances := map[string]float64{}
var overallRating, storyRating, visualsRating, soundtrackRating float64
var overallCount, storyCount, visualsCount, soundtrackCount int
// Average rating
rating := &arn.AnimeRating{}
for _, anime := range studioAnime {
overallRating += anime.Rating.Overall
storyRating += anime.Rating.Story
visualsRating += anime.Rating.Visuals
soundtrackRating += anime.Rating.Soundtrack
rating.Overall += anime.Rating.Overall
rating.Story += anime.Rating.Story
rating.Visuals += anime.Rating.Visuals
rating.Soundtrack += anime.Rating.Soundtrack
overallCount += anime.Rating.Count.Overall
storyCount += anime.Rating.Count.Story
visualsCount += anime.Rating.Count.Visuals
soundtrackCount += anime.Rating.Count.Soundtrack
rating.Count.Overall += anime.Rating.Count.Overall
rating.Count.Story += anime.Rating.Count.Story
rating.Count.Visuals += anime.Rating.Count.Visuals
rating.Count.Soundtrack += anime.Rating.Count.Soundtrack
}
totalStudioAnime := float64(len(studioAnime))
overallRating /= totalStudioAnime
storyRating /= totalStudioAnime
visualsRating /= totalStudioAnime
soundtrackRating /= totalStudioAnime
rating.Overall /= totalStudioAnime
rating.Story /= totalStudioAnime
rating.Visuals /= totalStudioAnime
rating.Soundtrack /= totalStudioAnime
if company.Location.IsValid() {
closeCompanies = arn.FilterCompanies(func(closeCompany *arn.Company) bool {
@ -95,5 +95,5 @@ func Get(ctx aero.Context) error {
})
}
return ctx.HTML(components.CompanyPage(company, studioAnime, producedAnime, licensedAnime, closeCompanies, distances, user, overallRating, storyRating, visualsRating, soundtrackRating, overallCount, storyCount, visualsCount, soundtrackCount))
return ctx.HTML(components.CompanyPage(company, studioAnime, producedAnime, licensedAnime, closeCompanies, distances, rating, user))
}

View File

@ -1,4 +1,4 @@
component CompanyPage(company *arn.Company, studioAnime, producedAnime, licensedAnime []*arn.Anime, closeCompanies []*arn.Company, distances map[string]float64, user *arn.User, overallRating float64, storyRating float64, visualsRating float64, soundtrackRating float64, overallCount int, storyCount int, visualsCount int, soundtrackCount int)
component CompanyPage(company *arn.Company, studioAnime, producedAnime, licensedAnime []*arn.Anime, closeCompanies []*arn.Company, distances map[string]float64, rating *arn.AnimeRating, user *arn.User)
CompanyTabs(company, user)
.company-page
@ -13,29 +13,29 @@ component CompanyPage(company *arn.Company, studioAnime, producedAnime, licensed
CompanyAnimes("Licensed:", licensedAnime, user)
.company-sidebar
h3.mountable Average Ratings:
h3.mountable Ratings
table.company-rating-info-table
table.company-rating-info-table.mountable
tbody
tr.mountable(data-mountable-type="ratings")
tr.mountable
td.company-rating-info-key Overall:
td.company-rating-info-value
Rating(overallRating, overallCount, user)
CompanyRating(rating.Overall, rating.Count.Overall, user)
tr.mountable(data-mountable-type="ratings")
tr.mountable
td.company-rating-info-key Story:
td.company-rating-info-value
Rating(storyRating, storyCount, user)
CompanyRating(rating.Story, rating.Count.Story, user)
tr.mountable(data-mountable-type="ratings")
tr.mountable
td.company-rating-info-key Visuals:
td.company-rating-info-value
Rating(visualsRating, visualsCount, user)
CompanyRating(rating.Visuals, rating.Count.Visuals, user)
tr.mountable(data-mountable-type="ratings")
tr.mountable
td.company-rating-info-key Soundtrack:
td.company-rating-info-value
Rating(soundtrackRating, soundtrackCount, user)
CompanyRating(rating.Soundtrack, rating.Count.Soundtrack, user)
if company.Location.Latitude != 0 && company.Location.Longitude != 0
h3.mountable Location