| '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> |
| ); |
| } |
|
|