package tui
import "slices"
type Notice struct {
Message string
Error bool
}
type Notices []Notice
func (ns *Notices) Add(msg string, isErr bool) bool {
if msg == "" || slices.Contains(*ns, Notice{msg, isErr}) {
return false
}
*ns = append(*ns, Notice{Message: msg, Error: isErr})
return true
}
func (ns *Notices) AddNotice(msg string) bool { return ns.Add(msg, false) }
func (ns *Notices) AddError(msg string) bool { return ns.Add(msg, true) }
func (ns *Notices) Clear() { *ns = nil }
func (ns Notices) HasError() bool {
return slices.ContainsFunc(ns, func(n Notice) bool { return n.Error })
}
func (ns Notices) ChromeRows() int {
if len(ns) == 0 {
return 0
}
return len(ns) + 1
}