diff options
Diffstat (limited to 'components/root/statusbar.go')
| -rw-r--r-- | components/root/statusbar.go | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/components/root/statusbar.go b/components/root/statusbar.go new file mode 100644 index 0000000..dd2992f --- /dev/null +++ b/components/root/statusbar.go @@ -0,0 +1,41 @@ +package root + +import ( + "nectar/styles" + "nectar/types" + + "github.com/charmbracelet/lipgloss" +) + +func StatusBar(globals *types.Globals) string { + w := lipgloss.Width + + helpText := lipgloss.JoinHorizontal( + lipgloss.Top, + styles.PaddedHorizontal.Render("↑/k: up"), + styles.PaddedHorizontal.Render("↓/j: down"), + styles.PaddedHorizontal.Render("↹: next"), + styles.PaddedHorizontal.Render("^n: new"), + styles.PaddedHorizontal.Render("^↵: connect"), + styles.PaddedHorizontal.Render("^s: save"), + styles.PaddedHorizontal.Render("^t: test"), + styles.PaddedHorizontal.Render("^d: delete"), + styles.PaddedHorizontal.Render("^c: quit"), + ) + + versionText := lipgloss.JoinHorizontal( + lipgloss.Top, + styles.PaddedHorizontal.Render("Nectar "+globals.Version+" ("+globals.BuildDate+")"), + ) + + separator := styles.BaseStyle.Width(globals.Width - w(helpText) - w(versionText)).Render("") + + return styles.StatusBar.Render( + lipgloss.JoinHorizontal( + lipgloss.Top, + helpText, + separator, + versionText, + ), + ) +} |
