package routes import ( "embed" "fmt" "html/template" "log" "net/http" "sunshine.industries/some-automoderation/rooms" "sunshine.industries/some-automoderation/sessions" ) //go:embed templates var templateFs embed.FS //go:embed static var staticFilesFs embed.FS func RegisterRoutes(sessionsM sessions.SessionManagement, rooms rooms.RoomManager) { // login page registerLoginRoutes(&templateFs, sessionsM, rooms) // main page template http.Handle("/", authedPageMiddleware( sessionsM, http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { var templFile = "templates/index.gohtml" session := getContextSession(r.Context()) tmpl := template.Must(template.ParseFS(templateFs, templFile)) err := tmpl.Execute(w, fmt.Sprintf("%+v", session)) if err != nil { log.Printf("my error in executing template, huh\n %s", err) } }))) // static resources route http.Handle("/static/", http.FileServer(http.FS(staticFilesFs))) }