1
0
mirror of https://github.com/mrusme/neonmodem.git synced 2024-12-04 14:46:37 -05:00
neonmodem/ui/ctx/ctx.go

38 lines
633 B
Go
Raw Normal View History

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