mirror of
https://github.com/go-vikunja/vikunja.git
synced 2026-05-21 02:32:22 -05:00
[PR #1807] [MERGED] feat: add time display with configurable format (12h/24h) to non-relative date formats #5238
Closed
opened 2026-04-16 13:31:34 -05:00 by GiteaMirror
·
0 comments
No Branch/Tag Specified
main
renovate/dev-dependencies
fix-list-sort-resets
claude/analyze-beans-project-9VxoS
feat-huma-api-v2-migration
feat-v2-foundation
spike-huma-openapi3
claude/investigate-swagger3-support-nyyUa
feat-list-view-buckets
ci-mysql-8-test
codex/analyze-codebase-for-email-task-feature
feat-project-templates
csv-import-feature
claude/email-reply-comments-wpdcQ
fix-oidc-pkce-support
fix/overview-subtasks-expand
feat/bucket-select-task-detail
feat-soft-delete-projects
claude/review-bot-design-plan-cf5C3
claude/project-scoped-api-tokens-KTqR3
claude/explore-openclaw-integration-KQEzg
claude/project-scoped-api-tokens-yv5KS
fix-duplicate-close-button
feat-list-view-sorting
feat/official-vite-sentry-plugin
feat/highlight-overdue-tasks
feat/add-enter-key-form-submission-handling
feat/TipTap-nits
feat/update-caldavtimetotimestamp-parsing
feat-phosphor-icons
wip-plans
claude/investigate-issue-2173-llKme
fix-description-text-drag
feat-custom-keyboard-shortcuts
pr-1845-ci
codex/fix-drag-and-drop-behavior-inconsistency
copilot/add-clickable-labels-for-filtering
copilot/fix-issue-1786
playwright-migration
fix-kanban-repeating-wip
copilot/fix-1498
feature/replace-axios
codex/upgrade-to-tailwind-4.1.8-using-pnpm
codex/add-cypress-test-for-avatar-types
feature/biome
feature/oxc
codex/update-flexsearch-to-0.8.205
4r6ni9-codex/fix-deprecated-sass-@import-usage
codex/fix-deprecated-sass-@import-usage
codex/add-cypress-test-for-task-list-refresh-fix
codex/fix-quick-add-magic-not-adding-tasks
codex/fix-all-type-errors
codex/fix-mimetype-for-docs.json
feature/caldav-from-scratch
feature/gh-actions-hetzner
fix-ci
feat/new-logger
jyte-better-dev-config
feat/add-team-member-with-enter
fix/button-and-icon-types
fix/notifications-component-name-collision
feature/null-time
renovate/tailwindcss-4.x
feature/unplugin-vue-router
fix/deprecated-import
feature/zod-schema
renovate/golangci-golangci-lint-1.x
fix/tiptap-editor-reactive-destructuring
release/0.24
feat/improve-add-task
fix/saved-filter-search
feat/webp-and-avif-attachment-previews
feature/migrate-back-to-bulma
fix/sass-add-missing-list-import
feature/sticky-demo-bar
fix/gantt-view-switch
feature/typesense-position-join
feature/focus-visible
dependencies/golangci-lint
feature/better-filter-syntax
fix/tiptap-task-list
renovate/github.com-golang-jwt-jwt-v4-5.x
feature/hide-forbidden-related-tasks
renovate/golang-1.x
release/0.20
release/0.17
release/0.16
release/0.15
release/0.14
v2.3.0
v2.2.2
v2.2.1
v2.2.0
v2.1.0
v2.0.0
v1.1.0
v1.0.0
v1.0.0-rc4
v1.0.0-rc3
v1.0.0-rc2
v1.0.0-rc1
v1.0.0-rc0
v0.24.6
v0.24.5
v0.24.4
v0.24.3
v0.24.2
v0.24.1
v0.24.0
v0.23.0
v0.22.1
v0.22.0
0.21.0
v0.21.0
v0.20.4
v0.20.5
v0.20.3
v0.20.2
v0.20.1
v0.20.0
v0.19.2
v0.19.1
v0.19.0
vue3
v0.18.1
v0.18.0
v0.17.1
v0.17.0
v0.16.1
v0.16.0
v0.15.1
v0.15.0
v0.14.1
v0.14.0
v0.13.1
v0.13
v0.12
v0.11
v0.10
v0.9
v0.8
v0.7
v0.6
v0.5
v0.4
v0.3
v0.2
v0.1
Labels
Clear labels
area/api
area/attachments
area/auth
area/avatars
area/backup-restore
area/caldav
area/calendar-view
area/comments
area/config
area/database
area/desktop
area/docker
area/email
area/favorites
area/filters
area/frontend
area/gantt
area/i18n
area/import-export
area/internal-code
area/kanban
area/labels
area/list-view
area/mobile
area/notifications
area/permissions
area/projects
area/pwa
area/recurring-tasks
area/reminders
area/search
area/shortcuts
area/subtasks
area/sync
area/table-view
area/task-editor
area/task-metadata
area/task-relations
area/teams
area/theming
area/time-tracking
area/typesense
area/views
area/webhooks
bug
changes requested
concern/accessibility
concern/performance
concern/regression
concern/ux
confirmed
db/mysql
dependencies
enhancement
good first issue
help wanted
integration/inbound
integration/outbound
kind/bug
kind/feature
needs reproduction
pull-request
question
security
support
upstream issue
waiting for reply
wontfix
Mirrored from GitHub Pull Request
No Label
pull-request
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/vikunja#5238
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/go-vikunja/vikunja/pull/1807
Author: @Copilot
Created: 11/12/2025
Status: ✅ Merged
Merged: 11/13/2025
Merged by: @kolaente
Base:
main← Head:copilot/update-date-display-settings📝 Commits (7)
831943fInitial plan3fb0142feat: add time display to non-relative date formatsc98d690feat: add configurable time format (12h/24h) for non-relative datesc7ffafefix: remove HH:mm placeholder from date display options8509f9cfix: use explicit 12-hour format to respect user preference regardless of locale1346769fix: add timeFormat default value in all IFrontendSettings initializations01a953adefault to 24h📊 Changes
9 files changed (+140 additions, -22 deletions)
View changed files
📝
frontend/cypress/e2e/task/date-display.spec.ts(+64 -8)➕
frontend/src/composables/useTimeFormat.ts(+9 -0)➕
frontend/src/constants/timeFormat.ts(+6 -0)📝
frontend/src/helpers/time/formatDate.ts(+21 -12)📝
frontend/src/i18n/lang/en.json(+5 -0)📝
frontend/src/modelTypes/IUserSettings.ts(+2 -0)📝
frontend/src/models/userSettings.ts(+2 -0)📝
frontend/src/stores/auth.ts(+2 -0)📝
frontend/src/views/user/settings/General.vue(+29 -2)📄 Description
Implementation: Add configurable time format (12h/24h) for non-relative dates ✅
Addressed feedback from @kolaente:
Changes Made
New time format constant (
frontend/src/constants/timeFormat.ts):TIME_FORMATwith options:HOURS_12('12h') andHOURS_24('24h')Updated settings model (
frontend/src/modelTypes/IUserSettings.ts):timeFormat: TimeFormattoIFrontendSettingsinterfaceCreated time format composable (
frontend/src/composables/useTimeFormat.ts):Enhanced date formatting (
frontend/src/helpers/time/formatDate.ts):formatDisplayDateFormat()to accept optionaltimeFormatparameterhh:mm Aformat for 12-hour instead of locale-dependentLTHH:mmfor 24-hour formathour12option accordinglyUpdated settings UI (
frontend/src/views/user/settings/General.vue):Updated translations (
frontend/src/i18n/lang/en.json):Enhanced tests (
frontend/cypress/e2e/task/date-display.spec.ts):hh:mm Aformat for 12-hourAdded default values (
frontend/src/models/userSettings.ts,frontend/src/stores/auth.ts):timeFormat: TIME_FORMAT.HOURS_12default inUserSettingsModeltimeFormat: TIME_FORMAT.HOURS_12default inloadSettings()Verification
✅ Frontend linter passed:
pnpm run lint✅ Unit tests passed:
pnpm run test:unit(706 tests)✅ Build successful:
pnpm run build:devResult
Time Format Configuration:
hh:mm AM/PMregardless of localeHH:mmExamples:
The fix ensures proper TypeScript type checking and prevents undefined values at runtime for users who haven't saved the time format setting yet.
Original prompt
Implementation Plan
You are tasked with creating detailed implementation plans through an interactive, iterative process. You should be skeptical, thorough, and work collaboratively with the user to produce high-quality technical specifications.
GOAL
when setting the date display to something other than relative, the time should be shown as well. Integrate into the settings as well.
Process Steps
Step 1: Context Gathering & Initial Analysis
Read all mentioned files immediately and FULLY:
thoughts/allison/tickets/eng_1234.md)Spawn initial research tasks to gather context:
Before asking the user any questions, do your research:
These agents will:
Read all files identified by research tasks:
Analyze and verify understanding:
Present informed understanding and focused questions:
Only ask questions that you genuinely cannot answer through code investigation.
Step 2: Research & Discovery
After getting initial clarifications:
If the user corrects any misunderstanding:
Create a research todo list use a TODO.md file to track exploration tasks, update as you make progress
Spawn parallel sub-tasks for comprehensive research:
Each agent knows how to:
Wait for ALL sub-tasks to complete before proceeding
Present findings and design options:
Step 3: Plan Structure Development
Once aligned on approach:
Create initial plan outline:
Get feedback on structure before writing details
Step 4: Detailed Plan Writing
After structure approval:
PLAN.md