fix: extract html rendering
All checks were successful
Build Docker Image / Build-Docker-Image (push) Successful in 42s
Build and Push Docker Image / Build-And-Push-Docker-Image (push) Successful in 49s

This commit was merged in pull request #291.
This commit is contained in:
2024-12-04 21:10:25 +01:00
parent 01ceb9eb33
commit 9e8e595258
6 changed files with 138 additions and 145 deletions

View File

@@ -2,9 +2,7 @@ package handler
import (
"me-fit/service"
"me-fit/template"
"me-fit/template/workout"
"me-fit/types"
"me-fit/utils"
"log/slog"
@@ -18,16 +16,16 @@ type WorkoutHandler interface {
}
type WorkoutHandlerImpl struct {
service service.WorkoutService
auth service.AuthService
serverSettings *types.ServerSettings
service service.WorkoutService
auth service.AuthService
render *Render
}
func NewWorkoutHandler(service service.WorkoutService, auth service.AuthService, serverSettings *types.ServerSettings) WorkoutHandler {
func NewWorkoutHandler(service service.WorkoutService, auth service.AuthService, render *Render) WorkoutHandler {
return WorkoutHandlerImpl{
service: service,
auth: auth,
serverSettings: serverSettings,
service: service,
auth: auth,
render: render,
}
}
@@ -47,13 +45,8 @@ func (handler WorkoutHandlerImpl) handleWorkoutPage() http.HandlerFunc {
}
currentDate := time.Now().Format("2006-01-02")
inner := workout.WorkoutComp(currentDate)
userComp := service.UserInfoComp(user)
err = template.Layout(inner, userComp, handler.serverSettings.Environment).Render(r.Context(), w)
if err != nil {
utils.LogError("Failed to render workout page", err)
http.Error(w, "Internal Server Error", http.StatusInternalServerError)
}
comp := workout.WorkoutComp(currentDate)
handler.render.RenderLayout(r, w, comp, user)
}
}
@@ -79,12 +72,8 @@ func (handler WorkoutHandlerImpl) handleAddWorkout() http.HandlerFunc {
}
wor := workout.Workout{Id: wo.RowId, Date: wo.Date, Type: wo.Type, Sets: wo.Sets, Reps: wo.Reps}
err = workout.WorkoutItemComp(wor, true).Render(r.Context(), w)
if err != nil {
utils.LogError("Could not render workoutitem", err)
utils.TriggerToast(w, r, "error", "Internal Server Error")
http.Error(w, err.Error(), http.StatusInternalServerError)
}
comp := workout.WorkoutItemComp(wor, true)
handler.render.Render(r, w, comp)
}
}
@@ -106,12 +95,8 @@ func (handler WorkoutHandlerImpl) handleGetWorkout() http.HandlerFunc {
wos = append(wos, workout.Workout{Id: wo.RowId, Date: wo.Date, Type: wo.Type, Sets: wo.Sets, Reps: wo.Reps})
}
err = workout.WorkoutListComp(wos).Render(r.Context(), w)
if err != nil {
utils.LogError("Could not render workoutlist", err)
utils.TriggerToast(w, r, "error", "Internal Server Error")
http.Error(w, err.Error(), http.StatusInternalServerError)
}
comp := workout.WorkoutListComp(wos)
handler.render.Render(r, w, comp)
}
}