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

40 lines
1.1 KiB
Dart

import "package:provider/provider.dart";
import "package:shadcn_flutter/shadcn_flutter.dart";
import "../../../../providers/chat_provider.dart";
import "../permission_decision.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.pendingPermission,
});
final Map<String, dynamic> input;
final String? result;
final PendingPermission? pendingPermission;
@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,
pendingPermission: pendingPermission,
detail: shortenPath(filePath, projectRoot),
body: DiffView(
oldString: oldString,
newString: newString,
),
);
}
}