import { useNavigate } from 'react-router-dom' import { List, DotLoading } from 'antd-mobile' import { useIfinanceInfo } from '../../lib/ifinance.js' // 外接模块分类列表 (ifinance categories[].items[]) // - 数据来源: info.json (运行时动态拉取), 当前分类由 MacroPage 传入 // - 点击条目 → /macro/finance/:catId/:itemId 打开该条目独立 HTML const KIND_LABEL = { indicator: '指标', strategy: '策略', dashboard: '看板' } export default function FinanceCategoryView({ category }) { const navigate = useNavigate() const { info, loading, error } = useIfinanceInfo() // MacroPage 拿到的 category 可能来自缓存; 若为空则用 hook 里的最新数据兜底 const cat = category || (info?.categories || []).find((c) => c.id === category?.id) const items = cat?.items || [] if (!cat && loading) return
加载中...
if (!cat && error) return
{error}
if (!items.length) return
暂无内容
return (
{items.map((it) => ( {KIND_LABEL[it.kind] || it.kind || ''}} arrowIcon clickable onClick={() => navigate('/macro/finance/' + cat.id + '/' + it.id)} /> ))}
) }