diff options
| author | Jacob Richman <[email protected]> | 2025-05-23 10:25:17 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-05-23 10:25:17 -0700 |
| commit | 91ee02898a7d0fad1e5a6c72492a91a60515bed7 (patch) | |
| tree | e883fa871799356ea0cb898d9bc9171c126eee95 /packages/cli/src/ui/App.tsx | |
| parent | e9931816284aa7a2dbb8e97fa392a9c563425e2c (diff) | |
feat: Modify loading indicator to support a paused state (#506)
Diffstat (limited to 'packages/cli/src/ui/App.tsx')
| -rw-r--r-- | packages/cli/src/ui/App.tsx | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/packages/cli/src/ui/App.tsx b/packages/cli/src/ui/App.tsx index 4921c93e..ac36b87c 100644 --- a/packages/cli/src/ui/App.tsx +++ b/packages/cli/src/ui/App.tsx @@ -182,8 +182,17 @@ export const App = ({ handleSlashCommand, shellModeActive, ); - const { elapsedTime, currentLoadingPhrase } = - useLoadingIndicator(streamingState); + const isPausedForConfirmation = useMemo( + () => + pendingHistoryItems.some( + (item) => + item?.type === 'tool_group' && + item.tools.some((tool) => tool.status === 'Confirming'), + ), + [pendingHistoryItems], + ); + const { elapsedTime, currentLoadingPhrase, shouldShowSpinner } = + useLoadingIndicator(streamingState, isPausedForConfirmation); const showAutoAcceptIndicator = useAutoAcceptIndicator({ config }); const handleFinalSubmit = useCallback( @@ -302,6 +311,7 @@ export const App = ({ key={h.id} item={h} isPending={false} + streamingState={streamingState} /> )), ]} @@ -317,6 +327,7 @@ export const App = ({ // HistoryItemDisplay. Refactor later. Use a fake id for now. item={{ ...item, id: 0 }} isPending={true} + streamingState={streamingState} /> ))} </Box> @@ -356,6 +367,7 @@ export const App = ({ <> <LoadingIndicator isLoading={streamingState === StreamingState.Responding} + showSpinner={shouldShowSpinner} currentLoadingPhrase={currentLoadingPhrase} elapsedTime={elapsedTime} /> |
