aboutsummaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
Diffstat (limited to 'components')
-rw-r--r--components/statusbar.go39
1 files changed, 39 insertions, 0 deletions
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,
+ ),
+ )
+}