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) {
// 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) {
}
templ Mana(md ManaData) {
}