'use client';
import { useState } from 'react';
import Link from 'next/link';
import { usePathname } from 'next/navigation';
import {
BarChartIcon,
HomeIcon,
PersonIcon,
ChevronLeftIcon,
ChevronRightIcon
} from '@radix-ui/react-icons';
interface NavItemProps {
href: string;
label: string;
icon: React.ReactNode;
isCollapsed: boolean;
isActive?: boolean;
}
const NavItem = ({ href, label, icon, isCollapsed, isActive }: NavItemProps) => {
return (
{icon}
{!isCollapsed && (
{label}
)}
{isCollapsed && (
{label}
)}
);
};
export function Sidebar() {
const [isCollapsed, setIsCollapsed] = useState(false);
const pathname = usePathname();
const toggleSidebar = () => {
setIsCollapsed(!isCollapsed);
};
const navigation = [
{ name: 'Dashboard', href: '/dashboard', icon: },
{ name: 'Analytics', href: '/analytics', icon: },
{ name: 'Account', href: '/account', icon: },
];
return (
{/* 顶部Logo和标题 */}
S
{!isCollapsed && (
ShortURL Analytics
)}
{/* 导航菜单 */}
{navigation.map((item) => (
-
))}
{/* 底部折叠按钮 */}
);
}