2022-12-28 22:22:36 -05:00
|
|
|
package ctx
|
|
|
|
|
2022-12-29 14:33:12 -05:00
|
|
|
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"
|
2022-12-29 14:33:12 -05:00
|
|
|
"go.uber.org/zap"
|
|
|
|
)
|
2022-12-28 22:22:36 -05:00
|
|
|
|
|
|
|
type Ctx struct {
|
|
|
|
Screen [2]int
|
|
|
|
Content [2]int
|
2022-12-29 14:33:12 -05:00
|
|
|
Config *config.Config
|
2022-12-28 22:22:36 -05:00
|
|
|
Systems []*system.System
|
|
|
|
Loading bool
|
2022-12-29 14:33:12 -05:00
|
|
|
Logger *zap.SugaredLogger
|
2022-12-31 16:57:11 -05:00
|
|
|
Theme *theme.Theme
|
2022-12-28 22:22:36 -05:00
|
|
|
}
|
|
|
|
|
2022-12-29 14:33:12 -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},
|
2022-12-29 14:33:12 -05:00
|
|
|
Config: cfg,
|
2022-12-28 22:22:36 -05:00
|
|
|
Loading: false,
|
2022-12-29 14:33:12 -05:00
|
|
|
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
|
|
|
|
}
|