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

37 lines
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 "tool_bubble_base.dart";
class GlobBubble extends StatelessWidget {
const GlobBubble({
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 pattern = input["pattern"] as String? ?? "";
final searchPath = input["path"] as String?;
final detail = searchPath != null && searchPath.isNotEmpty
? "${shortenPath(searchPath, projectRoot)}/$pattern"
: pattern;
return ToolBubbleBase(
toolName: "Glob",
icon: LucideIcons.folderSearch,
result: result,
isPendingPermission: isPendingPermission,
detail: detail,
);
}
}