some-automoderation/routes/routes.go

42 lines
973 B
Go

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)))
}