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
......@@ -153,11 +153,12 @@ func (m *FeaturesList) getFeaturesKv() []Kv {
153153 }
154154
155155 type ServicesList struct {
156- ff *db.FeatureFlag
156+ plusFf *db.FeatureFlag
157+ pgsFf *db.FeatureFlag
157158 }
158159
159-func NewServicesList(ff *db.FeatureFlag) *ServicesList {
160- return &ServicesList{ff}
160+func NewServicesList(plusFf *db.FeatureFlag, pgsFf *db.FeatureFlag) *ServicesList {
161+ return &ServicesList{plusFf: plusFf, pgsFf: pgsFf}
161162 }
162163
163164 func (m *ServicesList) HandleEvent(ev vaxis.Event, phase vxfw.EventPhase) (vxfw.Command, error) {
......@@ -180,18 +181,23 @@ func (m *ServicesList) Draw(ctx vxfw.DrawContext) (vxfw.Surface, error) {
180181 }
181182
182183 func (m *ServicesList) getServiceKv() []Kv {
183- hasPlus := m.ff != nil
184+ hasPlus := m.plusFf != nil && m.plusFf.IsValid()
185+ hasPgs := m.pgsFf != nil && m.pgsFf.IsValid()
186+ pagesStatus := "pico+"
187+ if hasPlus || hasPgs {
188+ pagesStatus = "active"
189+ }
184190 data := [][]string{
185191 {"name", "status"},
186192 {"prose", "active"},
187193 {"pipe", "active"},
188194 {"pastes", "active"},
195+ {"pages", pagesStatus},
189196 }
190197
191198 if hasPlus {
192199 data = append(
193200 data,
194- []string{"pages", "active"},
195201 []string{"tuns", "active"},
196202 []string{"irc bouncer", "active"},
197203 []string{"rss-to-email", "active"},
......@@ -199,7 +205,6 @@ func (m *ServicesList) getServiceKv() []Kv {
199205 } else {
200206 data = append(
201207 data,
202- []string{"pages", "pico+"},
203208 []string{"tuns", "pico+"},
204209 []string{"irc bouncer", "pico+"},
205210 []string{"rss-to-email", "pico+"},
+1, -1
......@@ -104,7 +104,7 @@ func (m *MenuPage) Draw(ctx vxfw.DrawContext) (vxfw.Surface, error) {
104104 },
105105 })
106106
107- services, _ := NewServicesList(m.shared.PlusFeatureFlag).Draw(ctx)
107+ services, _ := NewServicesList(m.shared.PlusFeatureFlag, m.shared.PgsFeatureFlag).Draw(ctx)
108108 features, _ := m.features.Draw(ctx)
109109
110110 leftPane := NewGroupStack([]vxfw.Surface{
+4, -0
......@@ -30,6 +30,7 @@ type SharedModel struct {
3030 User *db.User
3131 PlusFeatureFlag *db.FeatureFlag
3232 BouncerFeatureFlag *db.FeatureFlag
33+ PgsFeatureFlag *db.FeatureFlag
3334 Impersonator string
3435 App *vxfw.App
3536 }
......@@ -276,6 +277,9 @@ func initData(shrd *SharedModel) error {
276277
277278 bff, _ := FindFeatureFlag(shrd, "bouncer")
278279 shrd.BouncerFeatureFlag = bff
280+
281+ pff, _ := FindFeatureFlag(shrd, "pgs")
282+ shrd.PgsFeatureFlag = pff
279283 return nil
280284 }
281285