Add collapsible group tools section

This commit is contained in:
Joe Julian
2026-03-29 16:39:27 -07:00
parent db06fcd385
commit 2e9e2aae5f
3 changed files with 79 additions and 1 deletions
+10 -1
View File
@@ -152,6 +152,7 @@ type ui struct {
confirmDeleteGroup widget.Clickable
cancelDeleteGroup widget.Clickable
addCustomField widget.Clickable
toggleGroupControls widget.Clickable
togglePasswordInline widget.Clickable
showEntries widget.Clickable
showTemplates widget.Clickable
@@ -180,6 +181,8 @@ type ui struct {
eyeIcon *widget.Icon
eyeOffIcon *widget.Icon
copyIcon *widget.Icon
expandMoreIcon *widget.Icon
expandLessIcon *widget.Icon
clipboardWriter clipboard.Writer
loadingMessage string
lifecycleMode string
@@ -187,6 +190,7 @@ type ui struct {
defaultSaveAsPath string
recentVaultsPath string
editingEntry bool
groupControlsHidden bool
recentVaults []string
recentVaultGroups map[string][]string
deleteGroupPath []string
@@ -280,6 +284,8 @@ func newUIWithState(mode string, sess appstate.CurrentSession, paths statePaths)
u.eyeIcon, _ = widget.NewIcon(icons.ActionVisibility)
u.eyeOffIcon, _ = widget.NewIcon(icons.ActionVisibilityOff)
u.copyIcon, _ = widget.NewIcon(icons.ContentContentCopy)
u.expandMoreIcon, _ = widget.NewIcon(icons.NavigationExpandMore)
u.expandLessIcon, _ = widget.NewIcon(icons.NavigationExpandLess)
u.passwordProfile.SetText("strong")
u.keyboardFocus = focusSearch
u.setCustomFieldRows(nil)
@@ -1173,6 +1179,9 @@ func (u *ui) layout(gtx layout.Context) layout.Dimensions {
u.clearDeleteGroupConfirmation()
u.runAction("create group", u.createGroupAction)
}
for u.toggleGroupControls.Clicked(gtx) {
u.groupControlsHidden = !u.groupControlsHidden
}
for u.renameGroup.Clicked(gtx) {
u.clearDeleteGroupConfirmation()
u.runAction("rename group", u.renameGroupAction)
@@ -1358,7 +1367,7 @@ func (u *ui) listPanel(gtx layout.Context) layout.Dimensions {
if u.isVaultLocked() {
return layout.Dimensions{}
}
return u.groupControls(gtx)
return u.groupControlsSection(gtx)
}),
layout.Rigid(layout.Spacer{Height: spacing}.Layout),
layout.Rigid(func(gtx layout.Context) layout.Dimensions {