'use client' import React, {useEffect, useState} from 'react'; import {AUTH_TOKEN_KEY} from '../../constants/common'; import {getChatList, getChatMessages} from "../../actions/chat/groups"; import {useLocalStorage} from "../../hooks/useLocalStorage"; import { Link } from "../../i18n/routing"; import dayjs from "dayjs"; import relativeTime from "dayjs/plugin/relativeTime"; import {message} from "antd"; import {Loader} from "../view/Loader"; dayjs.extend(relativeTime); type CompProps = { locale: string; }; export const ChatList = ({ locale }: CompProps) => { const [jwt] = useLocalStorage(AUTH_TOKEN_KEY, ''); const [chats, setСhats] = useState(); const [loading, setLoading] = useState(false); useEffect(() => { if (jwt) { setLoading(true); Promise.all([ getChatList(locale, jwt), ]) .then(([_groups]) => { setСhats(_groups) }) .catch((e) => { console.log(e) message.error('Не удалось загрузить данные'); }) .finally(() => { setLoading(false); }) } },[jwt]) return (
{chats?.directs.map((item: any, i: number) => (
{item.firstName} {item.newMessagesCount && ( {item.newMessagesCount} )}
{item?.lastMessage?.text}
{dayjs(item?.lastMessage?.sentAt).fromNow()}
))}
) }