package web import ( "html/template" "net/http" "pool-stats/database" "pool-stats/models" ) type TopSharesPageData struct { Shares []models.ShareLog } func (ws *WebServer) TopSharesHandler(w http.ResponseWriter, r *http.Request) { tmpl, err := template.Must(ws.templates.Clone()).ParseFiles("templates/top_shares.html") if err != nil { http.Error(w, "Failed to parse template", 500) println("Error parsing template:", err.Error()) return } topShares := database.ListTopShares(ws.db) if topShares == nil { http.Error(w, "Failed to load top shares", 500) return } data := TopSharesPageData{ Shares: topShares, } if err := tmpl.ExecuteTemplate(w, "top_shares.html", data); err != nil { http.Error(w, "Failed to render template", 500) return } }