blob: e4f87c06b08d993ae6eee39105248c916952f577 [file] [log] [blame]
import { useApi } from '@/hooks/request';
import React, { useCallback } from 'react';
import request from '@/utils/request'
import style from './postsPanel.module.css'
interface panelProps{
name:string,
url:string,
limit:number
}
const PostsPanel:React.FC<panelProps> = (props) => {
const fenchData = useCallback(() => request.get(props.url), [props.url])
const {data} = useApi(fenchData, true);
return (
<div className={style.panel}>
<div className={style.header}>
<span className={style.title}>{props.name}</span>
<span className={style.more}>更多</span>
</div>
<div className={style.content}>
{data && data.length > 0 ?
data?.map((item: { title: string; date: string }, index: number) => (
<div key={index} className={style.item}>
<span className={style.text}>{item.title}</span>
<span>{item.date}</span>
</div>
)) :(
<div>未查询到相关记录</div>
)}
</div>
</div>
)
}
export default PostsPanel;