Files
sablier/pkg/theme/render.go
Alexis Couvreur 4122109349 wip lol
2024-11-16 22:49:35 -05:00

35 lines
776 B
Go

package theme
import (
"fmt"
"io"
"github.com/sablierapp/sablier/pkg/duration"
"github.com/sablierapp/sablier/version"
)
func (t *Themes) Render(name string, opts Options, writer io.Writer) error {
var instances []Instance
if opts.ShowDetails {
instances = opts.InstanceStates
} else {
instances = []Instance{}
}
options := templateOptions{
DisplayName: opts.DisplayName,
InstanceStates: instances,
SessionDuration: duration.Humanize(opts.SessionDuration),
RefreshFrequency: fmt.Sprintf("%d", int64(opts.RefreshFrequency.Seconds())),
Version: version.Version,
}
tpl := t.themes.Lookup(fmt.Sprintf("%s.html", name))
if tpl == nil {
return fmt.Errorf("theme %s does not exist", name)
}
return tpl.Execute(writer, options)
}