diff --git a/src/components/CreateTaskModal.tsx b/src/components/CreateTaskModal.tsx index 32cd9df..b01b536 100644 --- a/src/components/CreateTaskModal.tsx +++ b/src/components/CreateTaskModal.tsx @@ -50,8 +50,8 @@ export default function CreateTaskModal({ projectId, initialStatus, parentId, pa useEffect(() => { getMembers().then(setMembers).catch(() => {}); - getLabels(projectId).then(setLabels).catch(() => {}); - }, [projectId]); + getLabels().then(setLabels).catch(() => {}); + }, []); const handleSubmit = async () => { if (!title.trim()) return; diff --git a/src/components/ProjectSettings.tsx b/src/components/ProjectSettings.tsx index 2d82b29..468a4a4 100644 --- a/src/components/ProjectSettings.tsx +++ b/src/components/ProjectSettings.tsx @@ -1,6 +1,6 @@ import { useState, useEffect } from "react"; import { useNavigate } from "react-router-dom"; -import type { Project, ProjectMember, Member, Label } from "@/lib/api"; +import type { Project, ProjectMember, Member } from "@/lib/api"; import { updateProject, deleteProject, @@ -8,9 +8,6 @@ import { addProjectMember, removeProjectMember, getMembers, - getLabels, - createLabel, - deleteLabel, } from "@/lib/api"; interface Props { @@ -35,10 +32,7 @@ export default function ProjectSettings({ project, onUpdated }: Props) { const [loadingMembers, setLoadingMembers] = useState(true); const [selectedMember, setSelectedMember] = useState(""); - // Labels state - const [labels, setLabels] = useState([]); - const [newLabelName, setNewLabelName] = useState(""); - const [newLabelColor, setNewLabelColor] = useState("#6366f1"); + // Labels removed — now in app settings // Load project members and all members useEffect(() => { @@ -50,8 +44,7 @@ export default function ProjectSettings({ project, onUpdated }: Props) { ]); setMembers(projectMembers); setAllMembers(allMembersList); - const projectLabels = await getLabels(project.id); - setLabels(projectLabels); + // Labels now in app settings } catch (e) { console.error("Failed to load members:", e); } finally { @@ -97,7 +90,6 @@ export default function ProjectSettings({ project, onUpdated }: Props) { description: description.trim() || null, repo_urls: urls, status, - auto_assign: autoAssign, }); onUpdated(updated); setSaved(true); @@ -173,7 +165,14 @@ export default function ProjectSettings({ project, onUpdated }: Props) {
Назначать задачи агентам по лейблам ↔ capabilities
- - ))} - -
- setNewLabelName(e.target.value)} - placeholder="Новый лейбл..." - className="flex-1 px-3 py-1.5 bg-[var(--bg)] border border-[var(--border)] rounded-lg text-sm outline-none" - /> - setNewLabelColor(e.target.value)} - className="w-8 h-8 rounded cursor-pointer" - /> - -
- - {/* Members Section */}
Участники
diff --git a/src/lib/api.ts b/src/lib/api.ts index f2c6ece..d7a751f 100644 --- a/src/lib/api.ts +++ b/src/lib/api.ts @@ -464,17 +464,16 @@ export async function deleteTaskLink(taskId: string, linkId: string): Promise { - return request(`/projects/${projectId}/labels`); +export async function getLabels(): Promise { + return request(`/labels`); } -export async function createLabel(projectId: string, name: string, color: string = "#6366f1"): Promise