@@ -361,33 +361,35 @@ function formatDateTimeAccurate(
361361type RelativeDateTimeProps = {
362362 date : Date | string ;
363363 timeZone ?: string ;
364+ capitalize ?: boolean ;
364365} ;
365366
366- function getRelativeText ( date : Date ) : string {
367+ function getRelativeText ( date : Date , capitalize = true ) : string {
367368 const text = formatDistanceToNow ( date , { addSuffix : true } ) ;
369+ if ( ! capitalize ) return text ;
368370 return text . charAt ( 0 ) . toUpperCase ( ) + text . slice ( 1 ) ;
369371}
370372
371- export const RelativeDateTime = ( { date, timeZone } : RelativeDateTimeProps ) => {
373+ export const RelativeDateTime = ( { date, timeZone, capitalize = true } : RelativeDateTimeProps ) => {
372374 const locales = useLocales ( ) ;
373375 const userTimeZone = useUserTimeZone ( ) ;
374376
375377 const realDate = useMemo ( ( ) => ( typeof date === "string" ? new Date ( date ) : date ) , [ date ] ) ;
376378
377- const [ relativeText , setRelativeText ] = useState ( ( ) => getRelativeText ( realDate ) ) ;
379+ const [ relativeText , setRelativeText ] = useState ( ( ) => getRelativeText ( realDate , capitalize ) ) ;
378380
379381 // Every 60s refresh
380382 useEffect ( ( ) => {
381383 const interval = setInterval ( ( ) => {
382- setRelativeText ( getRelativeText ( realDate ) ) ;
384+ setRelativeText ( getRelativeText ( realDate , capitalize ) ) ;
383385 } , 60_000 ) ;
384386 return ( ) => clearInterval ( interval ) ;
385- } , [ realDate ] ) ;
387+ } , [ realDate , capitalize ] ) ;
386388
387389 // On first render
388390 useEffect ( ( ) => {
389- setRelativeText ( getRelativeText ( realDate ) ) ;
390- } , [ realDate ] ) ;
391+ setRelativeText ( getRelativeText ( realDate , capitalize ) ) ;
392+ } , [ realDate , capitalize ] ) ;
391393
392394 return (
393395 < SimpleTooltip
0 commit comments