import React from 'react'; import { List, Avatar, Typography, Button, Space, Result, Tag, } from '@arco-design/web-react'; import useLocale from '../../utils/useLocale'; import styles from './style/index.module.less'; export interface MessageItemData { id: string; title: string; subTitle?: string; avatar?: string; content: string; time?: string; status: number; tag?: { text?: string; color?: string; }; } export type MessageListType = MessageItemData[]; interface MessageListProps { data: MessageItemData[]; unReadData: MessageItemData[]; onItemClick?: (item: MessageItemData, index: number) => void; onAllBtnClick?: ( unReadData: MessageItemData[], data: MessageItemData[] ) => void; } function MessageList(props: MessageListProps) { const t = useLocale(); const { data, unReadData } = props; function onItemClick(item: MessageItemData, index: number) { if (item.status) return; props.onItemClick && props.onItemClick(item, index); } function onAllBtnClick() { props.onAllBtnClick && props.onAllBtnClick(unReadData, data); } return ( } footer={
} > {data.map((item, index) => (
{ onItemClick(item, index); }} > ) } title={
{item.title} {item.subTitle} {item.tag && item.tag.text ? ( {item.tag.text} ) : null}
} description={
{item.content} {item.time}
} />
))}
); } export default MessageList;