From 8ea486a4f4e09761145e40ab661c3720027489fb Mon Sep 17 00:00:00 2001 From: kayela Date: Tue, 20 Jan 2026 22:51:44 -0600 Subject: [PATCH] feat: enhance date formatting in AdminUserView for improved readability and consistency --- src/pages/admin/AdminUserView.js | 39 +++++++++++++++++++++++++++----- 1 file changed, 33 insertions(+), 6 deletions(-) diff --git a/src/pages/admin/AdminUserView.js b/src/pages/admin/AdminUserView.js index d20c48d..350880a 100644 --- a/src/pages/admin/AdminUserView.js +++ b/src/pages/admin/AdminUserView.js @@ -30,12 +30,39 @@ const AdminUserView = () => { const fileInputRef = useRef(null); const [changeRoleDialogOpen, setChangeRoleDialogOpen] = useState(false); + const formatLocalDateInputValue = (date) => { + const year = date.getFullYear(); + const month = String(date.getMonth() + 1).padStart(2, '0'); + const day = String(date.getDate()).padStart(2, '0'); + return `${year}-${month}-${day}`; + }; + const formatDateInputValue = (value) => { if (!value) return ''; if (typeof value === 'string') { - return value.slice(0, 10); + if (/^\d{4}-\d{2}-\d{2}$/.test(value)) { + return value; + } + const parsed = new Date(value); + if (Number.isNaN(parsed.getTime())) { + return value.slice(0, 10); + } + return formatLocalDateInputValue(parsed); } - return new Date(value).toISOString().slice(0, 10); + const parsed = new Date(value); + if (Number.isNaN(parsed.getTime())) return ''; + return formatLocalDateInputValue(parsed); + }; + + const formatDateDisplayValue = (value) => { + if (!value) return 'N/A'; + if (typeof value === 'string' && /^\d{4}-\d{2}-\d{2}$/.test(value)) { + const [year, month, day] = value.split('-').map(Number); + return new Date(year, month - 1, day).toLocaleDateString(); + } + const parsed = new Date(value); + if (Number.isNaN(parsed.getTime())) return 'N/A'; + return parsed.toLocaleDateString(); }; useEffect(() => { @@ -304,7 +331,7 @@ const AdminUserView = () => {
- Joined {joinedDate ? new Date(joinedDate).toLocaleDateString() : 'N/A'} + Joined {formatDateDisplayValue(joinedDate)}
@@ -401,7 +428,7 @@ const AdminUserView = () => {

- {new Date(user.date_of_birth).toLocaleDateString()} + {formatDateDisplayValue(user.date_of_birth)}

@@ -492,14 +519,14 @@ const AdminUserView = () => {

- {new Date(sub.start_date).toLocaleDateString()} + {formatDateDisplayValue(sub.start_date)}

{sub.end_date && (

- {new Date(sub.end_date).toLocaleDateString()} + {formatDateDisplayValue(sub.end_date)}

)}