fix: show bridge in agents list in project settings

This commit is contained in:
Markov 2026-03-15 13:03:53 +01:00
parent e7529306ac
commit be2b073e4c

View File

@ -205,7 +205,7 @@ export default function ProjectSettings({ project, onUpdated }: Props) {
<div className="space-y-3"> <div className="space-y-3">
{/* Humans (non-removable except by dropdown) */} {/* Humans (non-removable except by dropdown) */}
<div className="space-y-2"> <div className="space-y-2">
{members.filter(m => m.type !== "agent").map((member) => ( {members.filter(m => m.type === "human").map((member) => (
<div key={member.slug} className="flex items-center justify-between p-2 bg-[var(--bg)] border border-[var(--border)] rounded-lg"> <div key={member.slug} className="flex items-center justify-between p-2 bg-[var(--bg)] border border-[var(--border)] rounded-lg">
<div className="flex items-center gap-3"> <div className="flex items-center gap-3">
<div className="w-6 h-6 rounded-full flex items-center justify-center text-xs font-medium bg-green-500/20 text-green-400"> <div className="w-6 h-6 rounded-full flex items-center justify-center text-xs font-medium bg-green-500/20 text-green-400">
@ -223,13 +223,15 @@ export default function ProjectSettings({ project, onUpdated }: Props) {
{/* Agents with toggle switches */} {/* Agents with toggle switches */}
<div className="text-xs text-[var(--muted)] mt-4 mb-2">Агенты</div> <div className="text-xs text-[var(--muted)] mt-4 mb-2">Агенты</div>
<div className="space-y-2"> <div className="space-y-2">
{allMembers.filter(m => m.type === "agent").map((agent) => { {allMembers.filter(m => m.type === "agent" || m.type === "bridge").map((agent) => {
const isActive = members.some(pm => pm.id === agent.id); const isActive = members.some(pm => pm.id === agent.id);
return ( return (
<div key={agent.id} className="flex items-center justify-between p-2 bg-[var(--bg)] border border-[var(--border)] rounded-lg"> <div key={agent.id} className="flex items-center justify-between p-2 bg-[var(--bg)] border border-[var(--border)] rounded-lg">
<div className="flex items-center gap-3"> <div className="flex items-center gap-3">
<div className="w-6 h-6 rounded-full flex items-center justify-center text-xs font-medium bg-blue-500/20 text-blue-400"> <div className={`w-6 h-6 rounded-full flex items-center justify-center text-xs font-medium ${
A agent.type === "bridge" ? "bg-purple-500/20 text-purple-400" : "bg-blue-500/20 text-blue-400"
}`}>
{agent.type === "bridge" ? "B" : "A"}
</div> </div>
<div> <div>
<div className="text-sm font-medium">{agent.name}</div> <div className="text-sm font-medium">{agent.name}</div>
@ -264,7 +266,7 @@ export default function ProjectSettings({ project, onUpdated }: Props) {
</div> </div>
{/* Add human member */} {/* Add human member */}
{availableMembers.filter(m => m.type !== "agent").length > 0 && ( {availableMembers.filter(m => m.type === "human").length > 0 && (
<div className="flex gap-2 mt-3"> <div className="flex gap-2 mt-3">
<select <select
value={selectedMember} value={selectedMember}
@ -272,7 +274,7 @@ export default function ProjectSettings({ project, onUpdated }: Props) {
className="flex-1 px-3 py-2 bg-[var(--bg)] border border-[var(--border)] rounded-lg outline-none focus:border-[var(--accent)] text-sm" className="flex-1 px-3 py-2 bg-[var(--bg)] border border-[var(--border)] rounded-lg outline-none focus:border-[var(--accent)] text-sm"
> >
<option value="">Добавить участника...</option> <option value="">Добавить участника...</option>
{availableMembers.filter(m => m.type !== "agent").map((member) => ( {availableMembers.filter(m => m.type === "human").map((member) => (
<option key={member.id} value={member.id}> <option key={member.id} value={member.id}>
{member.name} ({member.slug}) - {member.type} {member.name} ({member.slug}) - {member.type}
</option> </option>