import { Show, Switch, Match, createMemo } from 'solid-js' import DialogAvatar from './DialogAvatar' import type { ChatMember } from '../../graphql/types.gen' import GroupDialogAvatar from './GroupDialogAvatar' import formattedTime from '../../utils/formatDateTime' import { clsx } from 'clsx' import styles from './DialogCard.module.scss' import { useLocalize } from '../../context/localize' type DialogProps = { online?: boolean message?: string counter?: number ownId: number members: ChatMember[] onClick?: () => void isChatHeader?: boolean lastUpdate?: number isOpened?: boolean } const DialogCard = (props: DialogProps) => { const { t } = useLocalize() const companions = createMemo( () => props.members && props.members.filter((member) => member.id !== props.ownId) ) const names = createMemo(() => companions() ?.map((companion) => companion.name) .join(', ') ) return (
}> = 3}>
{companions()?.length > 1 ? t('Group Chat') : companions()[0]?.name}
{props.message} 1}>{names()}
{formattedTime(props.lastUpdate * 1000)}
0}>
{props.counter}
) } export default DialogCard