fix: extract html rendering
This commit was merged in pull request #291.
This commit is contained in:
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user