'use client'; import { useState } from 'react'; import { MapPin, ChevronDown, ChevronUp, Calendar } from 'lucide-react'; // 1. 引入 Hook import { useLanguage } from '@/lib/i18n/LanguageContext'; import { CardData } from '@/types/card'; const getImageUrl = (fidString: string | null) => { if (!fidString) return null; const firstFid = fidString.split(' ')[0]; return `/api/resource/download_file?fid=${firstFid}`; }; export default function KnowledgeCard({ data }: { data: CardData }) { // 2. 获取翻译函数和当前语言 const { t, lang } = useLanguage(); const [expanded, setExpanded] = useState(false); const imageUrl = getImageUrl(data.image); // 3. 根据语言格式化日期 const formattedDate = new Date(data.created_at).toLocaleDateString( lang === 'zh' ? 'zh-CN' : 'en-US', { year: 'numeric', month: 'short', day: 'numeric' } ); return (
{/* 图片区域 */} {imageUrl && (
{data.title}
{data.country} {data.label && ( {data.label} )}
)}
{/* 标题 */}

{data.title}

{/* 内容预览 (HTML) */}
{/* 底部信息 & 展开按钮 */}
{formattedDate}
); }