Update TemplateList.tsx
This commit is contained in:
@@ -1,16 +1,17 @@
|
||||
import React from 'react';
|
||||
import { EmailTemplate } from '../types';
|
||||
import { Plus, Edit, Trash2, FileCode, Search, Database, ArrowRightCircle, Code } from 'lucide-react';
|
||||
import { Plus, Edit, Trash2, FileCode, Search, Database, ArrowRightCircle, Code, CopyPlus } from 'lucide-react';
|
||||
import { generateSelectSQL, generateN8nCode } from '../services/storage';
|
||||
|
||||
interface Props {
|
||||
templates: EmailTemplate[];
|
||||
onCreate: () => void;
|
||||
onEdit: (t: EmailTemplate) => void;
|
||||
onClone: (t: EmailTemplate) => void;
|
||||
onDelete: (id: string) => void;
|
||||
}
|
||||
|
||||
const TemplateList: React.FC<Props> = ({ templates, onCreate, onEdit, onDelete }) => {
|
||||
const TemplateList: React.FC<Props> = ({ templates, onCreate, onEdit, onClone, onDelete }) => {
|
||||
const [search, setSearch] = React.useState('');
|
||||
|
||||
const filtered = templates.filter(t =>
|
||||
@@ -131,6 +132,13 @@ const TemplateList: React.FC<Props> = ({ templates, onCreate, onEdit, onDelete }
|
||||
</button>
|
||||
</div>
|
||||
<div className="flex gap-1">
|
||||
<button
|
||||
onClick={(e) => { e.stopPropagation(); onClone(t); }}
|
||||
className="p-1.5 text-slate-500 hover:text-blue-600 hover:bg-white rounded shadow-sm transition-all"
|
||||
title="Clone Template"
|
||||
>
|
||||
<CopyPlus size={16} />
|
||||
</button>
|
||||
<button
|
||||
onClick={(e) => { e.stopPropagation(); onEdit(t); }}
|
||||
className="p-1.5 text-slate-500 hover:text-brand-600 hover:bg-white rounded shadow-sm transition-all"
|
||||
@@ -155,4 +163,4 @@ const TemplateList: React.FC<Props> = ({ templates, onCreate, onEdit, onDelete }
|
||||
);
|
||||
};
|
||||
|
||||
export default TemplateList;
|
||||
export default TemplateList;
|
||||
|
||||
Reference in New Issue
Block a user