diff --git a/ondeck/src/app/(dashboard)/tasks/page-client.tsx b/ondeck/src/app/(dashboard)/tasks/page-client.tsx index dfc218d..a1a09d4 100644 --- a/ondeck/src/app/(dashboard)/tasks/page-client.tsx +++ b/ondeck/src/app/(dashboard)/tasks/page-client.tsx @@ -532,17 +532,18 @@ export function TasksClient({ initialTasks, currentUserId, isPrivileged, users } const week2End = new Date(now); week2End.setDate(now.getDate() + 14); week2End.setHours(23,59,59,999) const week3End = new Date(now); week3End.setDate(now.getDate() + 21); week3End.setHours(23,59,59,999) - const overdue = tasks.filter((t) => new Date(t.dueDate) < now && t.status !== 'COMPLETED') - const dueToday = tasks.filter((t) => { const d = new Date(t.dueDate); return d >= now && d <= week1End && t.status !== 'COMPLETED' }) - const due1Week = tasks.filter((t) => { const d = new Date(t.dueDate); return d > week1End && d <= week2End && t.status !== 'COMPLETED' }) - const due2Weeks = tasks.filter((t) => { const d = new Date(t.dueDate); return d > week1End && d <= week3End && t.status !== 'COMPLETED' }) + const isTerminal = (s: string) => s === 'COMPLETED' || s === 'NA' || s === 'CANCELLED' + const overdue = tasks.filter((t) => new Date(t.dueDate) < now && !isTerminal(t.status)) + const dueToday = tasks.filter((t) => { const d = new Date(t.dueDate); return d >= now && d <= week1End && !isTerminal(t.status) }) + const due1Week = tasks.filter((t) => { const d = new Date(t.dueDate); return d > week1End && d <= week2End && !isTerminal(t.status) }) + const due2Weeks = tasks.filter((t) => { const d = new Date(t.dueDate); return d > week1End && d <= week3End && !isTerminal(t.status) }) const applyCardFilter = (base: Task[]) => { if (!cardFilter) return base - if (cardFilter === 'overdue') return base.filter((t) => new Date(t.dueDate) < now && t.status !== 'COMPLETED') - if (cardFilter === 'today') return base.filter((t) => { const d = new Date(t.dueDate); return d >= now && d <= week1End && t.status !== 'COMPLETED' }) - if (cardFilter === '1week') return base.filter((t) => { const d = new Date(t.dueDate); return d > week1End && d <= week2End && t.status !== 'COMPLETED' }) - if (cardFilter === '2weeks') return base.filter((t) => { const d = new Date(t.dueDate); return d > week1End && d <= week3End && t.status !== 'COMPLETED' }) + if (cardFilter === 'overdue') return base.filter((t) => new Date(t.dueDate) < now && !isTerminal(t.status)) + if (cardFilter === 'today') return base.filter((t) => { const d = new Date(t.dueDate); return d >= now && d <= week1End && !isTerminal(t.status) }) + if (cardFilter === '1week') return base.filter((t) => { const d = new Date(t.dueDate); return d > week1End && d <= week2End && !isTerminal(t.status) }) + if (cardFilter === '2weeks') return base.filter((t) => { const d = new Date(t.dueDate); return d > week1End && d <= week3End && !isTerminal(t.status) }) if (cardFilter === 'custom' && customFrom && customTo) { const from = new Date(customFrom); from.setHours(0,0,0,0) const to = new Date(customTo); to.setHours(23,59,59,999) @@ -552,7 +553,7 @@ export function TasksClient({ initialTasks, currentUserId, isPrivileged, users } } const baseVisible = - filter === 'assigned' ? tasks.filter((t) => t.status !== 'COMPLETED') : + filter === 'assigned' ? tasks.filter((t) => !isTerminal(t.status)) : filter === 'completed' ? tasks.filter((t) => t.status === 'COMPLETED') : tasks const visibleTasks = applyCardFilter(baseVisible)