fix: simplify date-only due labels
ci / gitleaks (push) Successful in 7s
ci / docker (push) Successful in 3m29s

This commit is contained in:
2026-09-10 17:22:06 +08:00
parent 1366f302ec
commit ab8c0a5138
6 changed files with 76 additions and 47 deletions
+7 -5
View File
@@ -161,13 +161,15 @@ export function getTaskDuePresentation(input: {
const dayDelta = calendarDelta(parsed.date, now)
const absoluteDateText = absoluteDate(parsed.date, now.getFullYear())
const absoluteText = input.dueHasTime ? `${absoluteDateText} ${localTime(parsed.date)}` : absoluteDateText
const completedDescription = completedRelative(dayDelta)
const dateOnlyDescription = dayDelta === 0
? '今天'
: dayDelta > 0 ? `还有${dayDelta}` : `已过期${Math.abs(dayDelta)}`
const relativeText = input.completed
? completedRelative(dayDelta)
? (input.dueHasTime ? completedDescription : '已完成')
: input.dueHasTime
? timedRelative(parsed.date.getTime() - input.nowMs)
: dayDelta === 0
? '今天'
: dayDelta > 0 ? `还有${dayDelta}` : `已过期${Math.abs(dayDelta)}`
: dayDelta === 0 ? '今天' : `${Math.abs(dayDelta)}`
const state: TaskDueState = input.completed
? 'completed'
: input.dueHasTime ? (parsed.date.getTime() < input.nowMs ? 'overdue' : 'neutral') : (dayDelta < 0 ? 'overdue' : 'neutral')
@@ -178,7 +180,7 @@ export function getTaskDuePresentation(input: {
datetime: parsed.datetime,
absoluteText,
relativeText,
fullText: `${kind}${fullAbsolute}${relativeText}`,
fullText: `${kind}${fullAbsolute}${input.completed ? completedDescription : input.dueHasTime ? relativeText : dateOnlyDescription}`,
state,
}
}