aboutsummaryrefslogtreecommitdiff
path: root/components/statusbar.go
blob: 34975b0d0eea665c3092c589405d94ebb86b3d10 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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,
		),
	)
}