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} }
}