@ -87,21 +87,22 @@ func MaintenanceQueue(data *maintenance.MaintenanceQueueData) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 5 , "</h4><p class=\"text-muted mb-0\">Failed Today</p></div></div></div></div><!-- Simple task queue display --><div class=\"row \"><div class=\"col-12\"><div class=\"card\"><div class=\"card-header\"><h5 class=\"mb-0\">Task Queue </h5></div><div class=\"card-body\">" )
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 5 , "</h4><p class=\"text-muted mb-0\">Failed Today</p></div></div></div></div><!-- Pending Tasks --><div class=\"row mb-4 \"><div class=\"col-12\"><div class=\"card\"><div class=\"card-header bg-primary text-white\"><h5 class=\"mb-0\"><i class=\"fas fa-clock me-2\"></i> Pending Tasks </h5></div><div class=\"card-body\">" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if len ( data . Tasks ) == 0 {
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 6 , "<div class=\"text-center text-muted py-4\"><i class=\"fas fa-clipboard-list fa-3x mb-3\"></i><p>No maintenance tasks in queue</p><small>T asks will appear here when the system detects maintenance needs</small></div>" )
if data . Stats . PendingTasks == 0 {
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 6 , "<div class=\"text-center text-muted py-4\"><i class=\"fas fa-clipboard-list fa-3x mb-3\"></i><p>No pending maintenance tasks</p><small>Pending t asks will appear here when the system detects maintenance needs</small></div>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
} else {
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 7 , "<div class=\"table-responsive\"><table class=\"table table-hover\"><thead><tr><th>ID</th><th>Type</th><th>Status </th><th>Volume</th><th>Server</th><th>Created</th></tr></thead> <tbody>" )
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 7 , "<div class=\"table-responsive\"><table class=\"table table-hover\"><thead><tr><th>ID</th><th>Type</th><th>Priority </th><th>Volume</th><th>Server</th><th>Reason </th><th>Created</th></tr></thead> <tbody>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
for _ , task := range data . Tasks {
if task . Status == maintenance . TaskStatusPending {
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 8 , "<tr><td><code>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
@ -109,7 +110,7 @@ func MaintenanceQueue(data *maintenance.MaintenanceQueueData) templ.Component {
var templ_7745c5c3_Var6 string
templ_7745c5c3_Var6 , templ_7745c5c3_Err = templ . JoinStringErrs ( task . ID [ : 8 ] )
if templ_7745c5c3_Err != nil {
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 103 , Col : 70 }
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 108 , Col : 74 }
}
_ , templ_7745c5c3_Err = templ_7745c5c3_Buffer . WriteString ( templ . EscapeString ( templ_7745c5c3_Var6 ) )
if templ_7745c5c3_Err != nil {
@ -119,10 +120,14 @@ func MaintenanceQueue(data *maintenance.MaintenanceQueueData) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = TaskTypeIcon ( task . Type ) . Render ( ctx , templ_7745c5c3_Buffer )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var7 string
templ_7745c5c3_Var7 , templ_7745c5c3_Err = templ . JoinStringErrs ( string ( task . Type ) )
if templ_7745c5c3_Err != nil {
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 104 , Col : 70 }
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 111 , Col : 74 }
}
_ , templ_7745c5c3_Err = templ_7745c5c3_Buffer . WriteString ( templ . EscapeString ( templ_7745c5c3_Var7 ) )
if templ_7745c5c3_Err != nil {
@ -132,142 +137,480 @@ func MaintenanceQueue(data *maintenance.MaintenanceQueueData) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = PriorityBadge ( task . Priority ) . Render ( ctx , templ_7745c5c3_Buffer )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 11 , "</td><td>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var8 string
templ_7745c5c3_Var8 , templ_7745c5c3_Err = templ . JoinStringErrs ( string ( task . Status ) )
templ_7745c5c3_Var8 , templ_7745c5c3_Err = templ . JoinStringErrs ( fmt . Sprintf ( "%d" , task . VolumeID ) )
if templ_7745c5c3_Err != nil {
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 105 , Col : 72 }
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 114 , Col : 89 }
}
_ , templ_7745c5c3_Err = templ_7745c5c3_Buffer . WriteString ( templ . EscapeString ( templ_7745c5c3_Var8 ) )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 11 , "</td><td>" )
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 12 , "</td><td><small >" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var9 string
templ_7745c5c3_Var9 , templ_7745c5c3_Err = templ . JoinStringErrs ( fmt . Sprintf ( "%d" , task . VolumeID ) )
templ_7745c5c3_Var9 , templ_7745c5c3_Err = templ . JoinStringErrs ( task . Server )
if templ_7745c5c3_Err != nil {
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 106 , Col : 8 5}
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 115 , Col : 7 5}
}
_ , templ_7745c5c3_Err = templ_7745c5c3_Buffer . WriteString ( templ . EscapeString ( templ_7745c5c3_Var9 ) )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 12 , "</td><td>" )
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 13 , "</small></ td><td><small >" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var10 string
templ_7745c5c3_Var10 , templ_7745c5c3_Err = templ . JoinStringErrs ( task . Server )
templ_7745c5c3_Var10 , templ_7745c5c3_Err = templ . JoinStringErrs ( task . Reason )
if templ_7745c5c3_Err != nil {
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 107 , Col : 64 }
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 116 , Col : 75 }
}
_ , templ_7745c5c3_Err = templ_7745c5c3_Buffer . WriteString ( templ . EscapeString ( templ_7745c5c3_Var10 ) )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 13 , " </td><td>")
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 14 , "</small> </td><td>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var11 string
templ_7745c5c3_Var11 , templ_7745c5c3_Err = templ . JoinStringErrs ( task . CreatedAt . Format ( "2006-01-02 15:04" ) )
if templ_7745c5c3_Err != nil {
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 108 , Col : 94 }
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 117 , Col : 98 }
}
_ , templ_7745c5c3_Err = templ_7745c5c3_Buffer . WriteString ( templ . EscapeString ( templ_7745c5c3_Var11 ) )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 14 , "</td></tr>" )
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 15 , "</td></tr>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 15 , "</tbody></table></div>" )
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 16 , "</tbody></table></div>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 16 , "</div></div></div></div><!-- Workers Summary --><div class=\"row mt -4\"><div class=\"col-12\"><div class=\"card\"><div class=\"card-header\"><h5 class=\"mb-0\">Active Worker s</h5></div><div class=\"card-body\">" )
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 17 , "</div></div></div></div><!-- Active Tasks --><div class=\"row mb -4\"><div class=\"col-12\"><div class=\"card\"><div class=\"card-header bg-warning text-dark\"><h5 class=\"mb-0\"><i class=\"fas fa-running me-2\"></i> Active Task s</h5></div><div class=\"card-body\">" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if len ( data . Workers ) == 0 {
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 17 , "<div class=\"text-center text-muted py-4\"><i class=\"fas fa-robot fa-3x mb-3\"></i><p>No workers are currently active</p><small>Start workers using: <code>weed worker -admin=localhost:9333</code> </small></div>" )
if data . Stats . RunningTasks == 0 {
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 18 , "<div class=\"text-center text-muted py-4\"><i class=\"fas fa-tasks fa-3x mb-3\"></i><p>No active maintenance tasks</p><small>Active tasks will appear here when workers start processing them </small></div>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
} else {
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 18 , "<div class=\"row\" >" )
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 19 , "<div class=\"table-responsive\"><table class=\"table table-hover\"><thead><tr><th>ID</th><th>Type</th><th>Status</th><th>Progress</th><th>Volume</th><th>Worker</th><th>Started</th></tr></thead> <tbody >" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
for _ , worker := range data . Workers {
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 19 , "<div class=\"col-md-4 mb-3\"><div class=\"card\"><div class=\"card-body\"><h6 class=\"card-title\">" )
for _ , task := range data . Tasks {
if task . Status == maintenance . TaskStatusAssigned || task . Status == maintenance . TaskStatusInProgress {
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 20 , "<tr><td><code>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var12 string
templ_7745c5c3_Var12 , templ_7745c5c3_Err = templ . JoinStringErrs ( worker . ID )
templ_7745c5c3_Var12 , templ_7745c5c3_Err = templ . JoinStringErrs ( task . ID [ : 8 ] )
if templ_7745c5c3_Err != nil {
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 140 , Col : 81 }
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 165 , Col : 74 }
}
_ , templ_7745c5c3_Err = templ_7745c5c3_Buffer . WriteString ( templ . EscapeString ( templ_7745c5c3_Var12 ) )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 20 , "</h6><p class=\"card-text\"><small class=\"text-muted\">" )
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 21 , "...</code></td><td>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = TaskTypeIcon ( task . Type ) . Render ( ctx , templ_7745c5c3_Buffer )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var13 string
templ_7745c5c3_Var13 , templ_7745c5c3_Err = templ . JoinStringErrs ( worker . Address )
templ_7745c5c3_Var13 , templ_7745c5c3_Err = templ . JoinStringErrs ( string ( task . Type ) )
if templ_7745c5c3_Err != nil {
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 142 , Col : 93 }
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 168 , Col : 74 }
}
_ , templ_7745c5c3_Err = templ_7745c5c3_Buffer . WriteString ( templ . EscapeString ( templ_7745c5c3_Var13 ) )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 21 , "</small><br>Status: " )
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 22 , "</td><td>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = StatusBadge ( task . Status ) . Render ( ctx , templ_7745c5c3_Buffer )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 23 , "</td><td>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = ProgressBar ( task . Progress , task . Status ) . Render ( ctx , templ_7745c5c3_Buffer )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 24 , "</td><td>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var14 string
templ_7745c5c3_Var14 , templ_7745c5c3_Err = templ . JoinStringErrs ( worker . Status )
templ_7745c5c3_Var14 , templ_7745c5c3_Err = templ . JoinStringErrs ( fmt . Sprintf ( "%d" , task . VolumeID ) )
if templ_7745c5c3_Err != nil {
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 143 , Col : 74 }
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 172 , Col : 89 }
}
_ , templ_7745c5c3_Err = templ_7745c5c3_Buffer . WriteString ( templ . EscapeString ( templ_7745c5c3_Var14 ) )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 22 , "<br>Load: " )
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 25 , "</td><td>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if task . WorkerID != "" {
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 26 , "<small>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var15 string
templ_7745c5c3_Var15 , templ_7745c5c3_Err = templ . JoinStringErrs ( fmt . Sprintf ( "%d/%d" , worker . CurrentLoad , worker . MaxConcurrent ) )
templ_7745c5c3_Var15 , templ_7745c5c3_Err = templ . JoinStringErrs ( task . WorkerID [ : 8 ] )
if templ_7745c5c3_Err != nil {
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 144 , Col : 121 }
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 175 , Col : 85 }
}
_ , templ_7745c5c3_Err = templ_7745c5c3_Buffer . WriteString ( templ . EscapeString ( templ_7745c5c3_Var15 ) )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 23 , "</p></div></div></div>" )
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 27 , "...</small>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
} else {
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 28 , "<span class=\"text-muted\">-</span>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 29 , "</td><td>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if task . StartedAt != nil {
var templ_7745c5c3_Var16 string
templ_7745c5c3_Var16 , templ_7745c5c3_Err = templ . JoinStringErrs ( task . StartedAt . Format ( "2006-01-02 15:04" ) )
if templ_7745c5c3_Err != nil {
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 182 , Col : 102 }
}
_ , templ_7745c5c3_Err = templ_7745c5c3_Buffer . WriteString ( templ . EscapeString ( templ_7745c5c3_Var16 ) )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
} else {
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 30 , "<span class=\"text-muted\">-</span>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 31 , "</td></tr>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 32 , "</tbody></table></div>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 33 , "</div></div></div></div><!-- Completed Tasks --><div class=\"row mb-4\"><div class=\"col-12\"><div class=\"card\"><div class=\"card-header bg-success text-white\"><h5 class=\"mb-0\"><i class=\"fas fa-check-circle me-2\"></i> Completed Tasks</h5></div><div class=\"card-body\">" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if data . Stats . CompletedToday == 0 && data . Stats . FailedToday == 0 {
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 34 , "<div class=\"text-center text-muted py-4\"><i class=\"fas fa-check-circle fa-3x mb-3\"></i><p>No completed maintenance tasks today</p><small>Completed tasks will appear here after workers finish processing them</small></div>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
} else {
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 35 , "<div class=\"table-responsive\"><table class=\"table table-hover\"><thead><tr><th>ID</th><th>Type</th><th>Status</th><th>Volume</th><th>Worker</th><th>Duration</th><th>Completed</th></tr></thead> <tbody>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
for _ , task := range data . Tasks {
if task . Status == maintenance . TaskStatusCompleted || task . Status == maintenance . TaskStatusFailed || task . Status == maintenance . TaskStatusCancelled {
if task . Status == maintenance . TaskStatusFailed {
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 36 , "<tr class=\"table-danger\"><td><code>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var17 string
templ_7745c5c3_Var17 , templ_7745c5c3_Err = templ . JoinStringErrs ( task . ID [ : 8 ] )
if templ_7745c5c3_Err != nil {
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 235 , Col : 78 }
}
_ , templ_7745c5c3_Err = templ_7745c5c3_Buffer . WriteString ( templ . EscapeString ( templ_7745c5c3_Var17 ) )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 37 , "...</code></td><td>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = TaskTypeIcon ( task . Type ) . Render ( ctx , templ_7745c5c3_Buffer )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var18 string
templ_7745c5c3_Var18 , templ_7745c5c3_Err = templ . JoinStringErrs ( string ( task . Type ) )
if templ_7745c5c3_Err != nil {
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 238 , Col : 78 }
}
_ , templ_7745c5c3_Err = templ_7745c5c3_Buffer . WriteString ( templ . EscapeString ( templ_7745c5c3_Var18 ) )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 38 , "</td><td>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = StatusBadge ( task . Status ) . Render ( ctx , templ_7745c5c3_Buffer )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 39 , "</td><td>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var19 string
templ_7745c5c3_Var19 , templ_7745c5c3_Err = templ . JoinStringErrs ( fmt . Sprintf ( "%d" , task . VolumeID ) )
if templ_7745c5c3_Err != nil {
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 241 , Col : 93 }
}
_ , templ_7745c5c3_Err = templ_7745c5c3_Buffer . WriteString ( templ . EscapeString ( templ_7745c5c3_Var19 ) )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 40 , "</td><td>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if task . WorkerID != "" {
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 41 , "<small>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var20 string
templ_7745c5c3_Var20 , templ_7745c5c3_Err = templ . JoinStringErrs ( task . WorkerID [ : 8 ] )
if templ_7745c5c3_Err != nil {
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 244 , Col : 89 }
}
_ , templ_7745c5c3_Err = templ_7745c5c3_Buffer . WriteString ( templ . EscapeString ( templ_7745c5c3_Var20 ) )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 42 , "...</small>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
} else {
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 43 , "<span class=\"text-muted\">-</span>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 44 , "</td><td>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if task . StartedAt != nil && task . CompletedAt != nil {
var templ_7745c5c3_Var21 string
templ_7745c5c3_Var21 , templ_7745c5c3_Err = templ . JoinStringErrs ( formatDuration ( task . CompletedAt . Sub ( * task . StartedAt ) ) )
if templ_7745c5c3_Err != nil {
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 251 , Col : 118 }
}
_ , templ_7745c5c3_Err = templ_7745c5c3_Buffer . WriteString ( templ . EscapeString ( templ_7745c5c3_Var21 ) )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
} else {
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 45 , "<span class=\"text-muted\">-</span>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 46 , "</td><td>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if task . CompletedAt != nil {
var templ_7745c5c3_Var22 string
templ_7745c5c3_Var22 , templ_7745c5c3_Err = templ . JoinStringErrs ( task . CompletedAt . Format ( "2006-01-02 15:04" ) )
if templ_7745c5c3_Err != nil {
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 258 , Col : 108 }
}
_ , templ_7745c5c3_Err = templ_7745c5c3_Buffer . WriteString ( templ . EscapeString ( templ_7745c5c3_Var22 ) )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
} else {
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 47 , "<span class=\"text-muted\">-</span>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 48 , "</td></tr>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
} else {
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 49 , "<tr><td><code>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var23 string
templ_7745c5c3_Var23 , templ_7745c5c3_Err = templ . JoinStringErrs ( task . ID [ : 8 ] )
if templ_7745c5c3_Err != nil {
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 266 , Col : 78 }
}
_ , templ_7745c5c3_Err = templ_7745c5c3_Buffer . WriteString ( templ . EscapeString ( templ_7745c5c3_Var23 ) )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 50 , "...</code></td><td>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = TaskTypeIcon ( task . Type ) . Render ( ctx , templ_7745c5c3_Buffer )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var24 string
templ_7745c5c3_Var24 , templ_7745c5c3_Err = templ . JoinStringErrs ( string ( task . Type ) )
if templ_7745c5c3_Err != nil {
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 269 , Col : 78 }
}
_ , templ_7745c5c3_Err = templ_7745c5c3_Buffer . WriteString ( templ . EscapeString ( templ_7745c5c3_Var24 ) )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 51 , "</td><td>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = StatusBadge ( task . Status ) . Render ( ctx , templ_7745c5c3_Buffer )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 52 , "</td><td>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var25 string
templ_7745c5c3_Var25 , templ_7745c5c3_Err = templ . JoinStringErrs ( fmt . Sprintf ( "%d" , task . VolumeID ) )
if templ_7745c5c3_Err != nil {
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 272 , Col : 93 }
}
_ , templ_7745c5c3_Err = templ_7745c5c3_Buffer . WriteString ( templ . EscapeString ( templ_7745c5c3_Var25 ) )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 53 , "</td><td>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if task . WorkerID != "" {
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 54 , "<small>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var26 string
templ_7745c5c3_Var26 , templ_7745c5c3_Err = templ . JoinStringErrs ( task . WorkerID [ : 8 ] )
if templ_7745c5c3_Err != nil {
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 275 , Col : 89 }
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 24 , "</div>" )
_ , templ_7745c5c3_Err = templ_7745c5c3_Buffer . WriteString ( templ . EscapeString ( templ_7745c5c3_Var26 ) )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 55 , "...</small>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
} else {
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 56 , "<span class=\"text-muted\">-</span>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 57 , "</td><td>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if task . StartedAt != nil && task . CompletedAt != nil {
var templ_7745c5c3_Var27 string
templ_7745c5c3_Var27 , templ_7745c5c3_Err = templ . JoinStringErrs ( formatDuration ( task . CompletedAt . Sub ( * task . StartedAt ) ) )
if templ_7745c5c3_Err != nil {
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 282 , Col : 118 }
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 25 , "</div></div></div></div></div><script>\n // Auto-refresh every 10 seconds\n setInterval(function() {\n if (!document.hidden) {\n window.location.reload();\n }\n }, 10000);\n\n function triggerScan() {\n fetch('/api/maintenance/scan', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n }\n })\n .then(response => response.json())\n .then(data => {\n if (data.success) {\n alert('Maintenance scan triggered successfully');\n setTimeout(() => window.location.reload(), 2000);\n } else {\n alert('Failed to trigger scan: ' + (data.error || 'Unknown error'));\n }\n })\n .catch(error => {\n alert('Error: ' + error.message);\n });\n }\n </script>" )
_ , templ_7745c5c3_Err = templ_7745c5c3_Buffer . WriteString ( templ . EscapeString ( templ_7745c5c3_Var27 ) )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
} else {
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 58 , "<span class=\"text-muted\">-</span>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 59 , "</td><td>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if task . CompletedAt != nil {
var templ_7745c5c3_Var28 string
templ_7745c5c3_Var28 , templ_7745c5c3_Err = templ . JoinStringErrs ( task . CompletedAt . Format ( "2006-01-02 15:04" ) )
if templ_7745c5c3_Err != nil {
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 289 , Col : 108 }
}
_ , templ_7745c5c3_Err = templ_7745c5c3_Buffer . WriteString ( templ . EscapeString ( templ_7745c5c3_Var28 ) )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
} else {
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 60 , "<span class=\"text-muted\">-</span>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 61 , "</td></tr>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
}
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 62 , "</tbody></table></div>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 63 , "</div></div></div></div></div><script>\n // Auto-refresh every 10 seconds\n setInterval(function() {\n if (!document.hidden) {\n window.location.reload();\n }\n }, 10000);\n\n function triggerScan() {\n fetch('/api/maintenance/scan', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n }\n })\n .then(response => response.json())\n .then(data => {\n if (data.success) {\n alert('Maintenance scan triggered successfully');\n setTimeout(() => window.location.reload(), 2000);\n } else {\n alert('Failed to trigger scan: ' + (data.error || 'Unknown error'));\n }\n })\n .catch(error => {\n alert('Error: ' + error.message);\n });\n }\n </script>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@ -292,30 +635,30 @@ func TaskTypeIcon(taskType maintenance.MaintenanceTaskType) templ.Component {
} ( )
}
ctx = templ . InitializeContext ( ctx )
templ_7745c5c3_Var16 := templ . GetChildren ( ctx )
if templ_7745c5c3_Var16 == nil {
templ_7745c5c3_Var16 = templ . NopComponent
templ_7745c5c3_Var29 := templ . GetChildren ( ctx )
if templ_7745c5c3_Var29 == nil {
templ_7745c5c3_Var29 = templ . NopComponent
}
ctx = templ . ClearChildren ( ctx )
var templ_7745c5c3_Var17 = [ ] any { maintenance . GetTaskIcon ( taskType ) + " me-1" }
templ_7745c5c3_Err = templ . RenderCSSItems ( ctx , templ_7745c5c3_Buffer , templ_7745c5c3_Var17 ... )
var templ_7745c5c3_Var30 = [ ] any { maintenance . GetTaskIcon ( taskType ) + " me-1" }
templ_7745c5c3_Err = templ . RenderCSSItems ( ctx , templ_7745c5c3_Buffer , templ_7745c5c3_Var30 ... )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 2 6, "<i class=\"" )
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 64 , "<i class=\"" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var18 string
templ_7745c5c3_Var18 , templ_7745c5c3_Err = templ . JoinStringErrs ( templ . CSSClasses ( templ_7745c5c3_Var17 ) . String ( ) )
var templ_7745c5c3_Var3 1 string
templ_7745c5c3_Var3 1 , templ_7745c5c3_Err = templ . JoinStringErrs ( templ . CSSClasses ( templ_7745c5c3_Var30 ) . String ( ) )
if templ_7745c5c3_Err != nil {
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 1 , Col : 0 }
}
_ , templ_7745c5c3_Err = templ_7745c5c3_Buffer . WriteString ( templ . EscapeString ( templ_7745c5c3_Var18 ) )
_ , templ_7745c5c3_Err = templ_7745c5c3_Buffer . WriteString ( templ . EscapeString ( templ_7745c5c3_Var3 1 ) )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 27 , "\"></i>" )
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 65 , "\"></i>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@ -339,34 +682,34 @@ func PriorityBadge(priority maintenance.MaintenanceTaskPriority) templ.Component
} ( )
}
ctx = templ . InitializeContext ( ctx )
templ_7745c5c3_Var19 := templ . GetChildren ( ctx )
if templ_7745c5c3_Var19 == nil {
templ_7745c5c3_Var19 = templ . NopComponent
templ_7745c5c3_Var32 := templ . GetChildren ( ctx )
if templ_7745c5c3_Var32 == nil {
templ_7745c5c3_Var32 = templ . NopComponent
}
ctx = templ . ClearChildren ( ctx )
switch priority {
case maintenance . PriorityCritical :
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 28 , "<span class=\"badge bg-danger\">Critical</span>" )
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 66 , "<span class=\"badge bg-danger\">Critical</span>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
case maintenance . PriorityHigh :
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 29 , "<span class=\"badge bg-warning\">High</span>" )
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 67 , "<span class=\"badge bg-warning\">High</span>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
case maintenance . PriorityNormal :
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 30 , "<span class=\"badge bg-primary\">Normal</span>" )
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 68 , "<span class=\"badge bg-primary\">Normal</span>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
case maintenance . PriorityLow :
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 31 , "<span class=\"badge bg-secondary\">Low</span>" )
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 69 , "<span class=\"badge bg-secondary\">Low</span>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
default :
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 32 , "<span class=\"badge bg-light text-dark\">Unknown</span>" )
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 70 , "<span class=\"badge bg-light text-dark\">Unknown</span>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@ -391,44 +734,44 @@ func StatusBadge(status maintenance.MaintenanceTaskStatus) templ.Component {
} ( )
}
ctx = templ . InitializeContext ( ctx )
templ_7745c5c3_Var20 := templ . GetChildren ( ctx )
if templ_7745c5c3_Var20 == nil {
templ_7745c5c3_Var20 = templ . NopComponent
templ_7745c5c3_Var33 := templ . GetChildren ( ctx )
if templ_7745c5c3_Var33 == nil {
templ_7745c5c3_Var33 = templ . NopComponent
}
ctx = templ . ClearChildren ( ctx )
switch status {
case maintenance . TaskStatusPending :
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 33 , "<span class=\"badge bg-secondary\">Pending</span>" )
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 71 , "<span class=\"badge bg-secondary\">Pending</span>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
case maintenance . TaskStatusAssigned :
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 34 , "<span class=\"badge bg-info\">Assigned</span>" )
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 72 , "<span class=\"badge bg-info\">Assigned</span>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
case maintenance . TaskStatusInProgress :
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 35 , "<span class=\"badge bg-warning\">Running</span>" )
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 7 3, "<span class=\"badge bg-warning\">Running</span>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
case maintenance . TaskStatusCompleted :
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 36 , "<span class=\"badge bg-success\">Completed</span>" )
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 74 , "<span class=\"badge bg-success\">Completed</span>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
case maintenance . TaskStatusFailed :
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 3 7, "<span class=\"badge bg-danger\">Failed</span>" )
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 75 , "<span class=\"badge bg-danger\">Failed</span>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
case maintenance . TaskStatusCancelled :
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 38 , "<span class=\"badge bg-light text-dark\">Cancelled</span>" )
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 76 , "<span class=\"badge bg-light text-dark\">Cancelled</span>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
default :
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 39 , "<span class=\"badge bg-light text-dark\">Unknown</span>" )
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 77 , "<span class=\"badge bg-light text-dark\">Unknown</span>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@ -453,49 +796,49 @@ func ProgressBar(progress float64, status maintenance.MaintenanceTaskStatus) tem
} ( )
}
ctx = templ . InitializeContext ( ctx )
templ_7745c5c3_Var21 := templ . GetChildren ( ctx )
if templ_7745c5c3_Var21 == nil {
templ_7745c5c3_Var21 = templ . NopComponent
templ_7745c5c3_Var34 := templ . GetChildren ( ctx )
if templ_7745c5c3_Var34 == nil {
templ_7745c5c3_Var34 = templ . NopComponent
}
ctx = templ . ClearChildren ( ctx )
if status == maintenance . TaskStatusInProgress || status == maintenance . TaskStatusAssigned {
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 40 , "<div class=\"progress\" style=\"height: 8px; min-width: 100px;\"><div class=\"progress-bar\" role=\"progressbar\" style=\"" )
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 78 , "<div class=\"progress\" style=\"height: 8px; min-width: 100px;\"><div class=\"progress-bar\" role=\"progressbar\" style=\"" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var22 string
templ_7745c5c3_Var22 , templ_7745c5c3_Err = templruntime . SanitizeStyleAttributeValues ( fmt . Sprintf ( "width: %.1f%%" , progress ) )
var templ_7745c5c3_Var35 string
templ_7745c5c3_Var35 , templ_7745c5c3_Err = templruntime . SanitizeStyleAttributeValues ( fmt . Sprintf ( "width: %.1f%%" , progress ) )
if templ_7745c5c3_Err != nil {
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 2 31, Col : 102 }
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 38 1 , Col : 102 }
}
_ , templ_7745c5c3_Err = templ_7745c5c3_Buffer . WriteString ( templ . EscapeString ( templ_7745c5c3_Var22 ) )
_ , templ_7745c5c3_Err = templ_7745c5c3_Buffer . WriteString ( templ . EscapeString ( templ_7745c5c3_Var35 ) )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 41 , "\"></div></div><small class=\"text-muted\">" )
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 79 , "\"></div></div><small class=\"text-muted\">" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var2 3 string
templ_7745c5c3_Var2 3 , templ_7745c5c3_Err = templ . JoinStringErrs ( fmt . Sprintf ( "%.1f%%" , progress ) )
var templ_7745c5c3_Var36 string
templ_7745c5c3_Var36 , templ_7745c5c3_Err = templ . JoinStringErrs ( fmt . Sprintf ( "%.1f%%" , progress ) )
if templ_7745c5c3_Err != nil {
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 2 34, Col : 66 }
return templ . Error { Err : templ_7745c5c3_Err , FileName : ` view/app/maintenance_queue.templ ` , Line : 38 4 , Col : 66 }
}
_ , templ_7745c5c3_Err = templ_7745c5c3_Buffer . WriteString ( templ . EscapeString ( templ_7745c5c3_Var2 3 ) )
_ , templ_7745c5c3_Err = templ_7745c5c3_Buffer . WriteString ( templ . EscapeString ( templ_7745c5c3_Var36 ) )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 42 , "</small>" )
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 80 , "</small>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
} else if status == maintenance . TaskStatusCompleted {
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 43 , "<div class=\"progress\" style=\"height: 8px; min-width: 100px;\"><div class=\"progress-bar bg-success\" role=\"progressbar\" style=\"width: 100%\"></div></div><small class=\"text-success\">100%</small>" )
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 81 , "<div class=\"progress\" style=\"height: 8px; min-width: 100px;\"><div class=\"progress-bar bg-success\" role=\"progressbar\" style=\"width: 100%\"></div></div><small class=\"text-success\">100%</small>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
} else {
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 44 , "<span class=\"text-muted\">-</span>" )
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 82 , "<span class=\"text-muted\">-</span>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@ -504,65 +847,13 @@ func ProgressBar(progress float64, status maintenance.MaintenanceTaskStatus) tem
} )
}
func WorkerStatusBadge ( status string ) 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 {
return templ_7745c5c3_CtxErr
}
templ_7745c5c3_Buffer , templ_7745c5c3_IsBuffer := templruntime . GetBuffer ( templ_7745c5c3_W )
if ! templ_7745c5c3_IsBuffer {
defer func ( ) {
templ_7745c5c3_BufErr := templruntime . ReleaseBuffer ( templ_7745c5c3_Buffer )
if templ_7745c5c3_Err == nil {
templ_7745c5c3_Err = templ_7745c5c3_BufErr
}
} ( )
}
ctx = templ . InitializeContext ( ctx )
templ_7745c5c3_Var24 := templ . GetChildren ( ctx )
if templ_7745c5c3_Var24 == nil {
templ_7745c5c3_Var24 = templ . NopComponent
}
ctx = templ . ClearChildren ( ctx )
switch status {
case "active" :
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 45 , "<span class=\"badge bg-success\">Active</span>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
case "busy" :
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 46 , "<span class=\"badge bg-warning\">Busy</span>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
case "inactive" :
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 47 , "<span class=\"badge bg-secondary\">Inactive</span>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
default :
templ_7745c5c3_Err = templruntime . WriteString ( templ_7745c5c3_Buffer , 48 , "<span class=\"badge bg-light text-dark\">Unknown</span>" )
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
return nil
} )
}
// Helper functions (would be defined in Go)
func getWorkerStatusColor ( status string ) string {
switch status {
case "active" :
return "success"
case "busy" :
return "warning"
case "inactive" :
return "secondary"
default :
return "light"
func formatDuration ( d time . Duration ) string {
if d < time . Minute {
return fmt . Sprintf ( "%.0fs" , d . Seconds ( ) )
} else if d < time . Hour {
return fmt . Sprintf ( "%.1fm" , d . Minutes ( ) )
} else {
return fmt . Sprintf ( "%.1fh" , d . Hours ( ) )
}
}