package components import "github.com/maddalax/htmgo/framework/h" type ButtonProps struct { Id string Text string Target string Type string Trigger string Get string Class string Children []h.Ren } func PrimaryButton(props ButtonProps) h.Ren { props.Class = h.MergeClasses(props.Class, "border-slate-800 bg-slate-900 hover:bg-slate-800 text-white") return Button(props) } func SecondaryButton(props ButtonProps) h.Ren { props.Class = h.MergeClasses(props.Class, "border-gray-700 bg-gray-700 text-white") return Button(props) } func Button(props ButtonProps) h.Ren { text := h.Text(props.Text) button := h.Button( h.If( props.Id != "", h.Id(props.Id), ), h.If( props.Children != nil, h.Children(props.Children...), ), h.Class("flex gap-1 items-center justify-center border p-4 rounded cursor-hover", props.Class), h.If( props.Get != "", h.Get(props.Get), ), h.If( props.Target != "", h.HxTarget(props.Target), ), h.IfElse( props.Type != "", h.Type(props.Type), h.Type("button"), ), text, ) return button }