MCPcopy Index your code
hub / github.com/CodebuffAI/codebuff / renderStatusIndicator

Function renderStatusIndicator

cli/src/components/status-bar.tsx:127–188  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

125 const sessionProgress = useFreebuffSessionProgress(freebuffSession)
126
127 const renderStatusIndicator = () => {
128 switch (statusIndicatorState.kind) {
129 case 'ctrlC':
130 return <span fg={theme.secondary}>Press Ctrl-C again to exit</span>
131
132 case 'clipboard':
133 // Use green color for feedback success messages
134 const isFeedbackSuccess =
135 statusIndicatorState.message.includes('Feedback sent')
136 return (
137 <span fg={isFeedbackSuccess ? theme.success : theme.primary}>
138 {statusIndicatorState.message}
139 </span>
140 )
141
142 case 'reconnected':
143 return <span fg={theme.success}>Reconnected</span>
144
145 case 'retrying':
146 return <ShimmerText text="retrying..." primaryColor={theme.warning} />
147
148 case 'connecting':
149 return <ShimmerText text="connecting..." />
150
151 case 'waiting':
152 return (
153 <ShimmerText
154 text="thinking..."
155 interval={SHIMMER_INTERVAL_MS}
156 primaryColor={theme.secondary}
157 />
158 )
159
160 case 'streaming':
161 return (
162 <ShimmerText
163 text="working..."
164 interval={SHIMMER_INTERVAL_MS}
165 primaryColor={theme.secondary}
166 />
167 )
168
169 case 'paused':
170 return null
171
172 case 'idle':
173 if (sessionProgress !== null) {
174 const isUrgent = sessionProgress.remainingMs < COUNTDOWN_VISIBLE_MS
175 const modelName =
176 freebuffSession?.status === 'active'
177 ? getFreebuffModel(freebuffSession.model).displayName
178 : null
179 return (
180 <span fg={isUrgent ? theme.warning : theme.secondary}>
181 {modelName ? `${modelName} · ` : ''}
182 {formatSessionRemaining(sessionProgress.remainingMs)}
183 </span>
184 )

Callers 1

StatusBarFunction · 0.85

Calls 2

getFreebuffModelFunction · 0.90
formatSessionRemainingFunction · 0.85

Tested by

no test coverage detected