pidrio / components /Header.tsx
Raiff1982's picture
Upload 12 files
e2ce418 verified
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;