package hptracker 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 } type DamageData struct { Values string SavingThrow string 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) {
@TrackerHeader(td)
// base stats go here @BaseStats(td, bd)

TP

@Hp(dd)

Mana

@Mana(md)
} } templ TrackerHeader(td TrackerData) {

Kampfrunde: { td.Round }

@TrackerColumn(td)
} templ TrackerColumn(td TrackerData) {
@HPTracker(td)
@ManaTracker(td)
} templ HPTracker(td TrackerData) { TP: { td.HP }/{ td.HPBase }
} templ ManaTracker(td TrackerData) { Mana: { td.Mana }/{ td.ManaBase }
} css hpAnimation(from, to string) { --hp-from-width: { fmt.Sprintf("%s%%", from) }; --hp-to-width: { fmt.Sprintf("%s%%", to) }; } css manaAnimation(from, to string) { --mana-from-width: { fmt.Sprintf("%s%%", from) }; --mana-to-width: { fmt.Sprintf("%s%%", to) }; } templ BaseStats(td TrackerData, bd BaseData) {
Standard Werte
if bd.Errors != "" { { bd.Errors } }
} templ Hp(dd DamageData) {
if dd.Errors != "" { { dd.Errors } }
} templ Mana(md ManaData) {
if md.Errors != "" { { md.Errors } }
}