refactor(components): simplify BackButton by using TooltipButton

This commit is contained in:
cfngc4594 2025-05-13 17:38:26 +08:00
parent 2e74ffbac3
commit 9003e4b5a4
2 changed files with 11 additions and 28 deletions

View File

@ -1,14 +1,8 @@
import Link from "next/link";
import {
Tooltip,
TooltipContent,
TooltipProvider,
TooltipTrigger,
} from "@/components/ui/tooltip";
import { cn } from "@/lib/utils";
import { useTranslations } from "next-intl";
import { ArrowLeftIcon } from "lucide-react";
import { Button } from "@/components/ui/button";
import { TooltipButton } from "@/components/tooltip-button";
interface BackButtonProps {
href: string;
@ -19,23 +13,14 @@ export const BackButton = ({ href, className }: BackButtonProps) => {
const t = useTranslations();
return (
<TooltipProvider delayDuration={0}>
<Tooltip>
<TooltipTrigger asChild>
<Button
variant="ghost"
className={cn("h-8 w-auto p-2", className)}
asChild
>
<Link href={href}>
<ArrowLeftIcon size={16} aria-hidden="true" />
</Link>
</Button>
</TooltipTrigger>
<TooltipContent className="px-2 py-1 text-xs">
{t("BackButton")}
</TooltipContent>
</Tooltip>
</TooltipProvider>
<TooltipButton
tooltipContent={t("BackButton")}
className={cn("h-8 w-auto p-2", className)}
asChild
>
<Link href={href}>
<ArrowLeftIcon size={16} aria-hidden="true" />
</Link>
</TooltipButton>
);
};

View File

@ -14,7 +14,7 @@ interface TooltipButtonProps extends ButtonProps {
className?: string;
}
const TooltipButton = ({
export const TooltipButton = ({
children,
delayDuration = 0,
tooltipContent,
@ -43,5 +43,3 @@ const TooltipButton = ({
</TooltipProvider>
);
};
export { TooltipButton };