feat: integrate ToolCallSheetProvider in AgentStreamView

Wrapped AgentStreamView content with ToolCallSheetProvider to enable
tool call details to open in a bottom sheet on tap instead of expanding
inline. This improves mobile UX for viewing tool call information.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Mohamed Boudra
2025-12-21 18:24:07 +00:00
co-authored by Claude Opus 4.5
parent 09b7360a7e
commit a8053bc0b5
2 changed files with 60 additions and 57 deletions
@@ -41,6 +41,7 @@ import {
extractEditEntries,
extractReadEntries,
} from "@/utils/tool-call-parsers";
import { ToolCallSheetProvider } from "./tool-call-sheet";
const MAX_CHAT_WIDTH = 960;
type PermissionResolvedMessage = Extract<
@@ -382,6 +383,7 @@ export function AgentStreamView({
);
return (
<ToolCallSheetProvider>
<View style={stylesheet.container}>
<FlatList
ref={flatListRef}
@@ -437,8 +439,8 @@ export function AgentStreamView({
</View>
</Animated.View>
)}
</View>
</ToolCallSheetProvider>
);
}
+2 -1
View File
@@ -546,12 +546,13 @@ interface ToolCallSheetData {
- Run typecheck after changes.
- **Done (2025-12-21 19:25)**: Updated `ToolCall` in `message.tsx` to use `useToolCallSheet` hook. On tap, calls `openToolCall()` with tool data instead of expanding inline. Removed ~300 lines of unused code including `toolCallStylesheet`, `formatFullValue`, `buildLineDiffFromStrings`, `isStructuredToolResult`, and inline rendering logic (all now in `tool-call-sheet.tsx`). Cleaned up imports (`ScrollView`, `DiffViewer`, `DiffLine` no longer needed). Typecheck passes.
- [ ] **Implement**: Integrate ToolCallSheetProvider in agent stream view.
- [x] **Implement**: Integrate ToolCallSheetProvider in agent stream view.
- Wrap `AgentStreamView` content with `ToolCallSheetProvider`
- Or add at the agent screen level if needed for proper context scope
- Ensure sheet renders above the stream content
- Run typecheck after changes.
- **Done (2025-12-21 20:48)**: Added `ToolCallSheetProvider` import and wrapped the entire return content of `AgentStreamView` with it. The provider wraps the `View` container which includes the `FlatList` and scroll-to-bottom button, ensuring the bottom sheet renders above the stream content. Typecheck passes.
- [ ] **Test**: Verify tool call bottom sheet works on mobile web.