blob: e4f87c06b08d993ae6eee39105248c916952f577 [file] [log] [blame]
San3yuan03ab0642025-04-29 18:00:25 +08001import { useApi } from '@/hooks/request';
2import React, { useCallback } from 'react';
3import request from '@/utils/request'
4import style from './postsPanel.module.css'
5
6
7interface panelProps{
8 name:string,
9 url:string,
10 limit:number
11}
12
13const PostsPanel:React.FC<panelProps> = (props) => {
14 const fenchData = useCallback(() => request.get(props.url), [props.url])
15 const {data} = useApi(fenchData, true);
16
17
18
19 return (
20 <div className={style.panel}>
21 <div className={style.header}>
22 <span className={style.title}>{props.name}</span>
23 <span className={style.more}>更多</span>
24 </div>
25 <div className={style.content}>
26 {data && data.length > 0 ?
27 data?.map((item: { title: string; date: string }, index: number) => (
28 <div key={index} className={style.item}>
29 <span className={style.text}>{item.title}</span>
30 <span>{item.date}</span>
31 </div>
32 )) :(
33 <div>未查询到相关记录</div>
34 )}
35 </div>
36 </div>
37 )
38}
39
40export default PostsPanel;