package main import ( tea "github.com/charmbracelet/bubbletea" "github.com/charmbracelet/lipgloss" ) type navModel struct { renderer *lipgloss.Renderer style lipgloss.Style } func (m navModel) Init() tea.Cmd { return nil } func (m navModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) { return m, nil } func (m navModel) View() string { nameStyle := m.renderer.NewStyle().Bold(true) blogStyle := m.renderer.NewStyle(). Bold(true). Underline(true) shortcutStyle := m.renderer.NewStyle(). Faint(true) name := nameStyle.Render("John Costa") nameShortcut := shortcutStyle.Render("(h)") blog := blogStyle.Render("Blog") blogShortcut := shortcutStyle.Render("(b)") rightSide := lipgloss.JoinHorizontal( lipgloss.Center, nameShortcut, " ", name, " ", blogShortcut, " ", blog, ) return m.style.Render(rightSide) } func createNavModel(renderer *lipgloss.Renderer, width int) navModel { style := renderer.NewStyle(). BorderStyle(lipgloss.RoundedBorder()). BorderForeground(lipgloss.Color("62")) style = style.Width(width - style.GetHorizontalFrameSize()) return navModel{ renderer: renderer, style: style, } }