| 'use client'; | |
| import Link from 'next/link'; | |
| import { usePathname } from 'next/navigation'; | |
| import { Button } from '@/components/ui/button'; | |
| import { Sparkles, Upload, FileText, BarChart3 } from 'lucide-react'; | |
| import { cn } from '@/lib/utils'; | |
| export function Navigation() { | |
| const pathname = usePathname(); | |
| const navItems = [ | |
| { href: '/', label: 'Home', icon: Sparkles }, | |
| { href: '/upload', label: 'Upload', icon: Upload }, | |
| ]; | |
| return ( | |
| <nav className="sticky top-0 z-50 w-full border-b bg-white/80 backdrop-blur-lg"> | |
| <div className="container mx-auto px-4 py-4"> | |
| <div className="flex items-center justify-between"> | |
| {/* Logo */} | |
| <Link href="/" className="flex items-center space-x-2"> | |
| <div className="flex h-10 w-10 items-center justify-center rounded-xl bg-gradient-to-br from-blue-600 to-purple-600"> | |
| <Sparkles className="h-6 w-6 text-white" /> | |
| </div> | |
| <span className="text-2xl font-bold bg-gradient-to-r from-blue-600 to-purple-600 bg-clip-text text-transparent"> | |
| SPARKNET | |
| </span> | |
| </Link> | |
| {/* Navigation Links */} | |
| <div className="hidden md:flex items-center space-x-6"> | |
| {navItems.map((item) => { | |
| const Icon = item.icon; | |
| const isActive = pathname === item.href; | |
| return ( | |
| <Link | |
| key={item.href} | |
| href={item.href} | |
| className={cn( | |
| 'flex items-center space-x-2 px-4 py-2 rounded-lg transition-colors', | |
| isActive | |
| ? 'bg-blue-50 text-blue-600 font-medium' | |
| : 'text-gray-600 hover:text-blue-600 hover:bg-gray-50' | |
| )} | |
| > | |
| <Icon className="h-4 w-4" /> | |
| <span>{item.label}</span> | |
| </Link> | |
| ); | |
| })} | |
| </div> | |
| {/* CTA Button */} | |
| <Button | |
| asChild | |
| className="bg-gradient-to-r from-blue-600 to-purple-600 hover:from-blue-700 hover:to-purple-700" | |
| > | |
| <Link href="/upload"> | |
| <Upload className="mr-2 h-4 w-4" /> | |
| Analyze Patent | |
| </Link> | |
| </Button> | |
| </div> | |
| </div> | |
| </nav> | |
| ); | |
| } | |