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