From 2b9ea49c9bd9d858c7d47c36754e83aef23a0956 Mon Sep 17 00:00:00 2001 From: Eduard Urbach Date: Fri, 23 Oct 2020 09:28:11 +0900 Subject: [PATCH] Cleanup --- elements/Rating.pixy | 10 ++++++++-- pages/company/company.go | 30 +++++++++++++++--------------- pages/company/company.pixy | 22 +++++++++++----------- 3 files changed, 34 insertions(+), 28 deletions(-) diff --git a/elements/Rating.pixy b/elements/Rating.pixy index 2ea05249..57e56e41 100644 --- a/elements/Rating.pixy +++ b/elements/Rating.pixy @@ -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) \ No newline at end of file + .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) \ No newline at end of file diff --git a/pages/company/company.go b/pages/company/company.go index e55fe835..dbd15a1c 100644 --- a/pages/company/company.go +++ b/pages/company/company.go @@ -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)) } diff --git a/pages/company/company.pixy b/pages/company/company.pixy index 2084f11b..098ad2b7 100644 --- a/pages/company/company.pixy +++ b/pages/company/company.pixy @@ -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