diff --git a/components/sidebar.go b/components/sidebar.go index 91499b0..7765396 100644 --- a/components/sidebar.go +++ b/components/sidebar.go @@ -6,8 +6,8 @@ import ( ) type Sidebar struct { - data []string - sindex int + Data []string + Sindex int } func (s Sidebar) Init() tea.Cmd { @@ -19,12 +19,12 @@ func (s *Sidebar) Update(msg tea.Msg) (tea.Model, tea.Cmd) { case tea.KeyMsg: switch m.String() { case "up": - if s.sindex > 0 { - s.sindex-- + if s.Sindex > 0 { + s.Sindex-- } case "down": - if s.sindex < len(s.data)-1 { - s.sindex++ + if s.Sindex < len(s.Data)-1 { + s.Sindex++ } } } @@ -33,12 +33,12 @@ func (s *Sidebar) Update(msg tea.Msg) (tea.Model, tea.Cmd) { func (s Sidebar) View() string { var items []string - for i, item := range s.data { - if i == s.sindex { + for i, item := range s.Data { + if i == s.Sindex { items = append(items, lipgloss. NewStyle(). - Background(lipgloss.Color("93BD57")). - Padding(1, 2). + Foreground(lipgloss.Color("#FFFFFF")). + Background(lipgloss.Color("#93BD57")). Render(item)) } else { items = append(items, item) diff --git a/main.go b/main.go index ec73152..48d5ef0 100644 --- a/main.go +++ b/main.go @@ -14,7 +14,7 @@ type model struct { textInput textinput.Model width int height int - sidebarContent string + sidebarContent components.Sidebar } func initialModel() model { @@ -24,9 +24,14 @@ func initialModel() model { ti.CharLimit = 30 ti.Prompt = "" ti.Focus() + sidebarcon := components.Sidebar{ + Data: []string{"Library", "Playlist1", "Playlist2", "Favorites"}, + Sindex: 0, + } + return model{ textInput: ti, - sidebarContent: "Library\n\nPlaylist 1\nPlaylist 2\nFavorites", + sidebarContent: sidebarcon, } } @@ -67,7 +72,7 @@ func (m model) View() string { // sidebar := lipgloss.NewStyle().BorderStyle(lipgloss.NormalBorder()).Padding(1, 2).Render(m.sidebarContent) // Combine search and sidebar vertically - content := lipgloss.JoinVertical(lipgloss.Left, searchBox, "\n", components.Sidebar(m.sidebarContent)) + content := lipgloss.JoinVertical(lipgloss.Left, searchBox, "\n", m.sidebarContent.View()) return lipgloss.Place( m.width,