package handler import ( "html/template" "log" "net/http" "git.leonardobishop.net/instancer/pkg/registry" "git.leonardobishop.net/instancer/pkg/session" ) func GetIndex(tmpl *template.Template, registryClient *registry.RegistryClient) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { challenges, err := registryClient.ListRepositories() if err != nil { log.Printf("Could not list repositories: %v", err) http.Error(w, "Internal server error", http.StatusInternalServerError) return } session := r.Context().Value("session").(*session.UserSession) if err := tmpl.ExecuteTemplate(w, "index.html", struct { Challenges []string Team string }{ Challenges: challenges, Team: session.Team, }); err != nil { http.Error(w, "Internal server error", http.StatusInternalServerError) return } } }