'use client';
import React, { useState } from 'react';
import { motion } from 'framer-motion';
import { 
  Layout, 
  Typography, 
  Card, 
  Row, 
  Col, 
  Table, 
  Descriptions, 
  Tabs, 
  Tag, 
  Space, 
  Button, 
  Input, 
  Progress,
  Statistic,
  Alert,
  Collapse,
  Badge
} from 'antd';
import {
  ServerIcon,
  ShieldIcon,
  CloudIcon,
  CodeIcon,
  DownloadIcon,
  BarChart3Icon,
  CheckCircleIcon
} from 'lucide-react';
import Header from '@/components/layout/Header';
import Footer from '@/components/layout/Footer';
import {
  performanceMetrics,
  systemRequirements,
  apiEndpoints,
  deploymentOptions,
  versionCompatibility,
  enterpriseFeatures,
  performanceStatistics,
  downloadableResources,
  installationGuides,
  sdkSupport,
  authenticationMethods,
  monitoringFeatures,
  securityFeatures
} from '@/utils/technical-specs-data';
const { Content } = Layout;
const { Title, Paragraph, Text } = Typography;
const { Search } = Input;
const { Panel } = Collapse;
// Animation variants
const fadeInUp = {
  hidden: { opacity: 0, y: 30 },
  visible: { 
    opacity: 1, 
    y: 0,
    transition: { duration: 0.6, ease: 'easeOut' }
  }
};
const stagger = {
  visible: {
    transition: {
      staggerChildren: 0.1
    }
  }
};
// Performance columns
const performanceColumns = [
  {
    title: 'Metric',
    dataIndex: 'metric',
    key: 'metric',
    render: (text: string, record: any) => (
      
        {record.icon}
        {text} 
       
    ),
  },
  {
    title: 'Value',
    dataIndex: 'value',
    key: 'value',
    render: (text: string) => {text} ,
  },
  {
    title: 'Component',
    dataIndex: 'component',
    key: 'component',
  },
  {
    title: 'Status',
    dataIndex: 'status',
    key: 'status',
    render: (status: string) => {
      return 
        {record.icon}
        {text} 
       
    ),
  },
  {
    title: 'Minimum',
    dataIndex: 'minimum',
    key: 'minimum',
  },
  {
    title: 'Recommended',
    dataIndex: 'recommended',
    key: 'recommended',
    render: (text: string) => {text} ,
  },
  {
    title: 'Enterprise',
    dataIndex: 'enterprise',
    key: 'enterprise',
    render: (text: string) => {text} ,
  },
];
// API endpoints columns
const apiColumns = [
  {
    title: 'Method',
    dataIndex: 'method',
    key: 'method',
    render: (method: string) => {
      const color = 
        method === 'POST' ? 'green' :
        method === 'GET' ? 'blue' :
        method === 'WS' ? 'purple' : 'default';
      return {method} ;
    },
  },
  {
    title: 'Endpoint',
    dataIndex: 'endpoint',
    key: 'endpoint',
    render: (text: string) => {text} ,
  },
  {
    title: 'Description',
    dataIndex: 'description',
    key: 'description',
  },
  {
    title: 'Authentication',
    dataIndex: 'authentication',
    key: 'authentication',
  },
  {
    title: 'Rate Limit',
    dataIndex: 'rateLimit',
    key: 'rateLimit',
  },
];
export default function TechnicalSpecsPage() {
  const [searchTerm, setSearchTerm] = useState('');
  const [activeTab, setActiveTab] = useState('performance');
  const tabItems = [
    {
      key: 'performance',
      label: (
        
           
      ),
      children: (
        
          
            {performanceStatistics.map((stat, index) => (
              
                   
              
            ))}
          
          
          
            Scalability Architecture 
            
              
                  CHORUS Services employs a microservices architecture with automatic horizontal 
                  scaling capabilities. Each component can scale independently based on demand, 
                  ensuring optimal resource utilization and consistent performance under varying loads.
                 
              
            
           
         
      ),
    },
    {
      key: 'requirements',
      label: (
        
           
      ),
      children: (
        
          
            
                
                  {monitoringFeatures.map((feature, index) => (
                    
                      {feature.name} 
                      {feature.icon}
                    
                  ))}
                 
               
            
            
                
                  {securityFeatures.map((feature, index) => (
                    
                      {feature.name} 
                      {feature.icon}
                    
                  ))}
                 
               
            
          
         
      ),
    },
    {
      key: 'api',
      label: (
        
           
      ),
      children: (
        
          
            
                
                  {authenticationMethods.map((method, index) => (
                    
                      
                        {method.example} 
                        
                          {method.description}
                         
                       
                     
                  ))}
                 
               
            
            
                
                  {sdkSupport.map((sdk, index) => (
                    
                      {sdk.language} 
                      {sdk.status} 
                    
                  ))}
                
 
            
          
          
            
              
{`curl -X POST https://api.chorus.services/v1/whoosh/workflow \\
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \\
  -H "Content-Type: application/json" \\
  -d '{
    "workflow_id": "example-workflow",
    "parameters": {
      "target": "production",
      "agents": ["bzzz-1", "bzzz-2"],
      "context": "semantic-search-enabled"
    }
  }'`}
               
             
           
         
      ),
    },
    {
      key: 'enterprise',
      label: (
        
           
      ),
      children: (
        
          
            {enterpriseFeatures.map((feature, index) => (
              
                  
                    {feature.features.map((item, itemIndex) => (
                      
                        {feature.icon} 
                        {item} 
                      
                    ))}
                  
 
              
            ))}
          
          
            
              
                  24/7 Premium Support 
                  < 1 hour (Critical) 
                  Yes 
                  Included 
                  Available 
                 
              
              
                  Included Services 
                  
                    
                      Architecture review and optimization 
                     
                    
                      Custom integration development 
                     
                    
                      Performance tuning and monitoring 
                     
                    
                      Security audits and recommendations 
                     
                   
                 
              
            
           
         
      ),
    },
    {
      key: 'deployment',
      label: (
        
           
      ),
      children: (
        
          
            {deploymentOptions.map((option) => (
              
                  
                    
                      Platforms: 
                      
                        {option.platforms.map((platform) => (
                          {platform} 
                        ))}
                      
                     
                    
                      Key Features: 
                      
                        {option.features.map((feature, idx) => (
                          
                            {feature} 
                           
                        ))}
                       
                     
                    
                      
                        Complexity:  
                        
                          {option.complexity}
                         
                      
                      
                        Cost:  
                        {option.cost} 
                      
                     
                   
                 
              
            ))}
          
          
            
              {installationGuides.map((guide, index) => (
                {guide.description} 
                
              ))}
            
           
          
            
              
                
                  
                    CHORUS Version 
                    Kubernetes 
                    Docker 
                    PostgreSQL 
                    Redis 
                    Node.js 
                   
                 
                
                  {versionCompatibility.map((version, index) => (
                    
                      {version.chorusVersion} 
                      {version.kubernetes} 
                      {version.docker} 
                      {version.postgresql} 
                      {version.redis} 
                      {version.nodejs} 
                     
                  ))}
                 
              
             
           
         
      ),
    },
  ];
  return (
    <>
      
      
        
          {/* Hero Section */}
          
            
              
                
                  Technical Specifications
                 
                
                  Comprehensive technical documentation for enterprise decision makers, 
                  system architects, and development teams implementing CHORUS Services.
                 
                
                
                   setSearchTerm(e.target.value)}
                    className="glass-search"
                  />
                 
               
             
           
          {/* Main Content */}
          
          {/* Download Resources Section */}
          
            
              
                
                  Additional Resources
                 
                
                  {downloadableResources.map((resource, index) => (
                    
                        
                          {resource.icon}
                        
                        {resource.title} 
                        
                          {resource.description}
                         
                        
                          {resource.buttonText}
                         
                       
                    
                  ))}
                
               
             
           
         
       
      
    >
  );
}