1
0
mirror of https://github.com/muety/wakapi.git synced 2023-08-10 21:12:56 +03:00
wakapi/models/view/leaderboard.go

42 lines
862 B
Go
Raw Normal View History

2022-10-03 11:53:27 +03:00
package view
import "github.com/muety/wakapi/models"
type LeaderboardViewModel struct {
2022-10-05 22:52:10 +03:00
User *models.User
By string
Key string
Items []*models.LeaderboardItem
TopKeys []string
UserLanguages map[string][]string
ApiKey string
Success string
Error string
2022-10-03 11:53:27 +03:00
}
func (s *LeaderboardViewModel) WithSuccess(m string) *LeaderboardViewModel {
s.Success = m
return s
}
func (s *LeaderboardViewModel) WithError(m string) *LeaderboardViewModel {
s.Error = m
return s
}
func (s *LeaderboardViewModel) ColorModifier(item *models.LeaderboardItem, principal *models.User) string {
if principal != nil && item.UserID == principal.ID {
return "self"
}
if item.Rank == 1 {
return "gold"
}
if item.Rank == 2 {
return "silver"
}
if item.Rank == 3 {
return "bronze"
}
return "default"
}