import React from 'react'; import Link from 'next/link'; interface PolicyData { title: string; slug: string; fileName: string; originalLink?: string; releaseDate: string; } interface AIPoliciesTableProps { policies: PolicyData[]; } const AIPoliciesTable: React.FC = ({ policies }) => { const groupedPolicies: { [slug: string]: PolicyData[] } = {}; policies.forEach((policy) => { if (!groupedPolicies[policy.slug]) { groupedPolicies[policy.slug] = []; } groupedPolicies[policy.slug].push(policy); }); // Sort the policies within each group based on releaseDate in descending order Object.values(groupedPolicies).forEach((group) => { group.sort((a, b) => new Date(b.releaseDate).getTime() - new Date(a.releaseDate).getTime()); }); return (
{/*

AI Policies from the Chinese government

*/}
{Object.entries(groupedPolicies).map(([slug, policies], index) => { const zhPolicy = policies.find((policy) => policy.fileName === 'zh.md'); const enPolicy = policies.find((policy) => policy.fileName === 'en.md'); return ( ); })}
{zhPolicy?.title}
{enPolicy?.title}
{zhPolicy?.releaseDate}
{policies.map((policy) => ( policy.originalLink ? ( {policy.fileName === 'zh.md' ? '中文' : 'English'} ) : ( {policy.fileName === 'zh.md' ? '中文' : 'English'} ) ))}
); }; export default AIPoliciesTable;