From 91ee02898a7d0fad1e5a6c72492a91a60515bed7 Mon Sep 17 00:00:00 2001 From: Jacob Richman Date: Fri, 23 May 2025 10:25:17 -0700 Subject: feat: Modify loading indicator to support a paused state (#506) --- packages/cli/src/ui/App.tsx | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'packages/cli/src/ui/App.tsx') 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} /> ))} @@ -356,6 +367,7 @@ export const App = ({ <> -- cgit v1.2.3