Spaces:
Running
Running
import React from 'react'; | |
import { Menu, Moon, Sun, ChevronRight, Brain, Zap } from 'lucide-react'; | |
interface HeaderProps { | |
toggleSidebar: () => void; | |
toggleDarkMode: () => void; | |
darkMode: boolean; | |
aiState: { | |
quantumState: number[]; | |
chaosState: number[]; | |
activePerspectives: string[]; | |
ethicalScore: number; | |
processingPower: number; | |
}; | |
} | |
const Header: React.FC<HeaderProps> = ({ | |
toggleSidebar, | |
toggleDarkMode, | |
darkMode, | |
aiState | |
}) => { | |
return ( | |
<header className={`h-16 flex items-center justify-between px-4 border-b transition-colors duration-300 ${darkMode ? 'bg-gray-800 border-gray-700' : 'bg-white border-gray-200'}`}> | |
<div className="flex items-center"> | |
<button | |
onClick={toggleSidebar} | |
className={`p-2 rounded-md ${darkMode ? 'hover:bg-gray-700' : 'hover:bg-gray-100'}`} | |
> | |
<Menu size={20} /> | |
</button> | |
<div className="ml-4 flex items-center"> | |
<Brain className="text-purple-600" size={24} /> | |
<h1 className="ml-2 text-xl font-bold">Codette AI</h1> | |
<span className={`ml-2 px-2 py-0.5 text-xs rounded-full ${darkMode ? 'bg-purple-900 text-purple-200' : 'bg-purple-100 text-purple-800'}`}> | |
v2.0 | |
</span> | |
</div> | |
</div> | |
<div className="flex items-center space-x-4"> | |
<div className={`hidden md:flex items-center py-1 px-3 rounded-full text-sm ${ | |
darkMode ? 'bg-blue-900 text-blue-200' : 'bg-blue-100 text-blue-800' | |
}`}> | |
<Zap size={14} className="mr-1" /> | |
<span className="font-medium">Quantum State:</span> | |
<span className="ml-1 font-mono"> | |
[{aiState.quantumState.map(v => v.toFixed(1)).join(', ')}] | |
</span> | |
</div> | |
<button | |
onClick={toggleDarkMode} | |
className={`p-2 rounded-md ${darkMode ? 'hover:bg-gray-700' : 'hover:bg-gray-100'}`} | |
> | |
{darkMode ? <Sun size={20} /> : <Moon size={20} />} | |
</button> | |
</div> | |
</header> | |
); | |
}; | |
export default Header; |