From 6ccefaebe1f472b2cf2194d9ee259e36a64c0a23 Mon Sep 17 00:00:00 2001 From: Lim Chee Aun Date: Thu, 18 Apr 2024 23:11:18 +0800 Subject: [PATCH] Handle invalid date Ugly solution for now, but it's already ugly --- src/components/relative-time.jsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/components/relative-time.jsx b/src/components/relative-time.jsx index 3958c71..6801c5d 100644 --- a/src/components/relative-time.jsx +++ b/src/components/relative-time.jsx @@ -21,6 +21,7 @@ export default function RelativeTime({ datetime, format }) { const [renderCount, rerender] = useReducer((x) => x + 1, 0); const date = useMemo(() => dayjs(datetime), [datetime]); const [dateStr, dt, title] = useMemo(() => { + if (!date.isValid()) return ['' + datetime, '', '']; let str; if (format === 'micro') { // If date <= 1 day ago or day is within this year @@ -37,6 +38,7 @@ export default function RelativeTime({ datetime, format }) { }, [date, format, renderCount]); useEffect(() => { + if (!date.isValid()) return; let timeout; let raf; function rafRerender() {