From dbf8980f1bc5428d1eb463505968469617dbf3fc Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sat, 28 Feb 2026 09:59:06 +0200 Subject: refactor(task): centralize Taskwarrior date format as task.DateFormat DRY/MEDIUM task (UUID 2c74960f): the format string "20060102T150405Z" was hardcoded in 5+ places across the task and ui packages. - Export task.DateFormat constant from internal/task/task.go - Replace hardcoded string in task.go and stats.go with DateFormat - Update internal/ui/helpers.go to alias the constant (taskDateFormat = task.DateFormat) rather than repeating the string literal - Replace all 6 raw string literals in table.go with task.DateFormat - Remove duplicate dueText() from table.go; its only call site now uses formatDueText() from helpers.go, which also normalises to midnight UTC for more accurate day-difference calculations Co-Authored-By: Claude Sonnet 4.6 --- internal/ui/helpers.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'internal/ui/helpers.go') diff --git a/internal/ui/helpers.go b/internal/ui/helpers.go index 71c21db..9846811 100644 --- a/internal/ui/helpers.go +++ b/internal/ui/helpers.go @@ -5,10 +5,14 @@ import ( "regexp" "strings" "time" + + "codeberg.org/snonux/tasksamurai/internal/task" ) -// Date format used by Taskwarrior -const taskDateFormat = "20060102T150405Z" +// taskDateFormat aliases task.DateFormat for use within this package. +// It is kept as a package-level constant so internal helpers don't need +// to qualify every parse/format call with the package name. +const taskDateFormat = task.DateFormat // parseTaskDate parses a date string in Taskwarrior format func parseTaskDate(dateStr string) (time.Time, error) { -- cgit v1.2.3