@@ -3,11 +3,6 @@ package topics_page
33import (
44 "context"
55 "fmt"
6- "github.com/charmbracelet/bubbles/spinner"
7- "github.com/charmbracelet/bubbles/table"
8- tea "github.com/charmbracelet/bubbletea"
9- "github.com/charmbracelet/lipgloss"
10- "github.com/charmbracelet/log"
116 "ktea/kadmin"
127 "ktea/kontext"
138 "ktea/styles"
@@ -24,6 +19,12 @@ import (
2419 "sort"
2520 "strconv"
2621 "strings"
22+
23+ "github.com/charmbracelet/bubbles/spinner"
24+ "github.com/charmbracelet/bubbles/table"
25+ tea "github.com/charmbracelet/bubbletea"
26+ "github.com/charmbracelet/lipgloss"
27+ "github.com/charmbracelet/log"
2728)
2829
2930const name = "topics-page"
@@ -98,10 +99,11 @@ func (m *Model) Update(msg tea.Msg) tea.Cmd {
9899 case "ctrl+n" :
99100 return ui .PublishMsg (nav.LoadCreateTopicPageMsg {})
100101 case "ctrl+o" :
101- if m .SelectedTopic () == nil {
102+ topic := m .SelectedTopic ()
103+ if topic == nil {
102104 return nil
103105 }
104- return ui .PublishMsg (nav.LoadTopicConfigPageMsg {})
106+ return ui .PublishMsg (nav.LoadTopicConfigPageMsg {Topic : topic . Name })
105107 case "ctrl+p" :
106108 if m .SelectedTopic () == nil {
107109 return nil
@@ -143,7 +145,7 @@ func (m *Model) Update(msg tea.Msg) tea.Cmd {
143145 }
144146 case spinner.TickMsg :
145147 selectedTopic := m .SelectedTopicName ()
146- _ , c := m .tcb .Update (msg , & selectedTopic )
148+ _ , c := m .tcb .Update (msg , selectedTopic )
147149 if c != nil {
148150 cmds = append (cmds , c )
149151 }
@@ -165,7 +167,7 @@ func (m *Model) Update(msg tea.Msg) tea.Cmd {
165167
166168 var cmd tea.Cmd
167169 name := m .SelectedTopicName ()
168- msg , cmd = m .tcb .Update (msg , & name )
170+ msg , cmd = m .tcb .Update (msg , name )
169171 m .tableFocussed = ! m .tcb .IsFocussed ()
170172 cmds = append (cmds , cmd )
171173
@@ -254,20 +256,19 @@ func (m *Model) createRows() []table.Row {
254256func (m * Model ) SelectedTopic () * kadmin.ListedTopic {
255257 selectedTopic := m .SelectedTopicName ()
256258 for _ , t := range m .topics {
257- if t .Name == selectedTopic {
259+ if selectedTopic != nil && t .Name == * selectedTopic {
258260 return & t
259261 }
260262 }
261263 return nil
262264}
263265
264- func (m * Model ) SelectedTopicName () string {
266+ func (m * Model ) SelectedTopicName () * string {
265267 selectedRow := m .table .SelectedRow ()
266- var selectedTopic string
267268 if selectedRow != nil {
268- selectedTopic = selectedRow [0 ]
269+ return & selectedRow [0 ]
269270 }
270- return selectedTopic
271+ return nil
271272}
272273
273274func (m * Model ) Title () string {
0 commit comments