From f07312d258771295daa0854a0ef9f082fd16fbe3 Mon Sep 17 00:00:00 2001 From: Abhimanyu Saharan Date: Mon, 2 Feb 2026 13:56:56 +0530 Subject: [PATCH] feat(kanban): optional live updates (5s polling) --- frontend/src/app/kanban/page.tsx | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/frontend/src/app/kanban/page.tsx b/frontend/src/app/kanban/page.tsx index ab91ec91..781a8036 100644 --- a/frontend/src/app/kanban/page.tsx +++ b/frontend/src/app/kanban/page.tsx @@ -21,10 +21,20 @@ export default function KanbanPage() { const [projectId, setProjectId] = useState(""); const [assigneeId, setAssigneeId] = useState(""); + const [live, setLive] = useState(false); - const tasks = useListTasksTasksGet({ - ...(projectId ? { project_id: Number(projectId) } : {}), - }); + const tasks = useListTasksTasksGet( + { + ...(projectId ? { project_id: Number(projectId) } : {}), + }, + { + query: { + enabled: true, + refetchInterval: live ? 5000 : false, + refetchIntervalInBackground: false, + }, + }, + ); const taskList = useMemo(() => tasks.data ?? [], [tasks.data]); const updateTask = useUpdateTaskTasksTaskIdPatch({ @@ -112,6 +122,16 @@ export default function KanbanPage() { ))} +
+
+
Live updates
+
Auto-refresh tasks every 5s on this page.
+
+ +
+
Showing {filtered.length} / {taskList.length} tasks