Limit group view to direct entries

This commit is contained in:
Joe Julian
2026-04-03 08:51:19 -07:00
parent 520648e42c
commit a5397f37f8
4 changed files with 27 additions and 37 deletions
+9 -24
View File
@@ -650,10 +650,12 @@ func (u *ui) filter() {
}
}
func (u *ui) visibleEntrySnapshot() ([]entry, []widget.Clickable) {
func (u *ui) visibleEntrySnapshot() ([]entry, []*widget.Clickable) {
visible := append([]entry(nil), u.visible...)
clicks := make([]widget.Clickable, len(visible))
copy(clicks, u.entryClicks)
clicks := make([]*widget.Clickable, len(visible))
for i := range visible {
clicks[i] = &u.entryClicks[i]
}
return visible, clicks
}
@@ -4225,7 +4227,7 @@ func (u *ui) listPanel(gtx layout.Context) layout.Dimensions {
for i := range visibleEntries {
idx := i
rows = append(rows, func(gtx layout.Context) layout.Dimensions {
return u.entryRow(gtx, &entryClicks[idx], idx, visibleEntries[idx])
return u.entryRow(gtx, entryClicks[idx], idx, visibleEntries[idx])
})
}
}
@@ -5386,24 +5388,14 @@ func (u *ui) groupBar(gtx layout.Context) layout.Dimensions {
displayPath := u.displayPath()
atRoot := len(displayPath) == 0
return compactCard(gtx, func(gtx layout.Context) layout.Dimensions {
if u.mode == "phone" {
if u.mode == "phone" {
if atRoot {
u.phoneGroupBrowserExpanded = true
}
return layout.Flex{Axis: layout.Vertical}.Layout(gtx,
layout.Rigid(func(gtx layout.Context) layout.Dimensions {
lbl := material.Label(u.theme, unit.Sp(12), "GROUPS")
lbl.Color = mutedColor
return lbl.Layout(gtx)
}),
layout.Rigid(func(gtx layout.Context) layout.Dimensions {
return layout.Spacer{Height: unit.Dp(8)}.Layout(gtx)
}),
layout.Rigid(func(gtx layout.Context) layout.Dimensions {
if len(groups) == 0 {
lbl := material.Label(u.theme, unit.Sp(12), "No subgroups here.")
lbl.Color = mutedColor
return lbl.Layout(gtx)
return layout.Dimensions{}
}
maxY := gtx.Dp(unit.Dp(168))
if gtx.Constraints.Max.Y > maxY {
@@ -5428,11 +5420,6 @@ func (u *ui) groupBar(gtx layout.Context) layout.Dimensions {
)
}
return layout.Flex{Axis: layout.Vertical}.Layout(gtx,
layout.Rigid(func(gtx layout.Context) layout.Dimensions {
lbl := material.Label(u.theme, unit.Sp(12), "GROUPS")
lbl.Color = mutedColor
return lbl.Layout(gtx)
}),
layout.Rigid(func(gtx layout.Context) layout.Dimensions {
if atRoot {
return layout.Dimensions{}
@@ -5468,9 +5455,7 @@ func (u *ui) groupBar(gtx layout.Context) layout.Dimensions {
layout.Rigid(layout.Spacer{Height: unit.Dp(10)}.Layout),
layout.Rigid(func(gtx layout.Context) layout.Dimensions {
if len(groups) == 0 {
lbl := material.Label(u.theme, unit.Sp(12), "No groups here.")
lbl.Color = mutedColor
return lbl.Layout(gtx)
return layout.Dimensions{}
}
maxGroupListHeight := 200
if u.mode == "phone" {