From e376ebde51ed420fda418ac06d41f4fba35ef398 Mon Sep 17 00:00:00 2001 From: Priyansh Date: Wed, 27 Aug 2025 15:36:45 +0530 Subject: Add components package with status bar --- components/statusbar.go | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 components/statusbar.go (limited to 'components') diff --git a/components/statusbar.go b/components/statusbar.go new file mode 100644 index 0000000..34975b0 --- /dev/null +++ b/components/statusbar.go @@ -0,0 +1,39 @@ +package components + +import ( + "nectar/styles" + "nectar/types" + + "github.com/charmbracelet/lipgloss" +) + +func RootStatusBar(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("↵: select"), + styles.PaddedHorizontal.Render("^n: new connection"), + styles.PaddedHorizontal.Render("^↵: connect"), + 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, + ), + ) +} -- cgit v1.2.3