DustyP 9 months ago
parent 30db05945f
commit 4ec76c9c7b

@ -97,22 +97,22 @@ templ RegisterForm(groups []models.Group, isAdmin bool) {
}
</div>
</form>
<script>
function validateForm() {
const carNumberInput = document.getElementById('car-number');
const errorDiv = carNumberInput.nextElementSibling;
if (errorDiv.textContent.trim() !== '') {
// Show error message more prominently
errorDiv.classList.add('d-block');
carNumberInput.classList.add('is-invalid');
return false;
}
return true;
}
</script>
</div>
</div>
}
<script>
function validateForm() {
const carNumberInput = document.getElementById('car-number');
const errorDiv = carNumberInput.nextElementSibling;
if (errorDiv.textContent.trim() !== '') {
// Show error message more prominently
errorDiv.classList.add('d-block');
carNumberInput.classList.add('is-invalid');
return false;
}
return true;
}
</script>

@ -89,7 +89,7 @@ func RegisterForm(groups []models.Group, isAdmin bool) templ.Component {
templ_7745c5c3_Var3 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, "<div class=\"card\"><div class=\"card-header\"><h3 class=\"h6 mb-0\">Racer Registration</h3></div><div class=\"card-body\"><div id=\"racer-form-message\"></div><form id=\"racer-form\" hx-post=\"/api/racers\" hx-target=\"#racer-form-message\" hx-swap=\"innerHTML\" hx-on::after-request=\"if(event.detail.successful) { \r\n\t\t\t\t\tdocument.getElementById(&#39;racer-form&#39;).reset(); \r\n\t\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\t\tdocument.getElementById(&#39;racer-form-message&#39;).innerHTML = &#39;&#39;;\r\n\t\t\t\t\t\t// Check if we&#39;re on the admin page by looking for the racers-list element\r\n\t\t\t\t\t\tif (document.getElementById(&#39;racers-list&#39;)) {\r\n\t\t\t\t\t\t\thtmx.ajax(&#39;GET&#39;, &#39;/admin/racers/list&#39;, {target: &#39;#racers-list&#39;});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}, 3000);\r\n\t\t\t\t}\"><!-- Form fields for racer registration --><div class=\"mb-3\"><label for=\"first-name\" class=\"form-label\">First Name</label> <input type=\"text\" class=\"form-control\" id=\"first-name\" name=\"first_name\" required></div><div class=\"mb-3\"><label for=\"last-name\" class=\"form-label\">Last Name</label> <input type=\"text\" class=\"form-control\" id=\"last-name\" name=\"last_name\" required></div><div class=\"mb-3\"><label for=\"car-number\" class=\"form-label\">Car Number</label> <input type=\"text\" class=\"form-control\" id=\"car-number\" name=\"car_number\" required></div><div class=\"mb-3\"><label for=\"car-weight\" class=\"form-label\">Car Weight (oz)</label> <input type=\"number\" step=\"0.01\" class=\"form-control\" id=\"car-weight\" name=\"car_weight\" required></div><div class=\"mb-3\"><label for=\"group-id\" class=\"form-label\">Group</label> <select class=\"form-select\" id=\"group-id\" name=\"group_id\" required><option value=\"\">Select a group</option> ")
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, "<div class=\"card\"><div class=\"card-header\"><h3 class=\"h6 mb-0\">Racer Registration</h3></div><div class=\"card-body\"><div id=\"racer-form-message\"></div><form id=\"racer-form\" hx-post=\"/api/racers\" hx-target=\"#racer-form-message\" hx-swap=\"innerHTML\" hx-on::before-request=\"return validateForm()\" hx-on::after-request=\"if(event.detail.successful) { \r\n\t\t\t\t\tdocument.getElementById(&#39;racer-form&#39;).reset(); \r\n\t\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\t\tdocument.getElementById(&#39;racer-form-message&#39;).innerHTML = &#39;&#39;;\r\n\t\t\t\t\t\t// Check if we&#39;re on the admin page by looking for the racers-list element\r\n\t\t\t\t\t\tif (document.getElementById(&#39;racers-list&#39;)) {\r\n\t\t\t\t\t\t\thtmx.ajax(&#39;GET&#39;, &#39;/admin/racers/list&#39;, {target: &#39;#racers-list&#39;});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}, 3000);\r\n\t\t\t\t}\"><!-- Form fields for racer registration --><div class=\"mb-3\"><label for=\"first-name\" class=\"form-label\">First Name</label> <input type=\"text\" class=\"form-control\" id=\"first-name\" name=\"first_name\" required></div><div class=\"mb-3\"><label for=\"last-name\" class=\"form-label\">Last Name</label> <input type=\"text\" class=\"form-control\" id=\"last-name\" name=\"last_name\" required></div><div class=\"mb-3\"><label for=\"car-number\" class=\"form-label\">Car Number</label> <input type=\"text\" class=\"form-control\" id=\"car-number\" name=\"car_number\" required hx-get=\"/api/validate/car-number\" hx-trigger=\"change\" hx-target=\"next .invalid-feedback\" hx-indicator=\"#car-number-indicator\"><div class=\"invalid-feedback\"></div><div id=\"car-number-indicator\" class=\"htmx-indicator\"><div class=\"spinner-border spinner-border-sm text-primary\" role=\"status\"><span class=\"visually-hidden\">Loading...</span></div><small>Checking availability...</small></div></div><div class=\"mb-3\"><label for=\"car-weight\" class=\"form-label\">Car Weight (oz)</label> <input type=\"number\" step=\"0.01\" class=\"form-control\" id=\"car-weight\" name=\"car_weight\" required></div><div class=\"mb-3\"><label for=\"group-id\" class=\"form-label\">Group</label> <select class=\"form-select\" id=\"group-id\" name=\"group_id\" required><option value=\"\">Select a group</option> ")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@ -101,7 +101,7 @@ func RegisterForm(groups []models.Group, isAdmin bool) templ.Component {
var templ_7745c5c3_Var4 string
templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(strconv.FormatInt(group.ID, 10))
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/register.templ`, Line: 69, Col: 54}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/register.templ`, Line: 87, Col: 54}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
if templ_7745c5c3_Err != nil {
@ -114,7 +114,7 @@ func RegisterForm(groups []models.Group, isAdmin bool) templ.Component {
var templ_7745c5c3_Var5 string
templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(group.Name)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/register.templ`, Line: 69, Col: 69}
return templ.Error{Err: templ_7745c5c3_Err, FileName: `web/templates/register.templ`, Line: 87, Col: 69}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
if templ_7745c5c3_Err != nil {
@ -140,7 +140,7 @@ func RegisterForm(groups []models.Group, isAdmin bool) templ.Component {
return templ_7745c5c3_Err
}
}
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 10, "</div></form></div></div>")
templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 10, "</div></form><script>\r\n function validateForm() {\r\n const carNumberInput = document.getElementById('car-number');\r\n const errorDiv = carNumberInput.nextElementSibling;\r\n \r\n if (errorDiv.textContent.trim() !== '') {\r\n // Show error message more prominently\r\n errorDiv.classList.add('d-block');\r\n carNumberInput.classList.add('is-invalid');\r\n return false;\r\n }\r\n \r\n return true;\r\n }\r\n </script></div></div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}

Loading…
Cancel
Save