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' type DialogProps = { online?: boolean message?: string counter?: number title?: string ownId: number members: ChatMember[] onClick?: () => void isChatHeader?: boolean lastUpdate?: number isOpened?: boolean } const DialogCard = (props: DialogProps) => { const companions = createMemo( () => props.members && props.members.filter((member) => member.id !== props.ownId) ) const names = createMemo(() => companions() ?.map((companion) => companion.name) .join(', ') ) return (
}> = 3}>
{props.title}
{props.message} 1}>{names()}
{formattedTime(props.lastUpdate)}
0}>
{props.counter}
) } export default DialogCard