diff --git a/handler/tracker.go b/handler/tracker.go index 7edf721..cda8631 100644 --- a/handler/tracker.go +++ b/handler/tracker.go @@ -146,7 +146,7 @@ func TrackerDamage(c fiber.Ctx) error { heal := c.FormValue("heal") savingThrow := c.FormValue("savingthrow") - if savingThrow == "on" || heal == "false" { + if savingThrow == "on" && heal != "true" { damageFloat := float64(damage) * 0.33333 damage -= int(math.Round(damageFloat)) } diff --git a/main.go b/main.go index f5f2cd0..56b63e6 100644 --- a/main.go +++ b/main.go @@ -6,6 +6,7 @@ import ( "github.com/gofiber/fiber/v3" "github.com/gofiber/fiber/v3/middleware/compress" + "github.com/gofiber/fiber/v3/middleware/logger" "github.com/itsig0/tallytome/handler" ) @@ -22,6 +23,7 @@ func main() { // compression baby app.Use(compress.New()) + app.Use(logger.New()) app.Static("/", "./public") diff --git a/public/scripts/tallytome.js b/public/scripts/tallytome.js new file mode 100644 index 0000000..939343f --- /dev/null +++ b/public/scripts/tallytome.js @@ -0,0 +1,41 @@ +// HTMX event listener +document.addEventListener("DOMContentLoaded", (event) => { + document.body.addEventListener("htmx:beforeSwap", function (evt) { + if (evt.detail.xhr.status === 422) { + evt.detail.shouldSwap = true; + evt.detail.isError = false; + } + }); + + document.body.addEventListener("HPUpdated", function () { + var input = document.getElementById("damageInput"); + input.value = ""; + input.removeAttribute("aria-invalid"); + + var errorMessage = document.getElementById("damageError"); + if (errorMessage) { + errorMessage.parentNode.removeChild(errorMessage); + } + + var savingthrow = document.getElementById("savingthrow"); + savingthrow.checked = false; + }); + + document.body.addEventListener("ManaUpdated", function () { + var input = document.getElementById("manaInput"); + input.value = ""; + input.removeAttribute("aria-invalid"); + + var errorMessage = document.getElementById("manaError"); + if (errorMessage) { + errorMessage.parentNode.removeChild(errorMessage); + } + }); + + document.body.addEventListener("BaseUpdated", function () { + var errorMessage = document.getElementById("baseError"); + if (errorMessage) { + errorMessage.parentNode.removeChild(errorMessage); + } + }); +}); diff --git a/view/hptracker/tracker.templ b/view/hptracker/tracker.templ index 3479389..2018b1a 100644 --- a/view/hptracker/tracker.templ +++ b/view/hptracker/tracker.templ @@ -4,289 +4,203 @@ import "github.com/itsig0/tallytome/view/layout" import "fmt" type TrackerData struct { - HP string - HPBase string - HPStartPercentage string - HPPercentage string - Mana string - ManaBase string - ManaStartPercentage string - ManaPercentage string - ManaRegen string - Round string + HP string + HPBase string + HPStartPercentage string + HPPercentage string + Mana string + ManaBase string + ManaStartPercentage string + ManaPercentage string + ManaRegen string + Round string } type DamageData struct { - Values string - SavingThrow string - Errors string + Values string + SavingThrow string + Errors string } type ManaData struct { - Values string - Errors string + Values string + Errors string } type BaseData struct { - HP string - Mana string - ManaRegen string - Errors string + HP string + Mana string + ManaRegen string + Errors string } -var dd = DamageData { - Values: "", - SavingThrow: "", - Errors: "", +var dd = DamageData{ + Values: "", + SavingThrow: "", + Errors: "", } -var md = ManaData { - Values: "", - Errors: "", +var md = ManaData{ + Values: "", + Errors: "", } -var bd = BaseData { - HP: "", - Mana: "", - ManaRegen: "", - Errors: "", +var bd = BaseData{ + HP: "", + Mana: "", + ManaRegen: "", + Errors: "", } -templ Show(hx bool, td TrackerData){ - @layout.Base(hx){ -