|
|
|
@ -425,7 +425,7 @@ func (s *Server) broadcastRaceEvent(event derby.Event) {
|
|
|
|
switch event.Type {
|
|
|
|
switch event.Type {
|
|
|
|
case derby.EventRaceStart:
|
|
|
|
case derby.EventRaceStart:
|
|
|
|
s.logger.Info("Broadcasting race start event")
|
|
|
|
s.logger.Info("Broadcasting race start event")
|
|
|
|
s.sendRaceEventToAllClients("event: race-status\ndata: <div id='status-indicator' class='badge bg-success'>Race Running</div>")
|
|
|
|
s.sendRaceEventToAllClients("event: race-status\ndata: <div id='status-indicator' class='badge bg-success'>Race Running</div>\n\n")
|
|
|
|
heatGroup, _ := s.db.GetCurrentRacingGroup()
|
|
|
|
heatGroup, _ := s.db.GetCurrentRacingGroup()
|
|
|
|
heatResult.GroupID = heatGroup.ID
|
|
|
|
heatResult.GroupID = heatGroup.ID
|
|
|
|
heatResult.HeatNumber, _ = s.db.GetCurrentHeatNumber(heatGroup.ID)
|
|
|
|
heatResult.HeatNumber, _ = s.db.GetCurrentHeatNumber(heatGroup.ID)
|
|
|
|
@ -450,12 +450,12 @@ func (s *Server) broadcastRaceEvent(event derby.Event) {
|
|
|
|
heatResult.Lane4Time = event.Result.Time
|
|
|
|
heatResult.Lane4Time = event.Result.Time
|
|
|
|
heatResult.Lane4Position = event.Result.FinishPlace
|
|
|
|
heatResult.Lane4Position = event.Result.FinishPlace
|
|
|
|
}
|
|
|
|
}
|
|
|
|
s.sendRaceEventToAllClients(fmt.Sprintf("event: lane-%d-time\ndata: %.4f", event.Result.Lane, event.Result.Time))
|
|
|
|
s.sendRaceEventToAllClients(fmt.Sprintf("event: lane-%d-time\ndata: %.4f\n\n", event.Result.Lane, event.Result.Time))
|
|
|
|
s.sendRaceEventToAllClients(fmt.Sprintf("event: lane-%d-position\ndata: %d", event.Result.Lane, event.Result.FinishPlace))
|
|
|
|
s.sendRaceEventToAllClients(fmt.Sprintf("event: lane-%d-position\ndata: %d\n\n", event.Result.Lane, event.Result.FinishPlace))
|
|
|
|
|
|
|
|
|
|
|
|
case derby.EventRaceComplete:
|
|
|
|
case derby.EventRaceComplete:
|
|
|
|
s.logger.Info("Broadcasting race complete event")
|
|
|
|
s.logger.Info("Broadcasting race complete event")
|
|
|
|
s.sendRaceEventToAllClients("event: race-status\ndata: <div id='status-indicator' class='badge bg-info'>Race Complete</div>")
|
|
|
|
s.sendRaceEventToAllClients("event: race-status\ndata: <div id='status-indicator' class='badge bg-info'>Race Complete</div>\n\n")
|
|
|
|
s.db.SaveHeatResult(heatResult)
|
|
|
|
s.db.SaveHeatResult(heatResult)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -472,7 +472,7 @@ func (s *Server) broadcastAdminEvent(event models.AdminEvent) {
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
s.logger.Error("Failed to render current heat display", "error", err)
|
|
|
|
s.logger.Error("Failed to render current heat display", "error", err)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
s.sendAdminEventToAllClients(fmt.Sprintf("event: current-heat\ndata: %s", sb.String()))
|
|
|
|
s.sendAdminEventToAllClients(fmt.Sprintf("event: current-heat\ndata: %s\n\n", sb.String()))
|
|
|
|
nextHeatData, _ := s.db.GetHeatData(heatData.Group.ID, heatData.HeatNumber+1)
|
|
|
|
nextHeatData, _ := s.db.GetHeatData(heatData.Group.ID, heatData.HeatNumber+1)
|
|
|
|
component = templates.NextHeatDisplay(nextHeatData)
|
|
|
|
component = templates.NextHeatDisplay(nextHeatData)
|
|
|
|
var sb2 strings.Builder
|
|
|
|
var sb2 strings.Builder
|
|
|
|
@ -480,7 +480,7 @@ func (s *Server) broadcastAdminEvent(event models.AdminEvent) {
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
s.logger.Error("Failed to render next heat display", "error", err)
|
|
|
|
s.logger.Error("Failed to render next heat display", "error", err)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
s.sendAdminEventToAllClients(fmt.Sprintf("event: next-heat\ndata: %s", sb2.String()))
|
|
|
|
s.sendAdminEventToAllClients(fmt.Sprintf("event: next-heat\ndata: %s\n\n", sb2.String()))
|
|
|
|
s.sendAdminEventToAllClients(fmt.Sprintf("event: heat-number\ndata: Current Heat: %d of %d", heatData.HeatNumber, heatData.TotalHeats))
|
|
|
|
s.sendAdminEventToAllClients(fmt.Sprintf("event: heat-number\ndata: Current Heat: %d of %d", heatData.HeatNumber, heatData.TotalHeats))
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
s.logger.Error("Failed to convert event to HeatData")
|
|
|
|
s.logger.Error("Failed to convert event to HeatData")
|
|
|
|
@ -497,7 +497,7 @@ func (s *Server) broadcastAdminEvent(event models.AdminEvent) {
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
s.logger.Error("Failed to render current heat results", "error", err)
|
|
|
|
s.logger.Error("Failed to render current heat results", "error", err)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
s.sendAdminEventToAllClients(fmt.Sprintf("event: results\ndata: %s", sb.String()))
|
|
|
|
s.sendAdminEventToAllClients(fmt.Sprintf("event: results\ndata: %s\n\n", sb.String()))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|