import React from 'react';
import { mockNewsData } from './NewsData'; // 导入新闻数据
import { mockNewsTitleData } from './NewsData'; // 导入新闻标题数据


interface NewsProps {
  title?: string;
  description?: string;
  time?: string;
  type?: string;
  url?: string;
}

interface NewsTitle {
  id: string;
  name: string;
}
const NewsItem: React.FC<NewsProps> = ({ title = '', time = '', url = '' }) => {
  return (
    <div className="mb-4">
      <div
        onClick={() => url && window.open(url)}
        className="flex items-center justify-between hover:text-blue-600 cursor-pointer transition duration-300 ease-in-out"
      >
        <h3 className="text-lg font-semibold text-gray-800">{title}</h3>
        <p className="text-sm text-gray-500">{time}</p>
      </div>
    </div>
  );
};

// 使用新闻数据渲染列表
const NewsList: React.FC = () => {
  return (
    <div className="bg-gray-100 p-6 rounded-lg shadow-md">
      <div className="grid grid-cols-1 md:grid-cols-2 gap-8">
        {/* 科技新闻 */}
        <div className="bg-white p-6 rounded-lg shadow-sm">
          <div className="flex items-center justify-between mb-4">
            <p className="text-xl font-bold text-gray-900">科技新闻</p>
            <button className="bg-blue-500 hover:bg-blue-600 text-white px-4 py-2 rounded-md transition duration-300 ease-in-out">
              更多科技新闻
            </button>
          </div>
          <ul className="space-y-4">
            {mockNewsData.map((news) => (
              <NewsItem  title={news.title} time={news.time} url={news.url} />
            ))}
          </ul>
        </div>

        {/* 社会新闻 */}
        <div className="bg-white p-6 rounded-lg shadow-sm">
          <div className="flex items-center justify-between mb-4">
            <p className="text-xl font-bold text-gray-900">社会新闻</p>
            <button className="bg-green-500 hover:bg-green-600 text-white px-4 py-2 rounded-md transition duration-300 ease-in-out">
              更多社会新闻
            </button>
          </div>
          <ul className="space-y-4">
            {mockNewsData.map((news, index) => (
              <NewsItem key={index} title={news.title} time={news.time} url={news.url} />
            ))}
          </ul>
        </div>
      </div>
    </div>
  );
};

export default NewsList;