Fix: Show only incomplete todos due today or later (exclude overdue items)

This commit is contained in:
kihong.kim
2026-02-01 01:17:48 +09:00
parent 40f1583796
commit bde2fc14c7

View File

@@ -37,17 +37,16 @@ router.get("/", async (req, res) => {
router.get("/today", async (req, res) => {
try {
const { start, end } = getDayRange();
// Include:
// 1. Tasks due today
// 2. Overdue tasks (due before today) that are not completed
// 3. Tasks with no due date that are not completed
const { start } = getDayRange();
// Show incomplete todos that are:
// 1. Due today or later (not overdue)
// 2. Have no due date set
const todos = await Todo.find({
completed: false,
$or: [
{ dueDate: { $gte: start, $lte: end } },
{ dueDate: { $lt: start }, completed: false },
{ dueDate: { $exists: false }, completed: false },
{ dueDate: null, completed: false }
{ dueDate: { $gte: start } },
{ dueDate: { $exists: false } },
{ dueDate: null }
]
}).sort({
dueDate: 1,