import { useState } from 'react';
import { Plus, RefreshCw } from 'lucide-react';

interface MCPService {
  id: string;
  name: string;
  enabled: boolean;
}

export function MCPServices() {
  const [services, setServices] = useState<MCPService[]>([
    { id: 'filesystem', name: 'File System', enabled: true },
    { id: 'webfetch', name: 'Web Fetch', enabled: true },
  ]);

  const toggleService = (id: string) => {
    setServices(prev => prev.map(s => s.id === id ? { ...s, enabled: !s.enabled } : s));
  };


  return (
    <div>
      <div className="flex justify-between items-center mb-2">
        <h1 className="text-2xl font-bold text-gray-900">MCP 服务</h1>
        <div className="flex gap-2">
          <button className="text-sm border border-gray-300 rounded-lg px-3 py-1.5 hover:bg-gray-50 flex items-center gap-1">
            <RefreshCw className="w-3.5 h-3.5" /> 刷新
          </button>
          <button className="text-sm bg-orange-500 text-white rounded-lg px-3 py-1.5 hover:bg-orange-600 flex items-center gap-1">
            <Plus className="w-3.5 h-3.5" /> 添加服务
          </button>
        </div>
      </div>
      <p className="text-sm text-gray-500 mb-6">MCP（模型上下文协议）服务为 Agent 扩展外部工具：文件系统、数据库、网页搜索等。</p>

      <div className="bg-gray-50 rounded-xl divide-y divide-gray-200">
        {services.map((svc) => (
          <div key={svc.id} className="flex items-center justify-between px-5 py-4">
            <div className="flex items-center gap-3">
              <span className="text-gray-400">⇄</span>
              <span className="text-sm text-gray-900">{svc.name}</span>
            </div>
            <div className="flex items-center gap-3">
              <button onClick={() => toggleService(svc.id)} className="text-xs text-gray-500 border border-gray-300 rounded px-2 py-1 hover:bg-gray-100">
                {svc.enabled ? '停用' : '启用'}
              </button>
              <button className="text-xs text-gray-500 border border-gray-300 rounded px-2 py-1 hover:bg-gray-100">设置</button>
              <button className="text-xs text-gray-500 border border-gray-300 rounded px-2 py-1 hover:bg-gray-100">删除</button>
            </div>
          </div>
        ))}
      </div>

      <div className="mt-6">
        <h2 className="text-sm font-medium text-gray-700 mb-3">快速添加模版</h2>
        <p className="text-xs text-gray-400 mb-3">一键添加常用 MCP 服务</p>
        <div className="flex gap-2">
          <button className="text-sm bg-orange-500 text-white rounded-lg px-4 py-1.5 hover:bg-orange-600">+ Brave Search</button>
          <button className="text-sm bg-orange-500 text-white rounded-lg px-4 py-1.5 hover:bg-orange-600">+ SQLite</button>
        </div>
      </div>
    </div>
  );
}
