-
-
-
- {mandateName}
-
- {mandateMeta.featureCount} Feature{mandateMeta.featureCount !== 1 ? 's' : ''} · {mandateMeta.instanceCount} Instanz{mandateMeta.instanceCount !== 1 ? 'en' : ''}
-
-
-
-
{Object.entries(byFeature).map(([featureCode, featureInstances]) => {
const featureUserCount = featureInstances.reduce(
(sum, inst) => sum + (instanceUsersMap[inst.id]?.length ?? 0),
diff --git a/src/pages/basedata/PromptsPage.tsx b/src/pages/basedata/PromptsPage.tsx
index 8197027..f3d4435 100644
--- a/src/pages/basedata/PromptsPage.tsx
+++ b/src/pages/basedata/PromptsPage.tsx
@@ -127,6 +127,17 @@ export const PromptsPage: React.FC = () => {
}
};
+ // Handle duplicate prompt
+ const handleDuplicate = async (prompt: Prompt) => {
+ const result = await handlePromptCreate({
+ name: `Kopie von ${prompt.name || 'Prompt'}`,
+ content: prompt.content || ''
+ });
+ if (result?.success) {
+ refetch();
+ }
+ };
+
// Handle delete single prompt (confirmation handled by DeleteActionButton)
const handleDelete = async (prompt: Prompt) => {
const success = await handlePromptDelete(prompt.id);
@@ -217,6 +228,11 @@ export const PromptsPage: React.FC = () => {
sortable={true}
selectable={false}
actionButtons={[
+ ...(canCreate ? [{
+ type: 'copy' as const,
+ title: 'Duplizieren',
+ onAction: handleDuplicate,
+ }] : []),
...(canUpdate ? [{
type: 'edit' as const,
onAction: handleEditClick,