2025-06-26 20:12:55 +08:00

79 lines
2.6 KiB
TypeScript

"use client";
import { Button } from '@/components/ui/button';
import {
DropdownMenu,
DropdownMenuContent,
DropdownMenuItem,
DropdownMenuSeparator,
DropdownMenuTrigger,
} from '@/components/ui/dropdown-menu';
import { useTheme } from 'next-themes';
import {
Sun,
Moon,
User,
Settings,
LogOut,
Bell,
PanelsLeftBottom
} from 'lucide-react';
import { useRouter } from 'next/navigation';
export function TopBar({ collapsed, onToggleSidebar }: { collapsed: boolean; onToggleSidebar: () => void }) {
const { theme, setTheme } = useTheme();
const router = useRouter();
return (
<div className="fixed right-0 top-0 left-0 h-16">
<div className="h-full flex items-center justify-between pr-6 pl-2">
<div className="flex items-center space-x-4">
<Button className='button-NxtqWZ' variant="ghost" size="sm" onClick={onToggleSidebar}>
<PanelsLeftBottom className="h-4 w-4" />
</Button>
<div className={`flex items-center space-x-4 cursor-pointer`} onClick={() => router.push('/')}>
<h1 className="text-2xl font-bold bg-gradient-to-r from-primary to-white bg-clip-text text-transparent">Movie Flow</h1>
</div>
</div>
<div className="flex items-center space-x-4">
{/* Notifications */}
<Button variant="ghost" size="sm">
<Bell className="h-4 w-4" />
</Button>
{/* Theme Toggle */}
{/* <Button
variant="ghost"
size="sm"
onClick={() => setTheme(theme === 'dark' ? 'light' : 'dark')}
>
<Sun className="h-4 w-4 rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0" />
<Moon className="absolute h-4 w-4 rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100" />
</Button> */}
{/* User Menu */}
<DropdownMenu>
<DropdownMenuTrigger asChild>
<Button variant="ghost" size="sm">
<User className="h-4 w-4" />
<span className="ml-2">User</span>
</Button>
</DropdownMenuTrigger>
<DropdownMenuContent align="end">
<DropdownMenuItem>
<Settings className="mr-2 h-4 w-4" />
Settings
</DropdownMenuItem>
<DropdownMenuSeparator />
<DropdownMenuItem>
<LogOut className="mr-2 h-4 w-4" />
Log out
</DropdownMenuItem>
</DropdownMenuContent>
</DropdownMenu>
</div>
</div>
</div>
);
}