The-Agency/lib/ui/widgets/chat/bubbles/tools/edit_bubble.dart

39 lines
1.1 KiB
Dart

import "package:provider/provider.dart";
import "package:shadcn_flutter/shadcn_flutter.dart";
import "../../../../providers/chat_provider.dart";
import "../../../../utils/path_utils.dart";
import "../../diff_view.dart";
import "tool_bubble_base.dart";
class EditBubble extends StatelessWidget {
const EditBubble({
super.key,
required this.input,
this.result,
this.isPendingPermission = false,
});
final Map<String, dynamic> input;
final String? result;
final bool isPendingPermission;
@override
Widget build(BuildContext context) {
final projectRoot = context.read<ChatProvider>().workingDirectory;
final filePath = input["file_path"] as String? ?? "";
final oldString = input["old_string"] as String? ?? "";
final newString = input["new_string"] as String? ?? "";
return ToolBubbleBase(
toolName: "Edit",
icon: LucideIcons.filePen,
result: result,
isPendingPermission: isPendingPermission,
detail: shortenPath(filePath, projectRoot),
body: DiffView(
oldString: oldString,
newString: newString,
),
);
}
}