Made the elo system work. Colorized the leaderboard. Better data structure. Improved the HTML. Custom form system. Added Sessions

This commit is contained in:
Jonas Hahn
2025-08-25 14:56:59 +02:00
parent 4b4377a24e
commit f5e5d5632d
20 changed files with 492 additions and 289 deletions

View File

@@ -134,36 +134,3 @@ func stripAfterDot(s string) string {
}
return s
}
func getStatsFromUser(u *User) stats {
var gps []GamePlayer
var games, wins, losses int
db.Where("user_id = ?", u.ID).Find(&gps)
gameMap := map[uint]string{}
for _, gp := range gps {
gameMap[gp.GameID] = gp.Side
}
if len(gameMap) > 0 {
var gamesL []Game
ids := make([]uint, 0, len(gameMap))
for gid := range gameMap {
ids = append(ids, gid)
}
db.Find(&gamesL, ids)
for _, g := range gamesL {
games++
if g.ScoreA == g.ScoreB {
continue
}
if g.ScoreA > g.ScoreB && gameMap[g.ID] == "A" {
wins++
} else if g.ScoreB > g.ScoreA && gameMap[g.ID] == "B" {
wins++
} else {
losses++
}
}
}
return stats{Games: games, Wins: wins, Losses: losses}
}