fix buttons on admin page

main
DustyP 9 months ago
parent 1316e66b8c
commit bbec7ec509

@ -17,14 +17,41 @@ templ Admin(groups []models.Group, racers []models.Racer) {
<h2 class="h5 mb-0">Groups</h2> <h2 class="h5 mb-0">Groups</h2>
<button <button
class="btn btn-sm btn-primary" class="btn btn-sm btn-primary"
hx-get="/admin/groups/new" id="show-group-form-btn"
hx-target="#group-form-container" onclick="toggleGroupForm()"
> >
Add Group Add Group
</button> </button>
</div> </div>
<div class="card-body"> <div class="card-body">
<div id="group-form-container" class="mb-4"></div> <div id="group-form-container" class="mb-4" style="display: none;">
<div class="card">
<div class="card-header">
<h3 class="h6 mb-0">Add New Group</h3>
</div>
<div class="card-body">
<form
hx-post="/api/groups"
hx-target="#groups-list"
hx-swap="outerHTML"
hx-on::after-request="this.reset(); document.getElementById('group-form-container').style.display = 'none';"
>
<div class="mb-3">
<label for="group-name" class="form-label">Name</label>
<input type="text" class="form-control" id="group-name" name="name" required/>
</div>
<div class="mb-3">
<label for="group-description" class="form-label">Description</label>
<textarea class="form-control" id="group-description" name="description" rows="2"></textarea>
</div>
<div class="d-flex justify-content-end">
<button type="button" class="btn btn-secondary me-2" onclick="toggleGroupForm()">Cancel</button>
<button type="submit" class="btn btn-primary">Save Group</button>
</div>
</form>
</div>
</div>
</div>
<div id="groups-list"> <div id="groups-list">
if len(groups) == 0 { if len(groups) == 0 {
@ -44,8 +71,7 @@ templ Admin(groups []models.Group, racers []models.Racer) {
<div class="btn-group"> <div class="btn-group">
<button <button
class="btn btn-sm btn-outline-primary" class="btn btn-sm btn-outline-primary"
hx-get={ "/admin/groups/edit/" + strconv.FormatInt(group.ID, 10) } onclick="editGroup({group.ID}, '{group.Name}', '{group.Description}')"
hx-target="#group-form-container"
> >
Edit Edit
</button> </button>
@ -73,7 +99,7 @@ templ Admin(groups []models.Group, racers []models.Racer) {
<h2 class="h5 mb-0">Racers</h2> <h2 class="h5 mb-0">Racers</h2>
<button <button
class="btn btn-sm btn-primary" class="btn btn-sm btn-primary"
hx-get="/admin/racers/new" hx-get="/register"
hx-target="#racer-form-container" hx-target="#racer-form-container"
> >
Add Racer Add Racer
@ -135,6 +161,34 @@ templ Admin(groups []models.Group, racers []models.Racer) {
</div> </div>
</div> </div>
</div> </div>
<script>
function toggleGroupForm() {
const formContainer = document.getElementById('group-form-container');
formContainer.style.display = formContainer.style.display === 'none' ? 'block' : 'none';
}
function editGroup(id, name, description) {
// Show the form
const formContainer = document.getElementById('group-form-container');
formContainer.style.display = 'block';
// Update form to be an edit form
const form = formContainer.querySelector('form');
form.setAttribute('hx-post', `/api/groups/${id}`);
form.setAttribute('hx-method', 'PUT');
// Set form values
document.getElementById('group-name').value = name;
document.getElementById('group-description').value = description;
// Update header
formContainer.querySelector('.card-header h3').textContent = 'Edit Group';
// Update submit button
form.querySelector('button[type="submit"]').textContent = 'Update Group';
}
</script>
} }
} }

@ -46,7 +46,7 @@ func Admin(groups []models.Group, racers []models.Racer) templ.Component {
}() }()
} }
ctx = templ.InitializeContext(ctx) ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "<div class=\"container py-4\"><h1 class=\"mb-4\">Admin Dashboard</h1><div class=\"row\"><div class=\"col-md-6 mb-4\"><div class=\"card\"><div class=\"card-header d-flex justify-content-between align-items-center\"><h2 class=\"h5 mb-0\">Groups</h2><button class=\"btn btn-sm btn-primary\" hx-get=\"/admin/groups/new\" hx-target=\"#group-form-container\">Add Group</button></div><div class=\"card-body\"><div id=\"group-form-container\" class=\"mb-4\"></div><div id=\"groups-list\">") templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "<div class=\"container py-4\"><h1 class=\"mb-4\">Admin Dashboard</h1><div class=\"row\"><div class=\"col-md-6 mb-4\"><div class=\"card\"><div class=\"card-header d-flex justify-content-between align-items-center\"><h2 class=\"h5 mb-0\">Groups</h2><button class=\"btn btn-sm btn-primary\" id=\"show-group-form-btn\" onclick=\"toggleGroupForm()\">Add Group</button></div><div class=\"card-body\"><div id=\"group-form-container\" class=\"mb-4\" style=\"display: none;\"><div class=\"card\"><div class=\"card-header\"><h3 class=\"h6 mb-0\">Add New Group</h3></div><div class=\"card-body\"><form hx-post=\"/api/groups\" hx-target=\"#groups-list\" hx-swap=\"outerHTML\" hx-on::after-request=\"this.reset(); document.getElementById(&#39;group-form-container&#39;).style.display = &#39;none&#39;;\"><div class=\"mb-3\"><label for=\"group-name\" class=\"form-label\">Name</label> <input type=\"text\" class=\"form-control\" id=\"group-name\" name=\"name\" required></div><div class=\"mb-3\"><label for=\"group-description\" class=\"form-label\">Description</label> <textarea class=\"form-control\" id=\"group-description\" name=\"description\" rows=\"2\"></textarea></div><div class=\"d-flex justify-content-end\"><button type=\"button\" class=\"btn btn-secondary me-2\" onclick=\"toggleGroupForm()\">Cancel</button> <button type=\"submit\" class=\"btn btn-primary\">Save Group</button></div></form></div></div></div><div id=\"groups-list\">")
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err return templ_7745c5c3_Err
} }
@ -68,7 +68,7 @@ func Admin(groups []models.Group, racers []models.Racer) templ.Component {
var templ_7745c5c3_Var3 string var templ_7745c5c3_Var3 string
templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(group.Name) templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(group.Name)
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/admin.templ`, Line: 39, Col: 42} return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/admin.templ`, Line: 66, Col: 42}
} }
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3)) _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
@ -86,7 +86,7 @@ func Admin(groups []models.Group, racers []models.Racer) templ.Component {
var templ_7745c5c3_Var4 string var templ_7745c5c3_Var4 string
templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(group.Description) templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(group.Description)
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/admin.templ`, Line: 41, Col: 60} return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/admin.templ`, Line: 68, Col: 60}
} }
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4)) _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
@ -97,78 +97,78 @@ func Admin(groups []models.Group, racers []models.Racer) templ.Component {
return templ_7745c5c3_Err return templ_7745c5c3_Err
} }
} }
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 8, "</div><div class=\"btn-group\"><button class=\"btn btn-sm btn-outline-primary\" hx-get=\"") templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 8, "</div><div class=\"btn-group\"><button class=\"btn btn-sm btn-outline-primary\" onclick=\"editGroup({group.ID}, &#39;{group.Name}&#39;, &#39;{group.Description}&#39;)\">Edit</button> <button class=\"btn btn-sm btn-outline-danger\" hx-delete=\"")
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err return templ_7745c5c3_Err
} }
var templ_7745c5c3_Var5 string var templ_7745c5c3_Var5 string
templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs("/admin/groups/edit/" + strconv.FormatInt(group.ID, 10)) templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs("/api/groups/" + strconv.FormatInt(group.ID, 10))
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/admin.templ`, Line: 47, Col: 78} return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/admin.templ`, Line: 80, Col: 74}
} }
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5)) _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err return templ_7745c5c3_Err
} }
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 9, "\" hx-target=\"#group-form-container\">Edit</button> <button class=\"btn btn-sm btn-outline-danger\" hx-delete=\"") templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 9, "\" hx-target=\"#groups-list\" hx-confirm=\"")
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err return templ_7745c5c3_Err
} }
var templ_7745c5c3_Var6 string var templ_7745c5c3_Var6 string
templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs("/api/groups/" + strconv.FormatInt(group.ID, 10)) templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs("Are you sure you want to delete " + group.Name + "?")
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/admin.templ`, Line: 54, Col: 74} return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/admin.templ`, Line: 82, Col: 80}
} }
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6)) _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6))
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err return templ_7745c5c3_Err
} }
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 10, "\" hx-target=\"#groups-list\" hx-confirm=\"") templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 10, "\">Delete</button></div></div>")
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err return templ_7745c5c3_Err
} }
var templ_7745c5c3_Var7 string
templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs("Are you sure you want to delete " + group.Name + "?")
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/admin.templ`, Line: 56, Col: 80}
} }
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7)) templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 11, "</div>")
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err return templ_7745c5c3_Err
} }
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 11, "\">Delete</button></div></div>") }
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 12, "</div></div></div></div><div class=\"col-md-6 mb-4\"><div class=\"card\"><div class=\"card-header d-flex justify-content-between align-items-center\"><h2 class=\"h5 mb-0\">Racers</h2><button class=\"btn btn-sm btn-primary\" hx-get=\"/register\" hx-target=\"#racer-form-container\">Add Racer</button></div><div class=\"card-body\"><div id=\"racer-form-container\" class=\"mb-4\"></div><div id=\"racers-list\">")
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err return templ_7745c5c3_Err
} }
} if len(racers) == 0 {
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 12, "</div>") templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 13, "<div class=\"alert alert-info\"><p class=\"mb-0\">No racers added yet.</p></div>")
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err return templ_7745c5c3_Err
} }
} } else {
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 13, "</div></div></div></div><div class=\"col-md-6 mb-4\"><div class=\"card\"><div class=\"card-header d-flex justify-content-between align-items-center\"><h2 class=\"h5 mb-0\">Racers</h2><button class=\"btn btn-sm btn-primary\" hx-get=\"/admin/racers/new\" hx-target=\"#racer-form-container\">Add Racer</button></div><div class=\"card-body\"><div id=\"racer-form-container\" class=\"mb-4\"></div><div id=\"racers-list\">") templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 14, "<div class=\"table-responsive\"><table class=\"table table-striped table-hover\"><thead><tr><th>Name</th><th>Car #</th><th>Group</th><th>Actions</th></tr></thead> <tbody>")
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err return templ_7745c5c3_Err
} }
if len(racers) == 0 { for _, racer := range racers {
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 14, "<div class=\"alert alert-info\"><p class=\"mb-0\">No racers added yet.</p></div>") templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 15, "<tr><td>")
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err return templ_7745c5c3_Err
} }
} else { var templ_7745c5c3_Var7 string
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 15, "<div class=\"table-responsive\"><table class=\"table table-striped table-hover\"><thead><tr><th>Name</th><th>Car #</th><th>Group</th><th>Actions</th></tr></thead> <tbody>") templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(racer.FirstName + " " + racer.LastName)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/admin.templ`, Line: 130, Col: 58}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7))
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err return templ_7745c5c3_Err
} }
for _, racer := range racers { templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 16, "</td><td>")
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 16, "<tr><td>")
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err return templ_7745c5c3_Err
} }
var templ_7745c5c3_Var8 string var templ_7745c5c3_Var8 string
templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(racer.FirstName + " " + racer.LastName) templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(racer.CarNumber)
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/admin.templ`, Line: 104, Col: 58} return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/admin.templ`, Line: 131, Col: 35}
} }
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8)) _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8))
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
@ -179,77 +179,64 @@ func Admin(groups []models.Group, racers []models.Racer) templ.Component {
return templ_7745c5c3_Err return templ_7745c5c3_Err
} }
var templ_7745c5c3_Var9 string var templ_7745c5c3_Var9 string
templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinStringErrs(racer.CarNumber) templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinStringErrs(getGroupNameForRacer(groups, racer.GroupID))
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/admin.templ`, Line: 105, Col: 35} return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/admin.templ`, Line: 132, Col: 63}
} }
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9)) _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9))
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err return templ_7745c5c3_Err
} }
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, "</td><td>") templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, "</td><td><div class=\"btn-group btn-group-sm\"><button class=\"btn btn-outline-primary\" hx-get=\"")
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err return templ_7745c5c3_Err
} }
var templ_7745c5c3_Var10 string var templ_7745c5c3_Var10 string
templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(getGroupNameForRacer(groups, racer.GroupID)) templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs("/admin/racers/edit/" + strconv.FormatInt(racer.ID, 10))
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/admin.templ`, Line: 106, Col: 63} return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/admin.templ`, Line: 137, Col: 81}
} }
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10)) _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10))
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err return templ_7745c5c3_Err
} }
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 19, "</td><td><div class=\"btn-group btn-group-sm\"><button class=\"btn btn-outline-primary\" hx-get=\"") templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 19, "\" hx-target=\"#racer-form-container\">Edit</button> <button class=\"btn btn-outline-danger\" hx-delete=\"")
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err return templ_7745c5c3_Err
} }
var templ_7745c5c3_Var11 string var templ_7745c5c3_Var11 string
templ_7745c5c3_Var11, templ_7745c5c3_Err = templ.JoinStringErrs("/admin/racers/edit/" + strconv.FormatInt(racer.ID, 10)) templ_7745c5c3_Var11, templ_7745c5c3_Err = templ.JoinStringErrs("/api/racers/" + strconv.FormatInt(racer.ID, 10))
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/admin.templ`, Line: 111, Col: 81} return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/admin.templ`, Line: 144, Col: 77}
} }
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var11)) _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var11))
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err return templ_7745c5c3_Err
} }
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 20, "\" hx-target=\"#racer-form-container\">Edit</button> <button class=\"btn btn-outline-danger\" hx-delete=\"") templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 20, "\" hx-target=\"#racers-list\" hx-confirm=\"")
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err return templ_7745c5c3_Err
} }
var templ_7745c5c3_Var12 string var templ_7745c5c3_Var12 string
templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.JoinStringErrs("/api/racers/" + strconv.FormatInt(racer.ID, 10)) templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.JoinStringErrs("Are you sure you want to delete " + racer.FirstName + " " + racer.LastName + "?")
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/admin.templ`, Line: 118, Col: 77} return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/admin.templ`, Line: 146, Col: 111}
} }
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var12)) _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var12))
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err return templ_7745c5c3_Err
} }
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 21, "\" hx-target=\"#racers-list\" hx-confirm=\"") templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 21, "\">Delete</button></div></td></tr>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var13 string
templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinStringErrs("Are you sure you want to delete " + racer.FirstName + " " + racer.LastName + "?")
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/admin.templ`, Line: 120, Col: 111}
}
_, 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, 22, "\">Delete</button></div></td></tr>")
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err return templ_7745c5c3_Err
} }
} }
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 23, "</tbody></table></div>") templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 22, "</tbody></table></div>")
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err return templ_7745c5c3_Err
} }
} }
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 24, "</div></div></div></div></div></div>") templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 23, "</div></div></div></div></div></div><script>\r\n\t\t\tfunction toggleGroupForm() {\r\n\t\t\t\tconst formContainer = document.getElementById('group-form-container');\r\n\t\t\t\tformContainer.style.display = formContainer.style.display === 'none' ? 'block' : 'none';\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tfunction editGroup(id, name, description) {\r\n\t\t\t\t// Show the form\r\n\t\t\t\tconst formContainer = document.getElementById('group-form-container');\r\n\t\t\t\tformContainer.style.display = 'block';\r\n\t\t\t\t\r\n\t\t\t\t// Update form to be an edit form\r\n\t\t\t\tconst form = formContainer.querySelector('form');\r\n\t\t\t\tform.setAttribute('hx-post', `/api/groups/${id}`);\r\n\t\t\t\tform.setAttribute('hx-method', 'PUT');\r\n\t\t\t\t\r\n\t\t\t\t// Set form values\r\n\t\t\t\tdocument.getElementById('group-name').value = name;\r\n\t\t\t\tdocument.getElementById('group-description').value = description;\r\n\t\t\t\t\r\n\t\t\t\t// Update header\r\n\t\t\t\tformContainer.querySelector('.card-header h3').textContent = 'Edit Group';\r\n\t\t\t\t\r\n\t\t\t\t// Update submit button\r\n\t\t\t\tform.querySelector('button[type=\"submit\"]').textContent = 'Update Group';\r\n\t\t\t}\r\n\t\t</script>")
if templ_7745c5c3_Err != nil { if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err return templ_7745c5c3_Err
} }

Loading…
Cancel
Save