diff --git a/web/server.go b/web/server.go
index 021f440..579babe 100644
--- a/web/server.go
+++ b/web/server.go
@@ -823,7 +823,7 @@ func (s *Server) handleHeatsContent() http.HandlerFunc {
}
// Render template
- component := templates.HeatsContent(heats, racers)
+ component := templates.HeatsContent(heats, racers, groupID)
if err := component.Render(r.Context(), w); err != nil {
s.logger.Error("Failed to render heats content", "error", err)
http.Error(w, "Failed to render content", http.StatusInternalServerError)
diff --git a/web/templates/heats.templ b/web/templates/heats.templ
index 11c45f9..d76559d 100644
--- a/web/templates/heats.templ
+++ b/web/templates/heats.templ
@@ -39,7 +39,7 @@ templ Heats(groups []models.Group, selectedGroupID int64, db *db.DB) {
if selectedGroupID > 0 {
- @HeatsContent([]models.Heat{}, []models.Racer{})
+ @HeatsContent([]models.Heat{}, []models.Racer{}, selectedGroupID)
}
@@ -50,7 +50,7 @@ templ Heats(groups []models.Group, selectedGroupID int64, db *db.DB) {
}
}
-templ HeatsContent(heats []models.Heat, racers []models.Racer) {
+templ HeatsContent(heats []models.Heat, racers []models.Racer, groupID int64) {
if len(racers) == 0 {
No racers in this group yet.
} else {
@@ -69,10 +69,10 @@ templ HeatsContent(heats []models.Heat, racers []models.Racer) {
for i, heat := range heats {
| { strconv.Itoa(i + 1) } |
- { getRacerName(racers, *heat.Lane1ID) } |
- { getRacerName(racers, *heat.Lane2ID) } |
- { getRacerName(racers, *heat.Lane3ID) } |
- { getRacerName(racers, *heat.Lane4ID) } |
+ { getRacerName(racers, heat.Lane1ID) } |
+ { getRacerName(racers, heat.Lane2ID) } |
+ { getRacerName(racers, heat.Lane3ID) } |
+ { getRacerName(racers, heat.Lane4ID) } |
}
@@ -87,21 +87,14 @@ templ HeatsContent(heats []models.Heat, racers []models.Racer) {
>
Regenerate Heats
-
}
}
-func getRacerName(racers []models.Racer, id int64) string {
+func getRacerName(racers []models.Racer, id *int64) string {
for _, r := range racers {
- if r.ID == id {
+ if id != nil && r.ID == *id {
return r.FirstName + " " + r.LastName
}
}
diff --git a/web/templates/heats_templ.go b/web/templates/heats_templ.go
index f5bbd46..7e02bf5 100644
--- a/web/templates/heats_templ.go
+++ b/web/templates/heats_templ.go
@@ -98,7 +98,7 @@ func Heats(groups []models.Group, selectedGroupID int64, db *db.DB) templ.Compon
return templ_7745c5c3_Err
}
if selectedGroupID > 0 {
- templ_7745c5c3_Err = HeatsContent([]models.Heat{}, []models.Racer{}).Render(ctx, templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = HeatsContent([]models.Heat{}, []models.Racer{}, selectedGroupID).Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -117,7 +117,7 @@ func Heats(groups []models.Group, selectedGroupID int64, db *db.DB) templ.Compon
})
}
-func HeatsContent(heats []models.Heat, racers []models.Racer) templ.Component {
+func HeatsContent(heats []models.Heat, racers []models.Racer, groupID int64) templ.Component {
return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
@@ -167,9 +167,9 @@ func HeatsContent(heats []models.Heat, racers []models.Racer) templ.Component {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var7 string
- templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(getRacerName(racers, *heat.Lane1ID))
+ templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(getRacerName(racers, heat.Lane1ID))
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/heats.templ`, Line: 72, Col: 48}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/heats.templ`, Line: 72, Col: 47}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7))
if templ_7745c5c3_Err != nil {
@@ -180,9 +180,9 @@ func HeatsContent(heats []models.Heat, racers []models.Racer) templ.Component {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var8 string
- templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(getRacerName(racers, *heat.Lane2ID))
+ templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(getRacerName(racers, heat.Lane2ID))
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/heats.templ`, Line: 73, Col: 48}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/heats.templ`, Line: 73, Col: 47}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8))
if templ_7745c5c3_Err != nil {
@@ -193,9 +193,9 @@ func HeatsContent(heats []models.Heat, racers []models.Racer) templ.Component {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var9 string
- templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinStringErrs(getRacerName(racers, *heat.Lane3ID))
+ templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinStringErrs(getRacerName(racers, heat.Lane3ID))
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/heats.templ`, Line: 74, Col: 48}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/heats.templ`, Line: 74, Col: 47}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9))
if templ_7745c5c3_Err != nil {
@@ -206,9 +206,9 @@ func HeatsContent(heats []models.Heat, racers []models.Racer) templ.Component {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var10 string
- templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(getRacerName(racers, *heat.Lane4ID))
+ templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(getRacerName(racers, heat.Lane4ID))
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/heats.templ`, Line: 75, Col: 48}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/heats.templ`, Line: 75, Col: 47}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10))
if templ_7745c5c3_Err != nil {
@@ -232,20 +232,7 @@ func HeatsContent(heats []models.Heat, racers []models.Racer) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, "\" hx-target=\"#heats-list\" hx-swap=\"innerHTML\">Regenerate Heats ")
+ templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, "\" hx-target=\"#heats-list\" hx-swap=\"innerHTML\">Regenerate Heats")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -254,9 +241,9 @@ func HeatsContent(heats []models.Heat, racers []models.Racer) templ.Component {
})
}
-func getRacerName(racers []models.Racer, id int64) string {
+func getRacerName(racers []models.Racer, id *int64) string {
for _, r := range racers {
- if r.ID == id {
+ if id != nil && r.ID == *id {
return r.FirstName + " " + r.LastName
}
}