File size: 2,366 Bytes
a9dc537 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
'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>
);
}
|