clustvirt/view/components/infobox.templ
Matthew Stobbs 9c35be1fcf really liking templ
- made multiple components for reuse in templ
- going to start on actual data displaying templates
2024-03-14 21:56:49 -06:00

25 lines
571 B
Plaintext

package components
import "fmt"
type InfoBoxConfig struct {
ColourClass string
InFlex bool
FlexBasis string
}
templ InfoBox(ibc InfoBoxConfig, title string, child templ.Component) {
<div class={
"infobox",
fmt.Sprintf("bg-%s-900", ibc.ColourClass),
fmt.Sprintf("text-%s-100", ibc.ColourClass),
fmt.Sprintf("shadow-%s-900", ibc.ColourClass),
fmt.Sprintf("divide-%s-800", ibc.ColourClass),
fmt.Sprintf("border-%s-800", ibc.ColourClass),
templ.KV(ibc.FlexBasis, ibc.InFlex),
}>
<h3 class="text-xl font-semibold">{ title }</h3>
@child
</div>
}