From becd5d5e82de20e5b0334b9b761d84bd521bdb41 Mon Sep 17 00:00:00 2001 From: Tom Butcher Date: Fri, 4 Sep 2026 02:33:24 +0100 Subject: [PATCH] Enhance TimeDisplay Component with User Settings Integration - Integrated user settings context to dynamically adjust date and time formats in the TimeDisplay component, improving customization based on user preferences. - Refactored date formatting logic to utilize user-defined formats, ensuring accurate display of date and time based on user settings. - Improved overall readability and maintainability of the component by streamlining the formatting logic. --- .../Dashboard/common/TimeDisplay.jsx | 29 +++++++++++++------ 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/src/components/Dashboard/common/TimeDisplay.jsx b/src/components/Dashboard/common/TimeDisplay.jsx index fd461b57..6aa3189c 100644 --- a/src/components/Dashboard/common/TimeDisplay.jsx +++ b/src/components/Dashboard/common/TimeDisplay.jsx @@ -1,8 +1,12 @@ -// PrinterSelect.js -import { useState, useEffect } from 'react' +import { useContext, useState, useEffect } from 'react' import PropTypes from 'prop-types' import { Flex, Typography, Tag } from 'antd' import dayjs from 'dayjs' +import { ApiServerContext } from '../context/ApiServerContext' +import { + DEFAULT_DATE_TIME_FORMAT, + splitDateTimeFormat +} from '../../../database/Settings' const { Text } = Typography @@ -80,7 +84,11 @@ const TimeDisplay = ({ showSince = false, type = 'primary' }) => { + const { userSettings } = useContext(ApiServerContext) || {} const [timeAgo, setTimeAgo] = useState(formatTimeDifference(dateTime)) + const dateTimeFormat = + userSettings?.appearance?.dateTimeFormat || DEFAULT_DATE_TIME_FORMAT + const { dateFormat, timeFormat } = splitDateTimeFormat(dateTimeFormat) useEffect(() => { if (showSince) { @@ -96,15 +104,18 @@ const TimeDisplay = ({ return n/a } - var dateFormat = '' - if (showDate == true) { - dateFormat += 'YYYY-MM-DD ' - } - if (showTime == true) { - dateFormat += 'HH:mm:ss ' + let displayFormat = '' + if (showDate && showTime) { + displayFormat = dateTimeFormat + } else if (showDate) { + displayFormat = dateFormat + } else if (showTime) { + displayFormat = timeFormat } - const formattedDate = dayjs(dateTime).format(dateFormat) + const formattedDate = displayFormat + ? dayjs(dateTime).format(displayFormat) + : '' return (