// SPDX-License-Identifier: AGPL-3.0-or-later import styles from '@app/features/channel/components/TimestampWithTooltip.module.css'; import MobileLayout from '@app/features/ui/state/MobileLayout'; import {Tooltip} from '@app/features/ui/tooltip/Tooltip'; import * as DateUtils from '@app/features/user/utils/DateFormatting'; import {clsx} from 'clsx'; import {observer} from 'mobx-react-lite'; import type React from 'react'; interface TimestampWithTooltipProps { date: Date; children: React.ReactNode; className?: string; containerRef?: React.Ref; copyHidden?: boolean; } const renderTimeElement = (date: Date, formattedDateTime: string, content: React.ReactNode) => ( ); export const TimestampWithTooltip = observer( ({date, children, className, containerRef, copyHidden}: TimestampWithTooltipProps) => { const isMobileLayout = MobileLayout.isEnabled(); const formattedDateTime = DateUtils.getFormattedDateTimeWithSeconds(date); const decoratedChildren = ( <> {children} ); const timeElement = renderTimeElement(date, formattedDateTime, decoratedChildren); return ( {isMobileLayout ? ( timeElement ) : ( {timeElement} )} ); }, );