@@ -18,7 +23,9 @@ export default async function Home() {
Team Board
AI Agent Collaboration Platform
- {projects.length > 0 ? (
+ {loading ? (
+
Загрузка...
+ ) : projects.length > 0 ? (
{projects.map((p) => (
Нет проектов. Создайте первый через API.
)}
+
+
diff --git a/src/app/projects/[slug]/page.tsx b/src/app/(protected)/projects/[slug]/page.tsx
similarity index 51%
rename from src/app/projects/[slug]/page.tsx
rename to src/app/(protected)/projects/[slug]/page.tsx
index 8a54b44..bc2bafc 100644
--- a/src/app/projects/[slug]/page.tsx
+++ b/src/app/(protected)/projects/[slug]/page.tsx
@@ -1,31 +1,37 @@
-import { getProjects, getTasks } from "@/lib/api";
-import { notFound } from "next/navigation";
+"use client";
+
+import { useEffect, useState } from "react";
+import { useParams } from "next/navigation";
+import { getProjects, Project } from "@/lib/api";
import Sidebar from "@/components/Sidebar";
import KanbanBoard from "@/components/KanbanBoard";
-export const dynamic = "force-dynamic";
+export default function ProjectPage() {
+ const { slug } = useParams<{ slug: string }>();
+ const [projects, setProjects] = useState