import React from 'react'; import { ConfigProvider } from 'antd'; // eslint-disable-next-line import/no-unresolved import classNames from 'classnames'; import '../styles/common.less'; import './index.less'; import { getMessageTypeIcon } from '../../utils'; const Unknown = ({ message, confirmRead, handlerUnknowDetail }) => { const { getPrefixCls } = React.useContext(ConfigProvider.ConfigContext); const prefixCls = getPrefixCls(); let content = ''; let noticeTitle = ''; const { infoContent } = message; try { const type = typeof message.infoContent; switch (type) { case 'object': noticeTitle = message.title || infoContent.title || ''; content = infoContent.content || message.defaultContent || JSON.stringify(message.infoContent); break; default: noticeTitle = message.title || ''; content = message.defaultContent || message.infoContent; break; } } catch (e) { // i } const goPath = item => { handlerUnknowDetail && handlerUnknowDetail(message); confirmRead(false, [message.id]); }; return ( <div className={classNames(`${prefixCls}-notifier-message_unknown`, `${prefixCls}-notifier-message-container`)} title="点击查看详情" onClick={() => goPath(message)} style={{ backgroundImage: `url(${getMessageTypeIcon(message)})` }} > <div className={`${prefixCls}-notifier-message-title`}> <span>{noticeTitle}</span> <img className={`${prefixCls}-notifier-message-confirm`} title="点击标为已读" onClick={e => { e.stopPropagation(); confirmRead(false, [message.id]); }} // eslint-disable-next-line global-require src={require('../../images/oper/ok_line.png')} alt="" /> </div> <div className={`${prefixCls}-notifier-message-content`}> <p>{content}</p> </div> <div className={`${prefixCls}-notifier-message-time`}>{message.time}</div> </div> ); }; export default Unknown;