import { useEffect } from "react"; import { useAppStore } from "@/components/state-provider"; import { getWebSocketClient } from "@/lib/ws/connection"; import type { KanbanState } from "@/lib/state/slices"; export function useTask(taskId: string | null) { const task = useAppStore((state) => taskId ? (state.kanban.tasks.find((item: KanbanState["tasks"][number]) => item.id === taskId) ?? null) : null, ); useEffect(() => { if (!taskId) return; const client = getWebSocketClient(); if (!client) return; const unsubscribe = client.subscribe(taskId); return () => { unsubscribe(); }; }, [taskId]); return task; }