fix: open-task fallback to API fetch for archived/deleted tasks

This commit is contained in:
Brad Groux 2026-01-29 07:02:50 -06:00
parent 5825b56456
commit cf50386a0e

View file

@ -82,13 +82,28 @@ export function KanbanBoard() {
// Listen for open-task events from dashboard drill-downs
useEffect(() => {
const handler = (e: Event) => {
const handler = async (e: Event) => {
const taskId = (e as CustomEvent).detail?.taskId;
if (!taskId) return;
const task = tasks?.find((t) => t.id === taskId);
if (task) {
setSelectedTask(task);
// Try local task list first
const localTask = tasks?.find((t) => t.id === taskId);
if (localTask) {
setSelectedTask(localTask);
setDetailOpen(true);
return;
}
// Fallback: fetch from API (task may be archived or filtered out)
try {
const { api } = await import('@/lib/api');
const fetchedTask = await api.tasks.get(taskId);
if (fetchedTask) {
setSelectedTask(fetchedTask);
setDetailOpen(true);
}
} catch {
// Task no longer exists — ignore silently
}
};
window.addEventListener('open-task', handler);