40 lines
822 B
Go
40 lines
822 B
Go
package webui
|
|
|
|
import (
|
|
"fmt"
|
|
"strings"
|
|
|
|
elem "github.com/chasefleming/elem-go"
|
|
"github.com/chasefleming/elem-go/attrs"
|
|
)
|
|
|
|
func chatDiv(content string, color string) string {
|
|
div := elem.Div(attrs.Props{
|
|
// attrs.ID: "container",
|
|
attrs.Class: fmt.Sprintf("p-2 my-2 rounded bg-%s-600", color),
|
|
},
|
|
elem.Raw(htmlIfy(content)),
|
|
)
|
|
return div.Render()
|
|
}
|
|
|
|
func loader() string {
|
|
return elem.Div(attrs.Props{
|
|
attrs.Class: "loader",
|
|
}).Render()
|
|
}
|
|
|
|
func disabledElement(id string, disabled bool) string {
|
|
return elem.Script(nil,
|
|
elem.If(disabled,
|
|
elem.Raw(`document.getElementById('`+id+`').disabled = true`),
|
|
elem.Raw(`document.getElementById('`+id+`').disabled = false`),
|
|
)).Render()
|
|
}
|
|
|
|
func htmlIfy(s string) string {
|
|
s = strings.TrimSpace(s)
|
|
s = strings.ReplaceAll(s, "\n", "<br>")
|
|
return s
|
|
}
|