@@ -116,10 +237,34 @@ function APIsDropdownList({
[apiField]: t.endpoint,
[keyField]: t.key,
});
- setOpen(false); // Close popover after selecting
+ setOpen(false);
}}
>
- {t.name}
+
+
{t.name}
+
+
+
+
+
))}
@@ -127,6 +272,23 @@ function APIsDropdownList({
+ {editingTemplate && (
+
setEditingTemplate(null)}
+ />
+ )}
+ {
+ setDeleteDialogOpen(false);
+ setTemplateToDelete(null);
+ }}
+ onConfirm={confirmDelete}
+ title="Delete Template"
+ description={`Are you sure you want to delete "${templateToDelete?.name}"?`}
+ />
);
}
@@ -207,12 +369,161 @@ function ToolsDropdownList() {
);
}
+interface EditChatTemplateDialogProps {
+ template: TemplateChatStore;
+ onSave: (updatedTemplate: TemplateChatStore) => void;
+ onClose: () => void;
+}
+
+function EditChatTemplateDialog({ template, onSave, onClose }: EditChatTemplateDialogProps) {
+ const [name, setName] = useState(template.name);
+ const [jsonContent, setJsonContent] = useState(() => {
+ const { name: _, ...rest } = template;
+ return JSON.stringify(rest, null, 2);
+ });
+ const [editor, setEditor] = useState