fix: replace router.push with Link for static navigation in UserDropdown

Enables route prefetching and follows Next.js best practices.
Removes unused useRouter import.
This commit is contained in:
likiosliu 2026-03-26 11:49:45 +08:00
parent 0583ad5705
commit f7640671f3

View file

@ -1,7 +1,7 @@
"use client"; "use client";
import { BadgeCheck, LogOut } from "lucide-react"; import { BadgeCheck, LogOut } from "lucide-react";
import { useRouter } from "next/navigation"; import Link from "next/link";
import { useState } from "react"; import { useState } from "react";
import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
@ -27,7 +27,6 @@ export function UserDropdown({
avatar: string; avatar: string;
}; };
}) { }) {
const router = useRouter();
const [isLoggingOut, setIsLoggingOut] = useState(false); const [isLoggingOut, setIsLoggingOut] = useState(false);
const handleLogout = async () => { const handleLogout = async () => {
@ -75,12 +74,11 @@ export function UserDropdown({
</DropdownMenuLabel> </DropdownMenuLabel>
<DropdownMenuSeparator /> <DropdownMenuSeparator />
<DropdownMenuGroup> <DropdownMenuGroup>
<DropdownMenuItem <DropdownMenuItem asChild className="text-xs md:text-sm">
onClick={() => router.push(`/dashboard/api-key`)} <Link href="/dashboard/api-key">
className="text-xs md:text-sm" <BadgeCheck className="mr-2 h-3.5 w-3.5 md:h-4 md:w-4" />
> API Key
<BadgeCheck className="mr-2 h-3.5 w-3.5 md:h-4 md:w-4" /> </Link>
API Key
</DropdownMenuItem> </DropdownMenuItem>
</DropdownMenuGroup> </DropdownMenuGroup>
<DropdownMenuSeparator /> <DropdownMenuSeparator />