Improve date module am/pm

This commit is contained in:
ajnart
2022-05-18 22:50:53 +02:00
parent 331c55240b
commit c8e1295a4b

View File

@@ -23,7 +23,11 @@ export default function DateComponent(props: any) {
const { config } = useConfig();
const hours = date.getHours();
const minutes = date.getMinutes();
const fullSetting = config.settings[`${DateModule.title}.full`];
const isFullTime =
config.settings[`${DateModule.title}.full`] === undefined
? true
: config.settings[`${DateModule.title}.full`];
const formatString = isFullTime ? 'HH:mm' : 'h:mm a';
// Change date on minute change
// Note: Using 10 000ms instead of 1000ms to chill a little :)
useEffect(() => {
@@ -32,16 +36,9 @@ export default function DateComponent(props: any) {
}, 1000 * 60);
}, []);
const timeString = `${hours < 10 ? `0${hours}` : hours}:${
minutes < 10 ? `0${minutes}` : minutes
}`;
const halfTimeString = `${hours < 10 ? `${hours % 12}` : hours % 12}:${
minutes < 10 ? `0${minutes}` : minutes
} ${hours < 12 ? 'AM' : 'PM'}`;
const finalTimeString = fullSetting ? timeString : halfTimeString;
return (
<Group p="sm" direction="column">
<Title>{finalTimeString}</Title>
<Title>{dayjs(date).format(formatString)}</Title>
<Text size="xl">{dayjs(date).format('dddd, MMMM D')}</Text>
</Group>
);