Sai Kumar Taraka
feat: Add enhanced ML model with retrieval-augmented generation
a9127d4
import React, { useState } from "react";
import { Cpu, ChevronDown, ChevronUp, Shield, Download, FileText, CheckCircle, AlertCircle, Loader2 } from "lucide-react";
export default function Header() {
const [showAbout, setShowAbout] = useState(false);
return (
<header className="bg-white border-b border-slate-200 sticky top-0 z-50 shadow-sm">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="flex items-center justify-between h-16">
<div className="flex items-center gap-3">
<div className="w-10 h-10 rounded-xl bg-gradient-to-br from-brand-500 to-brand-700 flex items-center justify-center shadow-lg shadow-brand-500/20">
<Cpu size={22} className="text-white" />
</div>
<div>
<h1 className="text-lg font-bold text-slate-900 leading-tight tracking-tight">
UVM Testbench Generator
</h1>
<p className="text-[11px] text-slate-500 leading-tight">
Professional Verification Pipeline
</p>
</div>
</div>
<div className="flex items-center gap-4">
<div className="hidden md:flex items-center gap-2">
<span className="inline-flex items-center gap-1.5 px-2.5 py-1 rounded-full bg-emerald-50 text-emerald-700 text-[11px] font-medium">
<span className="w-1.5 h-1.5 rounded-full bg-emerald-500 animate-pulse" />
Production Ready
</span>
</div>
<button
onClick={() => setShowAbout(!showAbout)}
className="hidden sm:inline-flex items-center gap-1.5 px-3 py-1.5 rounded-lg text-xs font-medium text-slate-600 hover:text-slate-800 hover:bg-slate-100 transition-colors"
>
<Shield size={14} className="text-brand-500" />
About
{showAbout ? <ChevronUp size={12} /> : <ChevronDown size={12} />}
</button>
</div>
</div>
{showAbout && (
<div className="pb-4 border-t border-slate-100 pt-4 animate-in fade-in slide-in-from-top-2 duration-200">
<div className="grid grid-cols-1 md:grid-cols-3 gap-6">
<div className="space-y-2">
<h3 className="text-xs font-semibold text-slate-400 uppercase tracking-wider">Version</h3>
<p className="text-sm text-slate-700 font-medium">v0.3.0</p>
<p className="text-xs text-slate-500">UVM Testbench Generator with RAL support</p>
</div>
<div className="space-y-2">
<h3 className="text-xs font-semibold text-slate-400 uppercase tracking-wider">Supported Protocols</h3>
<div className="flex flex-wrap gap-1.5">
{["UART", "SPI", "I2C", "AXI4-Lite", "APB", "Wishbone"].map((p) => (
<span key={p} className="px-2 py-0.5 rounded bg-slate-100 text-slate-600 text-xs font-medium">
{p}
</span>
))}
</div>
</div>
<div className="space-y-2">
<h3 className="text-xs font-semibold text-slate-400 uppercase tracking-wider">Developer</h3>
<div className="flex items-center gap-2">
<div className="w-8 h-8 rounded-full bg-gradient-to-br from-brand-500 to-brand-700 flex items-center justify-center text-white text-xs font-bold shadow-md shadow-brand-500/20">
ST
</div>
<div>
<p className="text-sm font-bold text-brand-700 tracking-tight">Sai Kumar Taraka</p>
<p className="text-[11px] text-slate-500">Verification Engineer & Tool Developer</p>
</div>
</div>
</div>
</div>
</div>
)}
</div>
</header>
);
}