1
0
mirror of https://github.com/mrusme/neonmodem.git synced 2024-06-23 06:35:24 +00:00
neonmodem/ui/ctx/ctx.go
2023-01-01 22:51:16 -05:00

42 lines
692 B
Go

package ctx
import (
"github.com/mrusme/gobbs/config"
"github.com/mrusme/gobbs/system"
"github.com/mrusme/gobbs/ui/theme"
"go.uber.org/zap"
)
type Ctx struct {
Screen [2]int
Content [2]int
Config *config.Config
Systems []*system.System
Loading bool
Logger *zap.SugaredLogger
Theme *theme.Theme
}
func New(
cfg *config.Config,
logger *zap.SugaredLogger,
) Ctx {
return Ctx{
Screen: [2]int{0, 0},
Content: [2]int{0, 0},
Config: cfg,
Loading: false,
Logger: logger,
Theme: theme.New(cfg),
}
}
func (c *Ctx) AddSystem(sys *system.System) error {
c.Systems = append(c.Systems, sys)
return nil
}
func (c *Ctx) NumSystems() int {
return len(c.Systems)
}