From bd583384d1ccf265bb4e20267ecb6045391b16ec Mon Sep 17 00:00:00 2001 From: Markov Date: Fri, 27 Feb 2026 22:57:48 +0100 Subject: [PATCH] Agent toggle switches in ProjectSettings Agents shown as toggle switches (on/off) instead of dropdown + remove button. Humans listed separately without remove option. Toggle calls addProjectMember/removeProjectMember API. --- src/components/ProjectSettings.tsx | 78 ++++++++++++++++++++---------- 1 file changed, 52 insertions(+), 26 deletions(-) diff --git a/src/components/ProjectSettings.tsx b/src/components/ProjectSettings.tsx index fe08eb3..c14cf7c 100644 --- a/src/components/ProjectSettings.tsx +++ b/src/components/ProjectSettings.tsx @@ -75,14 +75,7 @@ export default function ProjectSettings({ project, onUpdated }: Props) { } }; - const handleRemoveMember = async (memberId: string) => { - try { - await removeProjectMember(project.id, memberId); - setMembers(members.filter((m) => m.id !== memberId)); - } catch (e) { - console.error("Failed to remove member:", e); - } - }; + // handleRemoveMember is now inline in agent toggle const handleSave = async () => { setSaving(true); @@ -180,43 +173,76 @@ export default function ProjectSettings({ project, onUpdated }: Props) {
Загрузка...
) : (
- {/* Current Members */} + {/* Humans (non-removable except by dropdown) */}
- {members.map((member) => ( + {members.filter(m => m.type !== "agent").map((member) => (
-
- {member.type === "agent" ? "A" : "H"} +
+ H
{member.name}
{member.slug} • {member.role}
- {member.role !== "owner" && ( - - )}
))}
- {/* Add Member */} - {availableMembers.length > 0 && ( -
+ {/* Agents with toggle switches */} +
Агенты
+
+ {allMembers.filter(m => m.type === "agent").map((agent) => { + const isActive = members.some(pm => pm.id === agent.id); + return ( +
+
+
+ A +
+
+
{agent.name}
+
{agent.slug}
+
+
+ +
+ ); + })} +
+ + {/* Add human member */} + {availableMembers.filter(m => m.type !== "agent").length > 0 && ( +