package handlers import ( "net/http" "michaelthomson.dev/mthomson/go-todos-app/services" "michaelthomson.dev/mthomson/go-todos-app/templates/pages" ) type HomeHandler struct { ts *services.TodoService } func NewHomeHandler(ts *services.TodoService) HomeHandler { return HomeHandler{ts: ts} } func (h *HomeHandler) Home(w http.ResponseWriter, r *http.Request) { var err error todos, err := h.ts.GetTodos() if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) } err = pages.Home(todos).Render(r.Context(), w) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return } } func (h *HomeHandler) Router() http.Handler { router := http.NewServeMux() router.HandleFunc("/", h.Home) return router }