diff --git a/src/app/projects/[projectId]/sessions/[sessionId]/components/sessionSidebar/SessionSidebar.tsx b/src/app/projects/[projectId]/sessions/[sessionId]/components/sessionSidebar/SessionSidebar.tsx index f6e63e7..f9ce644 100644 --- a/src/app/projects/[projectId]/sessions/[sessionId]/components/sessionSidebar/SessionSidebar.tsx +++ b/src/app/projects/[projectId]/sessions/[sessionId]/components/sessionSidebar/SessionSidebar.tsx @@ -1,13 +1,12 @@ "use client"; -import { ListTodoIcon, MessageSquareIcon, SettingsIcon } from "lucide-react"; +import { MessageSquareIcon, SettingsIcon } from "lucide-react"; import { type FC, useState } from "react"; import { Dialog, DialogContent } from "@/components/ui/dialog"; import { cn } from "@/lib/utils"; import { useProject } from "../../../../hooks/useProject"; import { SessionsTab } from "./SessionsTab"; import { SettingsTab } from "./SettingsTab"; -import { TasksTab } from "./TasksTab"; export const SessionSidebar: FC<{ currentSessionId: string; @@ -25,12 +24,12 @@ export const SessionSidebar: FC<{ const { data: { sessions }, } = useProject(projectId); - const [activeTab, setActiveTab] = useState<"sessions" | "tasks" | "settings">( + const [activeTab, setActiveTab] = useState<"sessions" | "settings">( "sessions", ); const [isExpanded, setIsExpanded] = useState(true); - const handleTabClick = (tab: "sessions" | "tasks" | "settings") => { + const handleTabClick = (tab: "sessions" | "settings") => { if (activeTab === tab && isExpanded) { // If clicking the active tab while expanded, collapse setIsExpanded(false); @@ -51,8 +50,6 @@ export const SessionSidebar: FC<{ projectId={projectId} /> ); - case "tasks": - return ; case "settings": return ; default: @@ -85,21 +82,6 @@ export const SessionSidebar: FC<{ - - - - -
-
- Task ID: - -
- -
- Session: - - {task.sessionId.slice(-8)} - -
- - {task.userMessageId && ( -
- Message: - {task.userMessageId.slice(-8)} -
- )} -
- -); diff --git a/src/app/projects/[projectId]/sessions/[sessionId]/components/sessionSidebar/TasksTab.tsx b/src/app/projects/[projectId]/sessions/[sessionId]/components/sessionSidebar/TasksTab.tsx deleted file mode 100644 index 5028ef9..0000000 --- a/src/app/projects/[projectId]/sessions/[sessionId]/components/sessionSidebar/TasksTab.tsx +++ /dev/null @@ -1,107 +0,0 @@ -"use client"; - -import { useMutation } from "@tanstack/react-query"; -import { useAtom } from "jotai"; -import { ListTodoIcon } from "lucide-react"; -import type { FC } from "react"; -import { honoClient } from "@/lib/api/client"; -import { aliveTasksAtom } from "../../store/aliveTasksAtom"; -import { TaskCard } from "./TaskCard"; - -export const TasksTab: FC<{ projectId: string }> = ({ projectId }) => { - const [aliveTasks] = useAtom(aliveTasksAtom); - - const abortTask = useMutation({ - mutationFn: async (sessionId: string) => { - const response = await honoClient.api.tasks.abort.$post({ - json: { sessionId }, - }); - - if (!response.ok) { - throw new Error(response.statusText); - } - - return response.json(); - }, - }); - - const copyTaskId = (taskId: string) => { - navigator.clipboard.writeText(taskId); - }; - - // Group tasks by status - const runningTasks = aliveTasks.filter((task) => task.status === "running"); - const pausedTasks = aliveTasks.filter((task) => task.status === "paused"); - - return ( -
-
-

Alive Sessions

-

- {runningTasks.length} running, {pausedTasks.length} paused -

-
- -
- {aliveTasks.length === 0 ? ( -
-
- -

No alive sessions

-
-
- ) : ( - <> - {/* Running Tasks Section */} - {runningTasks.length > 0 && ( -
-
-
-

- Running ({runningTasks.length}) -

-
-
- {runningTasks.map((task) => ( - abortTask.mutate(sessionId)} - onCopyTaskId={copyTaskId} - isAbortPending={abortTask.isPending} - /> - ))} -
-
- )} - - {/* Paused Tasks Section */} - {pausedTasks.length > 0 && ( -
-
-
-

- Paused ({pausedTasks.length}) -

-
-
- {pausedTasks.map((task) => ( - abortTask.mutate(sessionId)} - onCopyTaskId={copyTaskId} - isAbortPending={abortTask.isPending} - /> - ))} -
-
- )} - - )} -
-
- ); -};