'use client' import { ef } from '@/lib/helpers/utfNumbers' import { EmojiHappy, Microphone2, Paperclip2 } from 'iconsax-react' import React, { useMemo, useState } from 'react' import { useTranslation } from 'react-i18next' import { glassSurfaceCard } from '@/lib/styles/glassSurface' type Props = object type MessageModel = { type: 'sender' | 'receiver' senderName: string content: string date: string time: string } function ChatIndex ({}: Props) { const { t } = useTranslation('chat') const [messages, setMessages] = useState>([ { type: 'sender', senderName: 'علی مصلحی', content: 'لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ، و با استفاده از طراحان گرافیک است، چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است', date: '1403/09/30', time: '10:07' }, { type: 'receiver', senderName: 'سیما فرهادی', content: 'لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ، و با استفاده از طراحان گرافیک است، چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است', date: '1403/09/30', time: '10:07' } ]) const addMessageOutgoing = (model: MessageModel) => { setMessages(previous => { return [...previous, model] }) } const submitMessage = (e: React.FormEvent) => { e.preventDefault() const formData = new FormData(e.currentTarget) const content = formData.get('textMessage') if (!content) return const model: MessageModel = { type: 'sender', senderName: 'علی مصلحی', content: String(content), date: '1403/09/30', time: '10:07' } addMessageOutgoing(model) } const messagesMemo = useMemo(() => messages, [messages]) return (

علی مصلحی

    {messagesMemo.map((v, i) => { if (v.type === 'sender') { return (
  • {v.content}

    {ef(`${v.time} | ${v.date}`)}
  • ) } else { return (
  • {v.senderName}

    {v.content}

    {ef(`${v.time} | ${v.date}`)}
  • ) } })}
) } export default ChatIndex