feat(app): improve tool call sheet with word-level diff and better UX

- Add word-level highlighting using LCS algorithm for edit diffs
- Match diff colors to explorer sidebar (GitHub-style rgba backgrounds)
- Use discriminated union for tool call parsing (shell, edit, generic)
- Add horizontal scroll for bash/command output instead of wrapping
- Remove status badge from bottom sheet header
- Fix sheet snap points (60%/95%) and disable dynamic sizing
- Add min-width to diff viewer for full-width backgrounds

🤖 Generated with [Claude Code](https://claude.com/claude-code)
This commit is contained in:
Mohamed Boudra
2026-01-10 23:37:13 +07:00
parent 42129926ae
commit f073be0b98
5 changed files with 518 additions and 468 deletions
+1 -5
View File
@@ -1168,12 +1168,8 @@ export const ToolCall = memo(function ToolCall({
args,
result,
error,
parsedEditEntries,
parsedReadEntries,
parsedCommandDetails,
cwd,
});
}, [openToolCall, toolName, kind, status, args, result, error, parsedEditEntries, parsedReadEntries, parsedCommandDetails, cwd]);
}, [openToolCall, toolName, kind, status, args, result, error]);
// Dummy renderDetails to make badge tappable - actual content is rendered in the sheet
const dummyRenderDetails = useCallback(() => null, []);