diff --git a/handler/tracker.go b/handler/tracker.go
index 15602c2..7edf721 100644
--- a/handler/tracker.go
+++ b/handler/tracker.go
@@ -7,7 +7,6 @@ import (
"strconv"
"github.com/gofiber/fiber/v3"
- "github.com/gofiber/fiber/v3/log"
"github.com/itsig0/tallytome/view/hptracker"
)
@@ -20,24 +19,25 @@ func Tracker(c fiber.Ctx) error {
hx := len(c.GetReqHeaders()["Hx-Request"]) > 0
data := hptracker.TrackerData{
- HP: "0",
- HPBase: "0",
- HPStartPercentage: "0",
- HPPercentage: "0",
- Mana: "0",
- ManaBase: "0",
- ManaRegen: "0",
- ManaStartPercentage: "0",
- ManaPercentage: "0",
+ Round: "0",
}
- fields := []string{"HP", "HPBase", "HPStartPercentage", "HPPercentage", "Mana", "ManaBase", "ManaRegen", "ManaStartPercentage", "ManaPercentage"}
+ fields := []string{"HP", "HPBase", "HPStartPercentage", "HPPercentage", "Mana", "ManaBase", "ManaRegen", "ManaStartPercentage", "ManaPercentage", "Round"}
for _, field := range fields {
if val := sess.Get("tracker_" + field); val != nil {
reflect.ValueOf(&data).Elem().FieldByName(field).SetString(fmt.Sprint(val))
}
}
+ if sess.Get("tracker_Round") == nil {
+ sess.Set("tracker_Round", "0")
+ sess.Save()
+ }
+
+ // prevent animation reset
+ data.HPStartPercentage = data.HPPercentage
+ data.ManaStartPercentage = data.ManaPercentage
+
return render(c, hptracker.Show(hx, data))
}
@@ -59,20 +59,47 @@ func TrackerUpdate(c fiber.Ctx) error {
ManaPercentage: "100",
}
+ bd := hptracker.BaseData{}
+
+ mistake := false
+
+ if len(data.HP) > 5 || len(data.Mana) > 5 {
+ bd.Errors = "Einfach nur zu viel."
+ mistake = true
+ }
+
+ intManaRegen, _ := strconv.Atoi(data.ManaRegen)
+ if intManaRegen > 100 && !mistake {
+ bd.Errors = "Mehr als 100% geht nicht"
+ mistake = true
+ }
+
+ if mistake {
+ c.Status(422)
+ c.Append("HX-Retarget", "#baseStats")
+ c.Append("HX-Reswap", "outerHTML")
+
+ return render(c, hptracker.BaseStats(data, bd))
+ }
+
pre := "tracker_"
sess.Set(pre+"HP", data.HP)
sess.Set(pre+"HPBase", data.HPBase)
sess.Set(pre+"HPPercentage", data.HPPercentage)
- sess.Set(pre+"HPStartPercentage", data.HPStartPercentage)
+ sess.Set(pre+"HPStartPercentage", data.HPPercentage)
sess.Set(pre+"Mana", data.Mana)
sess.Set(pre+"ManaBase", data.ManaBase)
sess.Set(pre+"ManaRegen", data.ManaRegen)
- sess.Set(pre+"ManaStartPercentage", data.ManaStartPercentage)
+ sess.Set(pre+"ManaStartPercentage", data.ManaPercentage)
sess.Set(pre+"ManaPercentage", data.ManaPercentage)
+ sess.Set(pre+"Round", "0")
+
sess.Save()
+ c.Append("HX-Trigger", "BaseUpdated")
+
return render(c, hptracker.TrackerColumn(data))
}
@@ -85,10 +112,17 @@ func TrackerDamage(c fiber.Ctx) error {
damage, err := strconv.Atoi(c.FormValue("damageInput"))
if err != nil {
c.Status(422)
- return c.SendString(err.Error())
- } else if damage <= 0 {
+ c.Append("HX-Retarget", "#damageInputs")
+ c.Append("HX-Reswap", "outerHTML")
+ return render(c, hptracker.Hp(hptracker.DamageData{
+ Errors: "Einfach nur zu viel.",
+ }))
+ }
+
+ if damage <= 0 {
c.Status(422)
c.Append("HX-Retarget", "#damageInputs")
+ c.Append("HX-Reswap", "outerHTML")
return render(c, hptracker.Hp(hptracker.DamageData{
Errors: "Darf nicht 0 oder kleiner sein.",
}))
@@ -98,6 +132,7 @@ func TrackerDamage(c fiber.Ctx) error {
if err != nil {
c.Status(422)
c.Append("HX-Retarget", "#damageInputs")
+ c.Append("HX-Reswap", "outerHTML")
return render(c, hptracker.Hp(hptracker.DamageData{
Errors: "Standard Werte nicht gesetzt.",
Values: c.FormValue("damageInput"),
@@ -108,8 +143,8 @@ func TrackerDamage(c fiber.Ctx) error {
// no error handling here because it's already done for currentHP
baseHP, _ := strconv.Atoi(fmt.Sprint(sess.Get("tracker_HPBase")))
- heal := string(c.FormValue("heal"))
- savingThrow := string(c.FormValue("savingthrow"))
+ heal := c.FormValue("heal")
+ savingThrow := c.FormValue("savingthrow")
if savingThrow == "on" || heal == "false" {
damageFloat := float64(damage) * 0.33333
@@ -155,33 +190,50 @@ func TrackerMana(c fiber.Ctx) error {
return err
}
+ manaData := hptracker.ManaData{}
+
mana, err := strconv.Atoi(c.FormValue("manaInput"))
if err != nil {
c.Status(422)
- return c.SendString(err.Error())
- } else if mana <= 0 {
+ c.Append("HX-Retarget", "#manaInputs")
+ manaData.Errors = "Einfach nur zu viel."
+ return render(c, hptracker.Mana(manaData))
+ }
+
+ if mana <= 0 {
c.Status(422)
- // c.Append("HX-Retarget", "#damageInputs")
- // return render(c, hptracker.Hp(hptracker.DamageData{
- // Errors: "Darf nicht 0 oder kleiner sein.",
- // }))
- return nil
+ c.Append("HX-Retarget", "#manaInputs")
+ manaData.Errors = "Darf nicht 0 oder kleiner sein."
+ return render(c, hptracker.Mana(manaData))
}
currentMana, err := strconv.Atoi(fmt.Sprint(sess.Get("tracker_Mana")))
if err != nil {
c.Status(422)
- // c.Append("HX-Retarget", "#manaInputs")
- // return render(c, hptracker.Mana(hptracker.DamageData{
- // Errors: "Standard Werte nicht gesetzt.",
- // }))
- return err
+ c.Append("HX-Retarget", "#manaInputs")
+ manaData.Errors = "Standard Werte nicht gesetzt."
+ manaData.Values = c.FormValue("manaInput")
+ return render(c, hptracker.Mana(manaData))
}
baseMana, _ := strconv.Atoi(fmt.Sprint(sess.Get("tracker_ManaBase")))
+ add := c.FormValue("add")
+
+ if add == "true" {
+ mana *= -1
+ }
+
newMana := currentMana - mana
+ if newMana < 0 {
+ newMana = 0
+ }
+
+ if newMana > baseMana {
+ newMana = baseMana
+ }
+
newPercentage := (newMana * 100) / baseMana
data := hptracker.TrackerData{
@@ -196,14 +248,65 @@ func TrackerMana(c fiber.Ctx) error {
sess.Save()
+ c.Append("HX-Trigger", "ManaUpdated")
+
return render(c, hptracker.ManaTracker(data))
}
-func CheckStore(c fiber.Ctx) error {
+func TrackerRound(c fiber.Ctx) error {
sess, err := store.Get(c)
if err != nil {
return err
}
- log.Info(sess.Keys())
- return nil
+
+ data := hptracker.TrackerData{}
+
+ fields := []string{"HP", "HPBase", "HPStartPercentage", "HPPercentage", "Mana", "ManaBase", "ManaRegen", "ManaStartPercentage", "ManaPercentage", "Round"}
+ for _, field := range fields {
+ if val := sess.Get("tracker_" + field); val != nil {
+ reflect.ValueOf(&data).Elem().FieldByName(field).SetString(fmt.Sprint(val))
+ }
+ }
+
+ mana, _ := strconv.Atoi(data.Mana)
+ manaBase, _ := strconv.Atoi(data.ManaBase)
+ manaRegen, _ := strconv.Atoi(data.ManaRegen)
+ round, _ := strconv.Atoi(data.Round)
+
+ if manaBase == 0 || manaRegen == 0 {
+ c.Status(418)
+ return render(c, hptracker.TrackerHeader(data))
+ }
+
+ mana += (manaRegen * manaBase) / 100
+
+ if mana > manaBase {
+ mana = manaBase
+ }
+
+ // hp stays the same for now
+ data.HPStartPercentage = data.HPPercentage
+
+ data.Mana = fmt.Sprint(mana)
+ data.Round = fmt.Sprint(round + 1)
+ data.ManaStartPercentage = data.ManaPercentage
+ data.ManaPercentage = fmt.Sprint((mana * 100) / manaBase)
+
+ sess.Set("tracker_Mana", data.Mana)
+ sess.Set("tracker_ManaPercentage", data.ManaPercentage)
+ sess.Set("tracker_ManaStartPercentage", data.ManaStartPercentage)
+ sess.Set("tracker_Round", data.Round)
+
+ sess.Save()
+
+ return render(c, hptracker.TrackerHeader(data))
+}
+
+func TrackerReset(c fiber.Ctx) error {
+ sess, err := store.Get(c)
+ if err != nil {
+ return err
+ }
+ sess.Reset()
+ return render(c, hptracker.Show(true, hptracker.TrackerData{Round: "0"}))
}
diff --git a/main.go b/main.go
index 9a4be20..88f8d9b 100644
--- a/main.go
+++ b/main.go
@@ -24,7 +24,8 @@ func main() {
tracker.Post("/update", handler.TrackerUpdate)
tracker.Post("/damage", handler.TrackerDamage)
tracker.Post("/mana", handler.TrackerMana)
- tracker.Get("/check", handler.CheckStore)
+ tracker.Get("/newround", handler.TrackerRound)
+ tracker.Get("/reset", handler.TrackerReset)
// app.Get("/*", func(c *fiber.Ctx) error {
// return c.SendString("Hello, World!")
// })
diff --git a/view/hptracker/tracker.templ b/view/hptracker/tracker.templ
index dd89986..3479389 100644
--- a/view/hptracker/tracker.templ
+++ b/view/hptracker/tracker.templ
@@ -13,6 +13,7 @@ type TrackerData struct {
ManaStartPercentage string
ManaPercentage string
ManaRegen string
+ Round string
}
type DamageData struct {
@@ -21,34 +22,46 @@ type DamageData struct {
Errors string
}
+type ManaData struct {
+ Values string
+ Errors string
+}
+
+type BaseData struct {
+ HP string
+ Mana string
+ ManaRegen string
+ Errors string
+}
+
var dd = DamageData {
Values: "",
SavingThrow: "",
Errors: "",
}
+var md = ManaData {
+ Values: "",
+ Errors: "",
+}
+
+var bd = BaseData {
+ HP: "",
+ Mana: "",
+ ManaRegen: "",
+ Errors: "",
+}
+
templ Show(hx bool, td TrackerData){
@layout.Base(hx){
-
-
-
Kampfrunde:
-
-
-
-
- @TrackerColumn(td)
-
-
-
-
-
-
+
// base stats go here
- @baseStats()
+ @BaseStats(td, bd)
@@ -58,9 +71,10 @@ templ Show(hx bool, td TrackerData){
Mana
- @Mana()
+ @Mana(md)
+
}
}
-// css loading(percent string) {
-// width: { fmt.Sprintf("%s%%", percent) };
-// }
+templ TrackerHeader(td TrackerData){
+
+
Kampfrunde: {td.Round}
+
+
+
+
+ @TrackerColumn(td)
+
+
+
+
+
+
+}
templ TrackerColumn(td TrackerData){
@@ -126,8 +169,8 @@ css manaAnimation(from, to string) {
--mana-to-width:{ fmt.Sprintf("%s%%", to) };
}
-templ baseStats(){
-
+templ BaseStats(td TrackerData, bd BaseData){
+
Standard Werte
+ if bd.Errors != "" {
+ {bd.Errors}
+ }
}
@@ -210,21 +258,35 @@ templ Hp(dd DamageData){
}
-templ Mana(){
-
}
\ No newline at end of file
diff --git a/view/hptracker/tracker_templ.go b/view/hptracker/tracker_templ.go
index b057df5..3e09fca 100644
--- a/view/hptracker/tracker_templ.go
+++ b/view/hptracker/tracker_templ.go
@@ -24,6 +24,7 @@ type TrackerData struct {
ManaStartPercentage string
ManaPercentage string
ManaRegen string
+ Round string
}
type DamageData struct {
@@ -32,12 +33,36 @@ type DamageData struct {
Errors string
}
+type ManaData struct {
+ Values string
+ Errors string
+}
+
+type BaseData struct {
+ HP string
+ Mana string
+ ManaRegen string
+ Errors string
+}
+
var dd = DamageData{
Values: "",
SavingThrow: "",
Errors: "",
}
+var md = ManaData{
+ Values: "",
+ Errors: "",
+}
+
+var bd = BaseData{
+ HP: "",
+ Mana: "",
+ ManaRegen: "",
+ Errors: "",
+}
+
func Show(hx bool, td TrackerData) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
@@ -61,7 +86,7 @@ func Show(hx bool, td TrackerData) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = TrackerColumn(td).Render(ctx, templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = TrackerHeader(td).Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -69,7 +94,7 @@ func Show(hx bool, td TrackerData) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = baseStats().Render(ctx, templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = BaseStats(td, bd).Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -85,7 +110,7 @@ func Show(hx bool, td TrackerData) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = Mana().Render(ctx, templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = Mana(md).Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -109,10 +134,7 @@ func Show(hx bool, td TrackerData) templ.Component {
})
}
-// css loading(percent string) {
-// width: { fmt.Sprintf("%s%%", percent) };
-// }
-func TrackerColumn(td TrackerData) templ.Component {
+func TrackerHeader(td TrackerData) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
@@ -129,7 +151,12 @@ func TrackerColumn(td TrackerData) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = HPTracker(td).Render(ctx, templ_7745c5c3_Buffer)
+ var templ_7745c5c3_Var4 string
+ templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(td.Round)
+ if templ_7745c5c3_Err != nil {
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `view/hptracker/tracker.templ`, Line: 125, Col: 33}
+ }
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -137,7 +164,7 @@ func TrackerColumn(td TrackerData) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = ManaTracker(td).Render(ctx, templ_7745c5c3_Buffer)
+ templ_7745c5c3_Err = TrackerColumn(td).Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -152,6 +179,46 @@ func TrackerColumn(td TrackerData) templ.Component {
})
}
+func TrackerColumn(td TrackerData) templ.Component {
+ return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
+ templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
+ if !templ_7745c5c3_IsBuffer {
+ templ_7745c5c3_Buffer = templ.GetBuffer()
+ defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
+ }
+ ctx = templ.InitializeContext(ctx)
+ templ_7745c5c3_Var5 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var5 == nil {
+ templ_7745c5c3_Var5 = templ.NopComponent
+ }
+ ctx = templ.ClearChildren(ctx)
+ templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 9)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = HPTracker(td).Render(ctx, templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 10)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = ManaTracker(td).Render(ctx, templ_7745c5c3_Buffer)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 11)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ if !templ_7745c5c3_IsBuffer {
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
+ }
+ return templ_7745c5c3_Err
+ })
+}
+
func HPTracker(td TrackerData) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
@@ -160,51 +227,21 @@ func HPTracker(td TrackerData) templ.Component {
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var4 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var4 == nil {
- templ_7745c5c3_Var4 = templ.NopComponent
+ templ_7745c5c3_Var6 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var6 == nil {
+ templ_7745c5c3_Var6 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
- templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 9)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var5 string
- templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(td.HP)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `view/hptracker/tracker.templ`, Line: 109, Col: 43}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 10)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var6 string
- templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(td.HPBase)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `view/hptracker/tracker.templ`, Line: 109, Col: 55}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 11)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var7 = []any{"hp", hpAnimation(td.HPStartPercentage, td.HPPercentage)}
- templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var7...)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 12)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ.CSSClasses(templ_7745c5c3_Var7).String()))
+ var templ_7745c5c3_Var7 string
+ templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(td.HP)
+ if templ_7745c5c3_Err != nil {
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `view/hptracker/tracker.templ`, Line: 152, Col: 43}
+ }
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -212,6 +249,36 @@ func HPTracker(td TrackerData) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
+ var templ_7745c5c3_Var8 string
+ templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(td.HPBase)
+ if templ_7745c5c3_Err != nil {
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `view/hptracker/tracker.templ`, Line: 152, Col: 55}
+ }
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8))
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 14)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ var templ_7745c5c3_Var9 = []any{"hp", hpAnimation(td.HPStartPercentage, td.HPPercentage)}
+ templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var9...)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 15)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ.CSSClasses(templ_7745c5c3_Var9).String()))
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 16)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
@@ -227,51 +294,21 @@ func ManaTracker(td TrackerData) templ.Component {
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var8 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var8 == nil {
- templ_7745c5c3_Var8 = templ.NopComponent
+ templ_7745c5c3_Var10 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var10 == nil {
+ templ_7745c5c3_Var10 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
- templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 14)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var9 string
- templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinStringErrs(td.Mana)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `view/hptracker/tracker.templ`, Line: 114, Col: 47}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 15)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var10 string
- templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(td.ManaBase)
- if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `view/hptracker/tracker.templ`, Line: 114, Col: 61}
- }
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10))
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 16)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
- var templ_7745c5c3_Var11 = []any{"mana", manaAnimation(td.ManaStartPercentage, td.ManaPercentage)}
- templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var11...)
- if templ_7745c5c3_Err != nil {
- return templ_7745c5c3_Err
- }
templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 17)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ.CSSClasses(templ_7745c5c3_Var11).String()))
+ var templ_7745c5c3_Var11 string
+ templ_7745c5c3_Var11, templ_7745c5c3_Err = templ.JoinStringErrs(td.Mana)
+ if templ_7745c5c3_Err != nil {
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `view/hptracker/tracker.templ`, Line: 157, Col: 47}
+ }
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var11))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -279,6 +316,36 @@ func ManaTracker(td TrackerData) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
+ var templ_7745c5c3_Var12 string
+ templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.JoinStringErrs(td.ManaBase)
+ if templ_7745c5c3_Err != nil {
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `view/hptracker/tracker.templ`, Line: 157, Col: 61}
+ }
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var12))
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 19)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ var templ_7745c5c3_Var13 = []any{"mana", manaAnimation(td.ManaStartPercentage, td.ManaPercentage)}
+ templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var13...)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 20)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ.CSSClasses(templ_7745c5c3_Var13).String()))
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 21)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
if !templ_7745c5c3_IsBuffer {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
}
@@ -308,7 +375,7 @@ func manaAnimation(from, to string) templ.CSSClass {
}
}
-func baseStats() templ.Component {
+func BaseStats(td TrackerData, bd BaseData) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
@@ -316,12 +383,59 @@ func baseStats() templ.Component {
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var12 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var12 == nil {
- templ_7745c5c3_Var12 = templ.NopComponent
+ templ_7745c5c3_Var14 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var14 == nil {
+ templ_7745c5c3_Var14 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
- templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 19)
+ templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 22)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(td.HP))
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 23)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(td.Mana))
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 24)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(td.ManaRegen))
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 25)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ if bd.Errors != "" {
+ templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 26)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ var templ_7745c5c3_Var15 string
+ templ_7745c5c3_Var15, templ_7745c5c3_Err = templ.JoinStringErrs(bd.Errors)
+ if templ_7745c5c3_Err != nil {
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `view/hptracker/tracker.templ`, Line: 209, Col: 65}
+ }
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var15))
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 27)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ }
+ templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 28)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -340,22 +454,22 @@ func Hp(dd DamageData) templ.Component {
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var13 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var13 == nil {
- templ_7745c5c3_Var13 = templ.NopComponent
+ templ_7745c5c3_Var16 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var16 == nil {
+ templ_7745c5c3_Var16 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
- templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 20)
+ templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 29)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if dd.Errors != "" {
- templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 21)
+ templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 30)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
- templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 22)
+ templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 31)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -363,40 +477,40 @@ func Hp(dd DamageData) templ.Component {
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 23)
+ templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 32)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if dd.Errors != "" {
- templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 24)
+ templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 33)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- var templ_7745c5c3_Var14 string
- templ_7745c5c3_Var14, templ_7745c5c3_Err = templ.JoinStringErrs(dd.Errors)
+ var templ_7745c5c3_Var17 string
+ templ_7745c5c3_Var17, templ_7745c5c3_Err = templ.JoinStringErrs(dd.Errors)
if templ_7745c5c3_Err != nil {
- return templ.Error{Err: templ_7745c5c3_Err, FileName: `view/hptracker/tracker.templ`, Line: 195, Col: 67}
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `view/hptracker/tracker.templ`, Line: 243, Col: 67}
}
- _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var14))
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var17))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
- templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 25)
+ templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 34)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
- templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 26)
+ templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 35)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
if dd.SavingThrow != "" {
- templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 27)
+ templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 36)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
- templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 28)
+ templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 37)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
@@ -407,7 +521,7 @@ func Hp(dd DamageData) templ.Component {
})
}
-func Mana() templ.Component {
+func Mana(md ManaData) templ.Component {
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
if !templ_7745c5c3_IsBuffer {
@@ -415,12 +529,53 @@ func Mana() templ.Component {
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
}
ctx = templ.InitializeContext(ctx)
- templ_7745c5c3_Var15 := templ.GetChildren(ctx)
- if templ_7745c5c3_Var15 == nil {
- templ_7745c5c3_Var15 = templ.NopComponent
+ templ_7745c5c3_Var18 := templ.GetChildren(ctx)
+ if templ_7745c5c3_Var18 == nil {
+ templ_7745c5c3_Var18 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
- templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 29)
+ templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 38)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ if md.Errors != "" {
+ templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 39)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ }
+ templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 40)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(md.Values))
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 41)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ if md.Errors != "" {
+ templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 42)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ var templ_7745c5c3_Var19 string
+ templ_7745c5c3_Var19, templ_7745c5c3_Err = templ.JoinStringErrs(md.Errors)
+ if templ_7745c5c3_Err != nil {
+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `view/hptracker/tracker.templ`, Line: 286, Col: 65}
+ }
+ _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var19))
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 43)
+ if templ_7745c5c3_Err != nil {
+ return templ_7745c5c3_Err
+ }
+ }
+ templ_7745c5c3_Err = templ.WriteWatchModeString(templ_7745c5c3_Buffer, 44)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
diff --git a/view/layout/base.templ b/view/layout/base.templ
index 05a10fc..f6f33af 100644
--- a/view/layout/base.templ
+++ b/view/layout/base.templ
@@ -12,7 +12,7 @@ if hx == false {
-
+ //
Tallytome