diff --git a/src/app/[name]/chat/[id]/page.tsx b/src/app/[name]/chat/[id]/page.tsx index 3a2f6e2..55b9af9 100644 --- a/src/app/[name]/chat/[id]/page.tsx +++ b/src/app/[name]/chat/[id]/page.tsx @@ -1,107 +1,109 @@ 'use client'; +import { ef } from '@/lib/helpers/utfNumbers'; import { EmojiHappy, Microphone2, Paperclip2 } from 'iconsax-react'; -import React from '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) => { - console.log(formData.get('textMessage')) + 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} +

    - - 10:07 | 1403/09/30 - -
    -
  • + + {ef(`${v.time} | ${v.date}`)} + +
    +
  • + ) + } + else { + return ( +
  • +
    +
    + {v.senderName} +
    +

    + {v.content} +

    -
  • -
    -
    - سیما فرهادی -
    -

    - لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ، و با استفاده از طراحان گرافیک است، -

    - - - 10:07 | 1403/09/30 - -
    -
  • - -
  • -
    -

    - لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ، و با استفاده از طراحان گرافیک است، چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است -

    - - - 10:07 | 1403/09/30 - -
    -
  • - -
  • -
    -
    - سیما فرهادی -
    -

    - لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ، و با استفاده از طراحان گرافیک است، -

    - - - 10:07 | 1403/09/30 - -
    -
  • - -
  • -
    -

    - لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ، و با استفاده از طراحان گرافیک است، چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است -

    - - - 10:07 | 1403/09/30 - -
    -
  • - -
  • -
    -
    - سیما فرهادی -
    -

    - لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ، و با استفاده از طراحان گرافیک است، -

    - - - 10:07 | 1403/09/30 - -
    -
  • + + {ef(`${v.time} | ${v.date}`)} + +
    +
  • + ) + } + })}
-
+