diff --git a/frontend/src/views/admin/PromoCodesView.vue b/frontend/src/views/admin/PromoCodesView.vue index ceca0dd4e8..34cc9ef94b 100644 --- a/frontend/src/views/admin/PromoCodesView.vue +++ b/frontend/src/views/admin/PromoCodesView.vue @@ -392,7 +392,7 @@ import { useAppStore } from '@/stores/app' import { useClipboard } from '@/composables/useClipboard' import { getPersistedPageSize } from '@/composables/usePersistedPageSize' import { adminAPI } from '@/api/admin' -import { formatDateTime } from '@/utils/format' +import { formatDateTime, formatDateTimeLocalInput } from '@/utils/format' import type { PromoCode, PromoCodeUsage } from '@/types' import type { Column } from '@/components/common/types' import AppLayout from '@/components/layout/AppLayout.vue' @@ -628,7 +628,9 @@ const handleEdit = (code: PromoCode) => { editForm.bonus_amount = code.bonus_amount editForm.max_uses = code.max_uses editForm.status = code.status - editForm.expires_at_str = code.expires_at ? new Date(code.expires_at).toISOString().slice(0, 16) : '' + editForm.expires_at_str = code.expires_at + ? formatDateTimeLocalInput(Math.floor(new Date(code.expires_at).getTime() / 1000)) + : '' editForm.notes = code.notes || '' showEditDialog.value = true }