feat(tui-go): idea board viewer
OverlayIdeas (opened with I, global/cross-session) lists the idea board in the artifact-viewer shell: ↑↓ to move, x/d to remove (sends DiscardIdea, optimistic drop), esc to close. Pull-based via ListIdeas -> idea.list.
This commit is contained in:
@@ -316,6 +316,12 @@ func (m *Model) applyServer(msg protocol.ServerMessage) {
|
||||
m.stats = msg.Stats
|
||||
m.statsFor = msg.SessionID
|
||||
m.statsLoading = false
|
||||
case protocol.TypeIdeaList:
|
||||
m.ideas = msg.Ideas
|
||||
m.ideasLoading = false
|
||||
if m.ideasIndex >= len(m.ideas) {
|
||||
m.ideasIndex = 0
|
||||
}
|
||||
case protocol.TypeConfigSnapshot:
|
||||
m.configFields = msg.ConfigFields
|
||||
m.configRestart = msg.ConfigRestartRequired
|
||||
@@ -360,7 +366,8 @@ func sessionIDOf(msg protocol.ServerMessage) string {
|
||||
protocol.TypeProtocolError, protocol.TypeProviderStatus,
|
||||
protocol.TypeWorkflowList, protocol.TypeRouterResponse,
|
||||
protocol.TypeModelChanged, protocol.TypeModelList, protocol.TypeResourceStatus,
|
||||
protocol.TypeArtifactList, protocol.TypeConfigSnapshot, protocol.TypeSessionStats:
|
||||
protocol.TypeArtifactList, protocol.TypeConfigSnapshot, protocol.TypeSessionStats,
|
||||
protocol.TypeIdeaList:
|
||||
return ""
|
||||
default:
|
||||
return msg.SessionID
|
||||
|
||||
Reference in New Issue
Block a user