The-Agency/lib/ui/widgets/chat/bubbles/tools/write_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 "../permission_decision.dart";
import "../../../../utils/path_utils.dart";
import "../../diff_view.dart";
import "tool_bubble_base.dart";
class WriteBubble extends StatelessWidget {
const WriteBubble({
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 content = input["content"] as String? ?? "";
return ToolBubbleBase(
toolName: "Write",
icon: LucideIcons.filePlus,
result: result,
pendingPermission: pendingPermission,
detail: shortenPath(filePath, projectRoot),
body: DiffView(
oldString: "",
newString: content,
),
);
}
}