Commit 77391f0
Eric Bower
·
2026-08-24 09:19:58 -0400 EDT
parent a139e53
chore(tui): check for pgs feature flag
3 files changed,
+16,
-7
+11,
-6
1@@ -153,11 +153,12 @@ func (m *FeaturesList) getFeaturesKv() []Kv {
2 }
3
4 type ServicesList struct {
5- ff *db.FeatureFlag
6+ plusFf *db.FeatureFlag
7+ pgsFf *db.FeatureFlag
8 }
9
10-func NewServicesList(ff *db.FeatureFlag) *ServicesList {
11- return &ServicesList{ff}
12+func NewServicesList(plusFf *db.FeatureFlag, pgsFf *db.FeatureFlag) *ServicesList {
13+ return &ServicesList{plusFf: plusFf, pgsFf: pgsFf}
14 }
15
16 func (m *ServicesList) HandleEvent(ev vaxis.Event, phase vxfw.EventPhase) (vxfw.Command, error) {
17@@ -180,18 +181,23 @@ func (m *ServicesList) Draw(ctx vxfw.DrawContext) (vxfw.Surface, error) {
18 }
19
20 func (m *ServicesList) getServiceKv() []Kv {
21- hasPlus := m.ff != nil
22+ hasPlus := m.plusFf != nil && m.plusFf.IsValid()
23+ hasPgs := m.pgsFf != nil && m.pgsFf.IsValid()
24+ pagesStatus := "pico+"
25+ if hasPlus || hasPgs {
26+ pagesStatus = "active"
27+ }
28 data := [][]string{
29 {"name", "status"},
30 {"prose", "active"},
31 {"pipe", "active"},
32 {"pastes", "active"},
33+ {"pages", pagesStatus},
34 }
35
36 if hasPlus {
37 data = append(
38 data,
39- []string{"pages", "active"},
40 []string{"tuns", "active"},
41 []string{"irc bouncer", "active"},
42 []string{"rss-to-email", "active"},
43@@ -199,7 +205,6 @@ func (m *ServicesList) getServiceKv() []Kv {
44 } else {
45 data = append(
46 data,
47- []string{"pages", "pico+"},
48 []string{"tuns", "pico+"},
49 []string{"irc bouncer", "pico+"},
50 []string{"rss-to-email", "pico+"},
1@@ -104,7 +104,7 @@ func (m *MenuPage) Draw(ctx vxfw.DrawContext) (vxfw.Surface, error) {
2 },
3 })
4
5- services, _ := NewServicesList(m.shared.PlusFeatureFlag).Draw(ctx)
6+ services, _ := NewServicesList(m.shared.PlusFeatureFlag, m.shared.PgsFeatureFlag).Draw(ctx)
7 features, _ := m.features.Draw(ctx)
8
9 leftPane := NewGroupStack([]vxfw.Surface{
+4,
-0
1@@ -30,6 +30,7 @@ type SharedModel struct {
2 User *db.User
3 PlusFeatureFlag *db.FeatureFlag
4 BouncerFeatureFlag *db.FeatureFlag
5+ PgsFeatureFlag *db.FeatureFlag
6 Impersonator string
7 App *vxfw.App
8 }
9@@ -276,6 +277,9 @@ func initData(shrd *SharedModel) error {
10
11 bff, _ := FindFeatureFlag(shrd, "bouncer")
12 shrd.BouncerFeatureFlag = bff
13+
14+ pff, _ := FindFeatureFlag(shrd, "pgs")
15+ shrd.PgsFeatureFlag = pff
16 return nil
17 }
18