refactor: one copy of the UI's repeated helpers (#77)

- Text inputs come from newTextInput; the link and folder prompts share one width.
- One starred-first sort for sources, vaults and secrets; accountOf where the account was cut from the label by hand.
- One helper each for the reveal and clipboard countdowns' tick and seconds, the "Open with" choices, the vaults-loaded count, and Go to's and the panes' tabs.
- The details pane builds its label prefix, indent, note and source once; list rows mark matches with MarkMatches.
- The release page opens through openPage, so it now says it opened, as other pages do.
- The cache's account filter is built once per load or save, not per key.

Reviewed-on: #77
Co-authored-by: Karl-Einar Bergstrøm <karl-einarb@outlook.com>
This commit was merged in pull request #77.
This commit is contained in:
keb authored and Karl-Einar Bergstrøm committed 2026-10-15 10:43:42 +02:00
1 parent 0ff5204d4d
commit df429002c9
18 files changed
+171 -216

No files matched your search

+3
View File
@@ -306,3 +306,6 @@ func newTextInput(prompt string, width int) textinput.Model {
in.SetWidth(width)
return in
}
// pathInputWidth fits a link or a folder path in a prompt, in the window.
func (m Model) pathInputWidth() int { return max(20, min(m.w-12, 64)) }