'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'; 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 = async (formData: FormData) => { 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